Prilagođavanje RepairDisk-a: Put ka LFS-u

Mnogo smo puta morali popraviti sistem sa LiveCD-a, a u nekom trenutku procesa našli smo se da nam nedostaje alat i kada ga želimo instalirati, LiveCD OS nam govori da mu je ponestalo prostora i beli luk i vodu (da se odjebu i zadrže).

Ovaj problem mi je stvarno pao zbog ulaska u LFS (LinuxFromScratch), što je vodič (NE distribucija sama) za instaliranje prilagođenog Linuxa. Poanta ove "distribucije" je u tome što s bilo kojeg LiveCD-a i uz odgovarajuće alate preuzimate kôd jezgre i druge alate za izgradnju vlastitog sistema (sve malo po malo). Ako želite slijediti detaljni vodič, trebate nekoliko alata i kompajlera, a sa svim ne postoji liveCD, pa ga morate prilagoditi.

Uradimo to. Koristit ćemo SystemRescueCD, koji nudi prilično sveobuhvatno okruženje zasnovano na Gentoo-u.

U našem primjeru (instaliranje Linuxa od nule prateći knjigu Linux From Scratch) nedostaju nam programi Bison i Makeinfo, pa ćemo stvoriti novu ISO sliku ovog diska, ali s novim alatima.

OBAVIJEST: Gentoo je distribucija koja se kompajlira na mjestu svi paketi koji se trebaju instalirati, stoga je postupak dodavanja i ažuriranja programa spor.

Iako se koristi upravitelj paketa (poput Debianovog apt-get), umjesto preuzimanja paketa, izvorni kod se preuzima da bi se kompajlirao na vašem računalu.

Za postupak će vam trebati Linux particija (na primjer ext4) s najmanje 1.5G besplatnog, iako se preporučuje više. Ako ne želite petljati po svojim particijama, iskoristite virtualnu mašinu. Naravno, poželjno je da particija ima nekoliko gigabajta, jer je tijekom procesa kompilacije, instalacije, sinhronizacije spremišta ... potreban privremeni prostor; Savjetujem upotrebu 8G + 2G swap particije (sa 4G + 1G to bi trebalo biti dovoljno, ali zato osiguravamo, ako RAM / swap nedostaje, postupak će biti još sporiji).

Pod pretpostavkom da ste kreirali virtualnu mašinu s 10G diskom, pokrećete je tako što ćete joj reći da se pokrene s novopreuzetog SystemRescueCd. Kad uđemo u particiju, koristimo fdisk (ako ste započeli grafičku sesiju, možete to učiniti pomoću gparteda, ali svrha ovog posta je naučiti upotrebu osnovnih alata). fdisk je interaktivna naredba:

  • s opcijom "n" kreiramo novu particiju
  • s opcijom "t" mijenjamo tip datotečnog sustava koji će ići u particiju
  • s opcijom «w» zapisujemo na disk
  • s opcijom «q» ostavljamo bez pisanja promjena

Kada upotrijebimo opciju "n", dat će nam nekoliko opcija, cijelo vrijeme koristit ćemo default, osim pri postavljanju posljednjeg sektora na prvoj particiji, koji ćemo morati napisati "+ 8G", čime ukazujemo programu da želimo našu particiju zauzimaju 8GB.

Prilikom stvaranja druge particije koristit ćemo zadane opcije jer će ostatak prostora biti zauzet. Također, da biste rekli fdisku da će druga particija biti tipa swap, koristite opciju "t" (hexcode za swap je 82). Sučelje izgleda ovako:

% fdisk / dev / sda naredba (m za pomoć):

Nakon što sve završimo, koristimo opciju "w" da napišemo promjene na disk i izađemo.
Sada je vrijeme za formatiranje particija. Započet ćemo sa zamjenom kako bismo je odmah iskoristili:

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

Već imamo formatiranu particiju swap i s naredbom Swapon počeli smo ga koristiti. Sada formatiramo prvu particiju u ext4:

% mkfs.ext4 /dev/sda1

Možemo početi slijediti korake opisane u http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, ovdje ih prevodim / opisujem sa neobičnom bilješkom.

Particiju montiramo na svoje mjesto (LiveCD već dolazi pripremljen s mapom / mnt / custom gdje particija u koju ćemo izvršiti odgovarajuće promjene mora biti montirana). Također nakon montiranja morat ćemo izdvojiti datoteke s diska, to se postiže skriptom koja je već pripremljena. Skripta će potrajati (budući da izbacuje stotine megabajta memorije), ako želite provjeriti radi li zapravo, idite na drugi terminal (na primjer s Alt + F4) i napravite df -h.

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

Ako sada navigirate unutar / mnt / custom / customcd, vidjet ćete nekoliko mapa. In / mnt / custom / customcd / files pronađen je korijenski sistem datoteka. Sada je vrijeme za chroot budućeg novog sistema. Ovdje ću staviti naredbe, za više informacija o chrootu možete vidjeti ovaj vodič sam napisao prije mjesec dana

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

Već smo u chrootiranom sistemu, koji će biti LiveCD sistem nakon što ga pokrenemo. Instalirat ćemo pakete koji nedostaju (bison i texinfo) pomoću naredbe nastaju (koji rukuje paketom kapija od gentoo).

Prvo sinhroniziramo stablo prijenosnika (ekvivalent apt-get update)
# emerge-webrsync NAPOMENA: ovu naredbu koristimo umjesto "emerge –sync", jer je brža, jer s weba preuzima tar paket. Ovaj korak je neophodan, jer ako se ne pojavi, automatski će se pojaviti –sinhronizacija, usporavajući ga.

Nakon sinhronizacije stabla portage možemo nastaviti s instaliranjem paketa:

# emerge sys-devel / bison # emerge sys-devel / texinfo
bizonu će trebati neko vrijeme da se sastavi, budite strpljivi

Ostavljamo chroot:# exit

Demontiramo "/ proc" tako da se novi instalirani paketi čuvaju u squashfs. Također demontiramo "/ dev" i "/ sys" kako ne bismo kasnije zaboravili
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Kako već imamo pripremljen novi sistem datoteka squash, kreiramo ga sljedećom naredbom
% /usr/sbin/sysresccd-custom squashfs
Ako želimo dodati datoteku u ISO sliku, ali želimo da bude izvan squashfs-a, moramo je staviti u mapu «/ mnt / custom / customcd / isoroot»

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

U ovom trenutku, službeni vodič vam govori da možete podesiti mapu tipki tako da se pokreće pomoću zadane tastature (na primjer "es" za španske tastature). Ali radeći nekoliko testova, skripta koju oni koriste za mene nije uspjela i rezultirala je greškom prilikom učitavanja kernela, pa ću preskočiti ovaj korak.

Slavni trenutak je stigao, sada možemo generirati novu ISO sliku s našim prilagođenim sistemom!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" je ime koje dajemo volumenu, možete ga zvati kako god želite. Slika se sprema u «/ mnt / custom / customcd / isofile», uz to se generira i .md5 datoteka 🙂

Ako radite na virtualnom disku, presudan korak ostaje: izvucite ISO sliku virtualnog sistema. Postoji nekoliko načina da se to učini, objasniti ću jednostavan (u VirtualBoxu) kako ne bi bilo potrebno instalirati "dodatke za goste" ili nešto slično.
Klijent ćemo koristiti za dobivanje datoteke kroz ssh tunel. Da bismo to učinili, prvo moramo konfigurirati sistem gostiju s root lozinkom. Ssh server se automatski pokreće, mi ga i dalje ponovo pokrećemo za svaki slučaj.
% passwd
% /etc/init.d/sshd restart

Moramo konfigurirati prosljeđivanje porta virtualne mašine. U VirtualBoxu se to radi na sljedeći način:

  1. Pristupite konfiguraciji virtualne mašine
  2. U odjeljku mreže već ste konfigurirali adapter u NAT-u
  3. Potražite opciju prosljeđivanja porta
  4. Dodajete novo pravilo, s jedinim parametrima "host port" i "guest port"
  5. domaćin = 3022 i gost = 22

Ovim smo postigli da je port 3022 našeg računara 22 virtualne mašine. Pokrećemo Filezilla klijent:

  1. U parametar poslužitelja upisujemo: sftp: // localhost
  2. U parametar korisničko ime upisujemo: root
  3. U parametar lozinke stavljamo onu koju koristimo u «passwd»
  4. U parametar porta upisujemo: 3022
  5. Kliknite na «Brza veza»

Ako je sve krenulo lijevo, možemo se kretati po računaru i desno u virtualnoj mašini. Sve što morate učiniti je pristupiti (na virtualnoj mašini) direktorijumu "/ mnt / custom / customcd / isofile" i povući ISO sliku na željeno mjesto na računaru.

!! Cestitam !! Ako je sve prošlo u redu, pripremite ISO sliku sa prilagođenim SystemRescueCD i spremnu za pokretanje sa CD-a, USB-a ...


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Lav rekao je

    Kakav dobar vodič, pomalo kompliciran, ali vrlo koristan.
    Dobar doprinos.

  2.   Leper_Ivan rekao je

    Tada ću s malo više vremena, i bez toliko nelagode u očima, temeljito pročitati. Djeluje vrlo korisno i zanimljivo.

  3.   carlos sanchez rekao je

    Pozdrav woqer, jako dobar post!

    S LFS-om sam nekoliko godina i stvorio sam vlastiti iso koji se može koristiti za vas, ima sve što je potrebno za kompajliranje jer je LFS. 😀 Nadam se da će vam biti od koristi

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