Tilpasning af en RepairDisk: Vejen til LFS

Mange er de gange, vi har været nødt til at reparere et system fra en LiveCD, og ​​på et eller andet tidspunkt i processen har vi fundet os mangler et værktøj, og når vi vil installere det, fortæller LiveCD OS os, at det er løbet tør for plads og hvidløg og vand (for at kneppe og holde fast).

Dette problem er virkelig kommet til mig på grund af at gå ind i LFS (LinuxFromScratch), som er en guide (IKKE en distribution i sig selv) til installation af en brugerdefineret Linux. Pointen med denne "distribution" er, at fra enhver LiveCD og med de relevante værktøjer downloader du kernekoden og andre værktøjer til at opbygge dit eget system (kompilere alt lidt efter lidt). Hvis du vil følge den trinvise vejledning, har du brug for flere værktøjer og kompilatorer, og der er ingen liveCD med alt, så du skal tilpasse en.

Lad os gøre det. Vi bruger System Rescue CD, som tilbyder et ret omfattende Gentoo-baseret miljø.

I vores eksempel (installation af en Linux fra bunden efter Linux From Scratch-bogen) mangler vi Bison- og Makeinfo-programmerne, så vi vil oprette et nyt ISO-billede af denne disk, men med de nye værktøjer.

BEMÆRKNING: Gentoo er en distribution, der kompileres on-site alle pakker skal installeres, derfor er processen med at tilføje og opdatere programmer langsom.

Selvom der bruges en pakkehåndtering (som Debians apt-get), downloades kildekoden i stedet for at downloade pakker for at kompilere den på din maskine.

Til processen skal du bruge en Linux-partition (f.eks. Ext4) med mindst 1.5 G fri, selvom mere anbefales. Hvis du ikke vil rode med dine partitioner, skal du bruge en virtuel maskine. Det er selvfølgelig tilrådeligt, at partitionen har flere gigabyte, da der under processerne med kompilering, installation, synkronisering af opbevaringssteder ... er behov for midlertidig plads; Jeg anbefaler at bruge en 8G + 2G swap-partition (med 4G + 1G skal det være nok, men så vi sikrer, at hvis RAM / swap mangler, vil processen blive endnu langsommere).

Forudsat at du har oprettet en virtuel maskine med en 10G-disk, starter du den med at fortælle den at starte fra det nyligt downloadede SystemRescueCd. Når vi er inde, skiller vi os med fdisk (hvis du har startet den grafiske session, kan du gøre det med gparted, men formålet med dette indlæg er at lære brugen af ​​grundlæggende værktøjer). fdisk er en interaktiv kommando:

  • med indstillingen "n" opretter vi en ny partition
  • med indstillingen "t" ændrer vi typen af ​​filsystem, der skal gå i partitionen
  • med indstillingen «w» skriver vi til disken
  • med indstillingen «q» forlader vi uden at skrive ændringerne

Når vi bruger "n" -muligheden, vil det give os flere muligheder, hele tiden bruger vi standard, undtagen når vi indstiller den sidste sektor i den første partition, som vi bliver nødt til at skrive "+ 8G", hvilket indikerer for programmet at vi ønsker, at vores partition optager 8 GB.

Når du opretter den anden partition, bruger vi standardindstillingerne, da resten af ​​rummet bliver optaget. Også for at fortælle fdisk, at den anden partition vil være af typen swap, skal du bruge indstillingen "t" (hexkoden for swap er 82). Interfacet ser sådan ud:

% fdisk / dev / sda Kommando (m for hjælp):

Når alt er gjort, bruger vi indstillingen "w" til at skrive ændringerne til disken og afslutte.
Nu er det tid til at formatere partitionerne. Vi starter med swap for at gøre brug af det med det samme:

% mkswap / dev / sda2% swapon / dev / sda2

Vi har allerede swap-partitionen formateret og med kommandoen bytte vi er begyndt at bruge det. Nu formaterer vi den første partition i ext4:

% mkfs.ext4 /dev/sda1

Vi kan begynde at følge de trin, der er beskrevet i http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, her oversætter / beskriver jeg dem med den ulige kommentar.

Vi monterer partitionen på sin plads (LiveCD leveres allerede forberedt med en mappe / mnt / brugerdefineret, hvor den partition, hvor vi foretager de relevante ændringer, skal monteres). Også efter montering skal vi udtrække filerne fra disken, dette opnås med et script, der allerede er forberedt. Scriptet tager et stykke tid (da det dumper hundredvis af megabyte hukommelse), hvis du vil kontrollere, om det rent faktisk fungerer, skal du gå til en anden terminal (f.eks. Med Alt + F4) og lave en df -h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom ekstrakt

Hvis du nu navigerer indenfor / mnt / brugerdefineret / customcd, vil du se flere mapper. I / mnt / brugerdefineret / customcd / filer rodfilsystemet findes. Nu er det tid til at skære det fremtidige nye system. Her vil jeg lægge kommandoerne, for mere information om chroot kan du se på denne tutorial skrev jeg for en måned siden

% 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)

Vi er allerede i det rodede system, som vil være LiveCD-systemet, når vi starter det. Vi installerer de manglende pakker (bison og texinfo) ved hjælp af kommandoen emerge (der håndterer pakken med portage fra gentoo).

Først synkroniserer vi portagetræet (svarende til apt-get update)
# emerge-webrsync BEMÆRK: vi bruger denne kommando i stedet for "emerge –sync", fordi den er hurtigere, da den downloader en tjærepakke fra internettet. Dette trin er nødvendigt, fordi hvis det ikke kommer frem, vil det automatisk dukke op –synkronisere og sænke farten.

Efter synkronisering af portagetræet kan vi fortsætte med at installere pakkerne:

# emerge sys-devel / bison # emerge sys-devel / texinfo
bison vil tage et stykke tid at kompilere, være tålmodig

Vi efterlader chroot:# exit

Vi afmonterer "/ proc", så de nye installerede pakker gemmes i squashfs. Vi afmonterer også "/ dev" og "/ sys", så vi ikke glemmer det senere
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Da vi allerede har forberedt det nye squash-filsystem, opretter vi det med følgende kommando
% /usr/sbin/sysresccd-custom squashfs
Hvis vi vil tilføje en fil til ISO-billedet, men vi vil have den uden for squashfs, skal vi placere den i mappen «/ mnt / custom / customcd / isoroot»

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

På dette tidspunkt fortæller den officielle guide dig, at du kan indstille nøglekortet til at starte med et standardtastatur (for eksempel "es" til spanske tastaturer). Men når jeg laver flere tests, har det script, de bruger til mig, ikke fungeret, og det resulterede i en fejl under indlæsning af kernen, så jeg springer dette trin over.

Det strålende øjeblik er ankommet, vi kan nu generere det nye ISO-billede med vores tilpassede system!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" er det navn, vi giver lydstyrken, du kan kalde det, hvad du vil. Billedet gemmes i «/ mnt / custom / customcd / isofile», derudover genereres der også en .md5-fil 🙂

Hvis du arbejder på en virtuel disk, forbliver det afgørende trin: udpak ISO-billedet af det virtuelle system. Der er flere måder at gøre det på, jeg vil forklare en simpel (i VirtualBox) for at undgå at skulle installere "gæstetilføjelser" eller noget lignende.
Vi bruger klienten til at hente filen gennem en ssh-tunnel. For at gøre dette skal vi først konfigurere gæstesystemet med en root-adgangskode. Ssh-serveren starter automatisk, vi genstarter den stadig bare i tilfælde af.
% passwd
% /etc/init.d/sshd restart

Vi er nødt til at konfigurere portvideresendelse af den virtuelle maskine. I VirtualBox gøres det som følger:

  1. Du får adgang til konfigurationen af ​​den virtuelle maskine
  2. I netværkssektionen har du allerede konfigureret en adapter i NAT
  3. Se efter portvideresendelsesmuligheden
  4. Du tilføjer en ny regel med de eneste parametre "værtport" og "gæsteport"
  5. vært = 3022 og gæst = 22

Med dette har vi opnået, at port 3022 på vores pc er 22 på den virtuelle maskine. Vi starter Filezilla-klienten:

  1. I serverparameteren skriver vi: sftp: // localhost
  2. I brugernavnparameteren skriver vi: root
  3. I adgangskodeparameteren lægger vi den, vi bruger i «passwd»
  4. I portparameteren skriver vi: 3022
  5. Klik på «Hurtig forbindelse»

Hvis alt er gået godt til venstre, kan vi navigere på vores pc og til højre i den virtuelle maskine. Det er nok at få adgang til (i den virtuelle maskine) mappen «/ mnt / custom / customcd / isofile» og trække ISO-billedet til det sted, vi ønsker på vores pc.

!! Tillykke!! Hvis alt gik godt, har du dit ISO-billede klar med et tilpasset SystemRescueCD og klar til at starte fra en CD, USB ...


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Leo sagde han

    Hvilken god guide, noget kompliceret, men meget nyttig.
    Godt bidrag.

  2.   Leper_Ivan sagde han

    Så med lidt mere tid og uden så meget ubehag i øjnene, læser jeg det grundigt. Det virker meget nyttigt og interessant ..

  3.   carlos sanchez sagde han

    Hej woqer, meget godt indlæg!

    Jeg har været hos LFS i nogle år, og jeg har oprettet min egen iso, der kan bruges til dig, den har alt hvad du behøver at kompilere, da det er en LFS. Hope Jeg håber, det er nyttigt for dig

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