Prilagođavanje RepairDisk: Put do LFS-a

Mnogo smo puta morali popraviti sustav s LiveCD-a, a u nekom trenutku procesa našli smo se da nam nedostaje alat i kad ga želimo instalirati, OS LiveCD nam govori da je ponestalo prostora, češnjaka i vode ( odjebati i držati).

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 s odgovarajućim alatima preuzimate kôd jezgre i druge alate za izgradnju vlastitog sustava (sve malo po malo). Ako želite slijediti detaljni vodič, trebate nekoliko alata i kompajlera, a ne postoji liveCD sa svime, pa ga morate prilagoditi.

Učinimo to. Koristit ćemo SystemRescueCD, koji nudi prilično sveobuhvatno okruženje temeljeno 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 licu mjesta 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 kako bi se kompajlirao na vašem računalu.

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

Pod pretpostavkom da ste kreirali virtualni stroj s 10G diskom, pokrećete ga naređujući mu da se pokrene s nedavno preuzetog SystemRescueCd. Kad uđemo u particiju s fdiskom (ako ste započeli grafičku sesiju, to možete učiniti s gparted, ali svrha ovog posta je podučiti korištenju osnovnih alata). fdisk je interaktivna naredba:

  • s opcijom "n" kreiramo novu particiju
  • s opcijom "t" mijenjamo vrstu 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 mogućnosti, cijelo vrijeme ćemo koristiti zadane, osim pri postavljanju zadnjeg sektora na prvoj particiji, koji ćemo morati napisati "+ 8G", čime program ukazuje na to da želimo našu particiju zauzimaju 8 GB.

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, upotrijebite opciju "t" (hexcode za swap je 82). Sučelje izgleda ovako:

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

Nakon što sve završimo, koristimo opciju "w" da zapiš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 uz naredbu 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 s neobičnom bilješkom.

Particiju montiramo na svoje mjesto (LiveCD već dolazi pripremljen s mapom / mnt / custom gdje mora biti montirana particija u koju ćemo izvršiti odgovarajuće promjene). Također nakon montiranja morat ćemo izdvojiti datoteke s diska, to se postiže već pripremljenom skriptom. 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. U / mnt / custom / customcd / files pronađen je korijenski datotečni sustav. Sada je vrijeme za chroot budućeg novog sustava. 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 sustavu, koji će biti LiveCD sustav nakon što ga pokrenemo. Instalirat ćemo pakete koji nedostaju (bison i texinfo) pomoću naredbe rađati (koji rukuje paketom prevoženje od gentoo).

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

Nakon sinkronizacije stabla prijenosnika možemo nastaviti s instaliranjem paketa:

# emerge sys-devel / bizon # emerge sys-devel / texinfo
bizonu će trebati neko vrijeme da se sastavi, strpite se

Ostavljamo chroot:# exit

Demontiramo "/ proc" tako da se novi instalirani paketi pohranjuju 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 sustav datoteka squash, kreiramo ga sljedećom naredbom
% /usr/sbin/sysresccd-custom squashfs
Ako želimo dodati datoteku u ISO sliku, ali želimo da bude izvan squashfova, moramo je staviti u mapu «/ mnt / custom / customcd / isoroot»

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

U ovom trenutku službeni vodič govori vam da možete postaviti mapu tipki za pokretanje pomoću zadane tipkovnice (na primjer "es" za španjolske tipkovnice). No, radeći nekoliko testova, skripta koju oni koriste za mene nije uspjela i rezultirala je pogreškom prilikom učitavanja jezgre, pa ću preskočiti ovaj korak.

Sjajni trenutak je stigao, sada možemo generirati novu ISO sliku s našim prilagođenim sustavom!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" je naziv koji 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 sustava. Postoji nekoliko načina kako to učiniti, objasnit ću vam jednostavan (u VirtualBoxu) kako biste izbjegli instaliranje "dodataka za goste" ili slično.
Klijent ćemo upotrijebiti za dobivanje datoteke kroz ssh tunel. Da bismo to učinili, prvo moramo konfigurirati gostujući sustav s root lozinkom. Ssh poslužitelj automatski se pokreće, mi ga i dalje ponovno pokrećemo za svaki slučaj.
% passwd
% /etc/init.d/sshd restart

Moramo konfigurirati prosljeđivanje porta virtualnog stroja. U VirtualBoxu se to radi na sljedeći način:

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

Ovim smo postigli da port 3022 našeg računala predstavlja 22 virtualnog stroja. Pokrećemo klijent Filezilla:

  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 zapisujemo: 3022
  5. Kliknite «Brza veza»

Ako je sve prošlo ulijevo, možemo se kretati na računalu i udesno u virtualnom stroju. Dovoljno je pristupiti (na virtualnom stroju) mapi «/ mnt / custom / customcd / isofile» i povući ISO sliku na mjesto koje želimo na našem računalu.

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


3 komentara, ostavi svoj

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Lav dijo

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

  2.   Leper_Ivan dijo

    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 dijo

    Pozdrav woqer, jako dobar post!

    S LFS-om sam nekoliko godina i stvorio sam vlastiti iso koji vam može poslužiti, on 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