Personalitzar XNUMX:XNUMX RepairDisk: el camí cap a LFS

Moltes són les vegades que hem hagut de reparar un sistema des d'un CD autònom, i en algun punt de l'procés ens hem vist mancats d'alguna eina i a l'voler instal·lar-la, el SO de el CD autònom ens diu que s'ha quedat sense espai i all i aigua ( a fotre i aguantar-).

Aquest problema realment m'ha vingut a causa de endinsar-me en LFS (LinuxFromScratch), Que és una guia (NO una distribució pròpiament dita) per instal·lar-se un Linux personalitzat. El punt d'aquesta «distribució» és que des de qualsevol LiveCD, i amb les eines adequades, et baixis el codi de l'nucli i altres eines per muntar-te el teu propi sistema (compilant tot a poc a poc). Si es vol seguir la guia pas a pas fan falta diverses eines i compiladors, i no hi ha cap liveCD amb tot, així que toca personalitzar un.

Doncs mans a l'obra. Farem servir el SystemRescueCd, Que ofereix un entorn bastant complet basat en Gentoo.

En el nostre exemple (instal·lar un Linux des de zero seguint el llibre Linux From Scratch) ens falten els programes Bison i makeinfo, així que crearem una nova imatge ISO d'aquest disc però amb les noves eines.

AVÍS: Gentoo és una distribució que compila in situ tots els paquets que es desitja instal·lar, per tant el procés d'afegir i actualitzar programes és lent.

Tot i que es fa servir un administrador de paquets (com el apt-get de Debian), en comptes de baixar-se paquets es descarrega el codi font per compilar al seu equip.

Per al procés es necessitarà una partició Linux (ext4 per exemple) amb al menys 1.5G lliures, encara que s'aconsella més. Si no voleu toquejar les vostres particions, feu ús d'una màquina virtual. Això sí, és aconsellable que la partició tingui diversos gigues ja que durant els processos de compilació, instal·lació, sincronització de repositoris ... es necessita espai temporal; aconsello utilitzar una partició de 8G + swap de 2G (amb 4G + 1G hauria de ser suficient, però així assegurem, si falta RAM / swap el procés serà encara més lent).

Suposant que heu creat una màquina virtual amb un disc de 10G, la inicieu dient-li que arrenqui des del SystemRescueCd recentment baixat. Un cop dins particionamos amb fdisk (si heu iniciat la sessió gràfica podeu fer-ho amb gparted, però el propòsit d'aquest post és ensenyar l'ús d'eines bàsiques). fdisk és una ordre interactiu:

  • amb l'opció «n» vam crear una nova partició
  • amb l'opció «t» canviem el tipus de sistema de fitxers que anirà en la partició
  • amb l'opció «w» escrivim en el disc
  • amb l'opció «q» sortim sense escriure els canvis

Quan fem servir l'opció «n» ens donarà diverses opcions, tot el temps farem servir default, excepte a l'hora d'establir l'últim sector a la primera partició, que haurem d'escriure «+ 8G», indicant-li així a el programa que volem que la nostra partició ocupi 8GB.

A l'hora de crear la segona partició farem servir les opcions per defecte ja que la resta de l'espai serà ocupat. A més per indicar-li a fdisk que la segona partició serà de tipus swap, cal usar l'opció «t» (el hexcode per swap és 82). La interfície té aquesta pinta:

% Fdisk / dev / sda Ordre (m per a obtenir ajuda):

Un cop acabat tot, fem servir l'opció «w» per escriure els canvis al disc i sortir.
Ara toca formatar les particions. Començarem per la swap per així fer ús d'ella immediatament:

% Mkswap / dev / sda2% swapon / dev / sda2

Ja tenim formatada la partició swap, i amb la comanda intercanviar hem començat a usar-la. Ara formatem a ext4 la primera partició:

% mkfs.ext4 /dev/sda1

Podem començar a seguir els passos descrits en http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, Aquí els tradueixo / descric amb alguna que una altra anotació.

Vam muntar la partició en el seu lloc (el CD autònom ja ve preparat amb una carpeta / mnt / custom on haurà muntar la partició en la qual farem els canvis oportuns). A més després de muntar haurem extreure els arxius del disc, això s'aconsegueix amb un script que ja ve preparat. L'script trigarà una mica (ja que bolca centenars de megues de memòria), si voleu comprovar que efectivament està funcionant, passar-se a una altra terminal (amb Alt + F4 per exemple) i feu un df-h.

% Mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extract

Si ara navegues dins / Mnt / custom / customcd, Veuràs diverses carpetes. en / Mnt / custom / customcd / files es troba el sistema de fitxers arrel. Ara toca chrootear el futur nou sistema. Aquí posaré les ordres, per a més informació sobre chroot podeu mirar aquest tutorial que vaig escriure fa un mes

% Mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

Ja som al sistema chrooteado, el que serà el sistema de el CD autònom un cop el booteemos. Instal·larem els paquets que falten (bison i texinfo) utilitzant la comanda emergir (Que fa servir la paqueteria de portatge de gentoo).

Primer sincronitzem l'arbre de portage (l'equivalent a apt-get update)
# emerge-webrsync NOTA: fem servir aquesta comanda en lloc de «emergeix -sync» per ser més ràpid, ja que descarrega un paquet tar del web. És necessari aquest pas, perquè si no emergeix ho farà automàticament amb emergeix -sync, fent-se més lent.

Després de sincronitzar el portage tree ja podem procedir a instal·lar els paquets:

# Emergeix sys-devel / bison # emergeix sys-devel / texinfo
bison trigarà una estona a compilar, sigueu pacients

Sortim de chroot:# exit

Desmuntem «/ proc» perquè els nous paquets instal·lats s'emmagatzemin en el squashfs. També desmuntem «/ dev» i «/ sys» perquè no se'ns oblidi després
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Com ja tenim el nou esquaix file system preparat, el creem amb la següent comanda
% /usr/sbin/sysresccd-custom squashfs
Si volem afegir algun arxiu en la imatge ISO però volem que estigui fora de l'squashfs, hem de ficar-lo a la carpeta '/ mnt / custom / customcd / isoroot »

% cp -a my-files /mnt/custom/customcd/isoroot

En aquest punt, la guia oficial et diu que pots establir el keymap per arrencar amb un teclat predeterminat (per exemple «és» per teclats espanyols). Però fent diverses proves, l'script que fan servir a mi no m'ha funcionat i em resultava en un error a l'hora de carregar el nucli, així que em saltaré aquest pas.

Va arribar el moment gloriós, ja podem generar la nova imatge ISO amb el nostre sistema customitzat!
% /usr/sbin/sysresccd-custom isogen my_srcd
«My_srcd» és el nom que li donem a l'volum, podeu digueu-li com vulgueu. La imatge queda guardada a «/ mnt / custom / customcd / isofile», a més també es genera un arxiu .md5 🙂

Si esteu treballant en un disc virtual, queda el pas crucial: extreure la imatge ISO de sistema virtual. Hi ha diverses formes de fer-ho, jo us explicaré una senzilla (en VirtualBox) per no haver d'instal·lar «guest additions» ni res per l'estil.
Farem servir el client de per a descarregar el fitxer a través d'un túnel ssh. Per això primer hem de configurar el sistema convidat amb una contrasenya. El servidor ssh s'inicia automàticament, encara així ho reiniciem per si de cas.
% passwd
% /etc/init.d/sshd restart

Ens toca configurar el port forwarding de la màquina virtual. En VirtualBox es fa de la següent manera:

  1. Accediu a la configuració de la màquina virtual
  2. En l'apartat de xarxa teniu ja configurat un adaptador a NAT
  3. Busqueu l'opció de reenviament de ports
  4. Agregáis una nova regla, amb els únics paràmetres de «port amfitrió» i «port convidat»
  5. amfitrió = 3022 i convidat = 22

Amb això hem aconseguit que el port 3022 del nostre PC sigui el 22 de la màquina virtual. Iniciem el client de Filezilla:

  1. En el paràmetre servidor vam escriure: sftp: // localhost
  2. En el paràmetre nom d'usuari escrivim: root
  3. En el paràmetre contrasenya fiquem la que fem servir en «passwd»
  4. En el paràmetre port escrivim: 3022
  5. Click a «Connexió ràpida»

Si tot ha anat bé a l'esquerra podrem navegar en el nostre PC ia la dreta a la màquina virtual. Només cal accedir (a la màquina virtual) a la carpeta "/ mnt / custom / customcd / isofile» i arrossegar la imatge ISO a el lloc que desitgem en el nostre PC.

Enhorabona! Si tot ha anat bé ja tens a punt la teva imatge ISO amb un SystemRescueCd personalitzat i llest per bootear des d'un CD, USB ...


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Lleó va dir

    Que bona guia, una mica complicada però molt útil.
    Bona aportació.

  2.   Leproso_Ivan va dir

    Després amb una mica més de temps, i sense tanta molèstia als ulls, el llegiré a fons. Sembla molt útil, i per altre interessant ..

  3.   Carlos Sánchez va dir

    Hola woqer, molt bon post!

    porto alguns anys amb LFS i m'he creat la meva pròpia iso que et pot servir, té tot el necessari per compilar ja que és un LFS. 😀 espere et sigui d'utilitat

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso