Prilagajanje popravljalnega diska: pot do LFS

Velikokrat smo morali popraviti sistem iz LiveCD-a in na neki točki postopka smo se znašli v pomanjkanju orodja in ko ga želimo namestiti, nam OS LiveCD pove, da mu je zmanjkalo prostora in česen in voda (da se zajebeta in držiš).

Ta težava se mi je resnično pojavila zaradi vstopa v LFS (LinuxFromScratch), ki je vodnik (NE distribucija sama) za namestitev Linuxa po meri. Bistvo te "distribucije" je, da s katerega koli LiveCD-a in z ustreznimi orodji prenesete kodo jedra in druga orodja za izdelavo lastnega sistema (vse sestavljate po malem). Če želite slediti navodilom po korakih, potrebujete več orodij in prevajalnikov, liveCD pa ni z vsem, zato ga morate prilagoditi.

Naredimo to. Uporabili bomo SystemRescueCD, ki ponuja dokaj obsežno okolje, ki temelji na Gentoo-u.

V našem primeru (namestitev Linuxa iz nič po knjigi Linux From Scratch) manjkata programa Bison in Makeinfo, zato bomo ustvarili novo ISO podobo tega diska, vendar z novimi orodji.

OBVESTILO: Gentoo je distribucija, ki se prevaja situ namestite vse pakete, zato je postopek dodajanja in posodabljanja programov počasen.

Čeprav se uporablja upravitelj paketov (na primer Debianova apt-get), se namesto prenosa paketov prenese izvorna koda, ki jo zbere na vašem računalniku.

Za postopek boste potrebovali particijo Linuxa (na primer ext4) z vsaj 1.5G brezplačno, čeprav je priporočljivo več. Če se ne želite ukvarjati s svojimi particijami, uporabite navidezni stroj. Seveda je priporočljivo, da ima particija več koncertov, saj je med prevajanjem, namestitvijo, sinhronizacijo repozitorijev ... potreben začasni prostor; Svetujem uporabo swap particije 8G + 2G (pri 4G + 1G bi moralo biti dovolj, vendar tako zagotavljamo, če bo manjkal RAM / swap, bo postopek še počasnejši)

Ob predpostavki, da ste ustvarili navidezni stroj z 10G diskom, ga zaženete tako, da mu naročite, naj se zažene iz na novo prenesenega SystemRescueCd. Ko v notranjosti razdelimo particijo s fdisk (če ste začeli grafično sejo, lahko to storite z gparted, vendar je namen te objave naučiti uporabo osnovnih orodij). fdisk je interaktivni ukaz:

  • z možnostjo "n" ustvarimo novo particijo
  • z možnostjo "t" spremenimo vrsto datotečnega sistema, ki bo šel v particijo
  • z možnostjo «w» zapišemo na disk
  • z možnostjo «q» zapustimo brez pisanja sprememb

Ko uporabimo možnost "n", nam bo dalo več možnosti, ves čas pa bomo uporabljali privzeto, razen pri nastavljanju zadnjega sektorja na prvi particiji, ki ga bomo morali napisati "+ 8G", s čimer bomo programu pokazali da želimo, da naša particija zaseda 8 GB.

Pri ustvarjanju druge particije bomo uporabili privzete možnosti, saj bo preostali prostor zaseden. Če želite fdisku sporočiti, da bo druga particija swap, uporabite možnost "t" (hexcode za swap je 82). Vmesnik je videti tako:

Ukaz% fdisk / dev / sda (m za pomoč):

Ko je vse končano, uporabimo možnost "w", da zapišemo spremembe na disk in zapremo.
Zdaj je čas za formatiranje particij. Začeli bomo z zamenjavo, da jo bomo takoj izkoristili:

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

Že imamo formatirano particijo swap in z ukazom zamenjava začeli smo ga uporabljati. Zdaj formatiramo prvo particijo v ext4:

% mkfs.ext4 /dev/sda1

Začnemo lahko slediti korakom, opisanim v http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, tukaj jih prevedem / opišem z nenavadnimi pripisi.

Razdelek namestimo na svoje mesto (LiveCD je že pripravljen z mapo / mnt / custom, kamor mora biti nameščena particija, v kateri bomo izvedli ustrezne spremembe). Tudi po namestitvi bomo morali datoteke izvleči z diska, kar dosežemo z že pripravljenim skriptom. Skript bo trajal nekaj časa (ker izpusti na stotine megabajtov pomnilnika), če želite preveriti, ali dejansko deluje, pojdite na drug terminal (na primer z Alt + F4) in naredite df -h.

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

Če zdaj krmarite znotraj / mnt / custom / customcd, boste videli več map. V / mnt / custom / customcd / files najden je korenski datotečni sistem. Zdaj je čas, da predstavimo prihodnji novi sistem. Tukaj bom dal ukaze, za več informacij o chrootu pa si lahko ogledate to vadnico, ki sem jo napisal pred mesecem dni

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

Smo že v chrootiranem sistemu, ki bo po zagonu sistem LiveCD. Manjkajoče pakete (bison in texinfo) bomo namestili z ukazom pojavljajo (ki obdeluje paket z portaža od gentoo).

Najprej sinhroniziramo prenosno drevo (enakovredno Apt-get update)
# emerge-webrsync OPOMBA: ta ukaz uporabljamo namesto "emerge –sync", ker je hitrejši, saj s spleta prenese paket tar. Ta korak je nujen, ker če se ne pojavi, se bo samodejno pojavil –sinhronizacija in upočasnitev.

Po sinhronizaciji prenosnega drevesa lahko nadaljujemo z namestitvijo paketov:

# emerge sys-devel / bison # emerge sys-devel / texinfo
bizon bo sestavil nekaj časa, bodite potrpežljivi

Pustimo chroot:# exit

Demontiramo "/ proc", tako da se novi nameščeni paketi shranijo v squashfs. Odpenjamo tudi "/ dev" in "/ sys", da pozneje ne pozabimo
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Ker imamo že pripravljen nov datotečni sistem squash, ga ustvarimo z naslednjim ukazom
% /usr/sbin/sysresccd-custom squashfs
Če želimo datoteko dodati na sliko ISO, vendar želimo, da je zunaj squashfs, jo moramo shraniti v mapo «/ mnt / custom / customcd / isoroot»

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

Na tem mestu vam uradni vodnik sporoča, da lahko nastavite zagon tipkovnice s privzeto tipkovnico (na primer "es" za španske tipkovnice). Toda pri več preizkusih skript, ki so ga uporabili zame, ni deloval in je povzročil napako pri nalaganju jedra, zato bom ta korak preskočil.

Prišel je veličasten trenutek, zdaj lahko z našim prilagojenim sistemom ustvarimo novo sliko ISO!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" je ime, ki ga damo nosilcu, lahko ga pokličete, kakor želite. Slika se shrani v «/ mnt / custom / customcd / isofile», poleg tega se ustvari tudi datoteka .md5 🙂

Če delate na navideznem disku, ostaja ključni korak: izvlecite sliko ISO navideznega sistema. To lahko storite na več načinov, razložil vam bom preprostega (v VirtualBoxu), da se izognem namestitvi "dodatkov za goste" ali česar koli podobnega.
Odjemalca bomo uporabili za pridobitev datoteke skozi ssh tunel. Če želite to narediti, moramo najprej konfigurirati sistem gostov s korenskim geslom. Strežnik ssh se samodejno zažene, kljub temu ga znova zaženemo.
% passwd
% /etc/init.d/sshd restart

Konfigurirati moramo posredovanje vrat navideznega stroja. V VirtualBoxu se to naredi na naslednji način:

  1. Dostopite do konfiguracije navideznega stroja
  2. V razdelku o omrežju ste že konfigurirali vmesnik v NAT
  3. Poiščite možnost posredovanja vrat
  4. Dodate novo pravilo z edinima parametroma "vrata gostitelja" in "vrata gosta"
  5. gostitelj = 3022 in gost = 22

S tem smo dosegli, da je vrata 3022 našega računalnika 22 navideznega stroja. Zaženemo odjemalca Filezilla:

  1. V parameter strežnika zapišemo: sftp: // localhost
  2. V parameter uporabniškega imena pišemo: root
  3. V parameter gesla vnesemo tisto, ki ga uporabljamo v «passwd»
  4. V parameter vrat zapišemo: 3022
  5. Kliknite «Hitra povezava»

Če je šlo vse v levo, lahko krmilimo po svojem računalniku in po desni v navideznem računalniku. Dovolj je, da dostopate (v navideznem računalniku) do mape «/ mnt / custom / customcd / isofile» in povlečete sliko ISO na želeno mesto na našem računalniku.

!! čestitke !! Če je šlo vse v redu, imate pripravljeno sliko ISO s prilagojenim SystemRescueCD in pripravljeno za zagon s CD-ja, USB-ja ...


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Leo je dejal

    Kako dober vodnik, nekoliko zapleten, a zelo koristen.
    Dober prispevek.

  2.   Leper_Ivan je dejal

    Nato z malo več časa in brez toliko nelagodja v očeh, ga bom temeljito prebrala. Zdi se zelo koristno in zanimivo ..

  3.   carlos sanchez je dejal

    Pozdravljeni woqer, zelo dobra objava!

    Že nekaj let sodelujem z LFS in ustvaril sem svoj iso, ki vam lahko pomaga, saj vsebuje vse, kar potrebujete za sestavljanje, saj je LFS. Upam, da je koristno za vas

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