booty - uslužni program za kreiranje boot slika i pogona

Program predstavljen plijen, koji vam omogućava da kreirate initrd slike, ISO datoteke ili diskove koji sadrže bilo koju GNU/Linux distribuciju jednom komandom. Kod je napisan u POSIX ljusci i distribuira licenciran pod GPLv3.

Sve distribucije koje se dižu koristeći Booty pokreću ili SHMFS (tmpfs) ili SquashFS + Overlay FS, po izboru korisnika. Distribucija se kreira jednom, a tokom procesa pokretanja biraju se parametri koji vam omogućavaju da koristite čisti tmpfs za root, ili kombinaciju Overlay FS + SquashFS sa snimanjem promjena u tmpfs. Moguće je unaprijed kopirati distribucijski komplet koji se može preuzeti u RAM, što vam omogućava da isključite USB disk nakon preuzimanja i kopiranja distributivnog kompleta u memoriju.

Pre svega, Booty generiše sopstvenu initrd sliku, koja može da koristi izvorne uslužne programe iz trenutnog sistema ili busybox-a. Moguće je uključiti (pakirati) cijeli distribucijski komplet instaliran u direktoriju (chroot) u initramfs. Ovo može biti korisno kada trebate nadograditi sistem koristeći kexec: jednostavno ponovo učitajte initrd sa novim kernelom i novim sistemom unutar initrd-a.

Kreiranje initrd slike specifične za Booty:

mkdir initramfs/
mkinitramfs initramfs/ --izlaz initrd

Kreiranje initrd slike uključujući distribuciju iz direktorija “gentoo/”:

mkdir initramfs/
mkinitramfs initramfs/ --preklapanje gentoo/ --cpio --izlaz initrd

Nakon čega je ova initrd slika potpuno spremna za učitavanje, na primjer, putem PXE ili putem kexeca.

Zatim, Booty generiše slike sa sistemom specificiranim kao "preklapanje". Na primjer, možete instalirati (otpakovati arhivu) uslovni Gentoo u poseban direktorij, nakon čega će cpio arhiva ili SquashFS slika sa ovim sistemom biti generirana pomoću Bootyja. Također možete konfigurirati distribuciju u zasebnom direktoriju i kopirati svoje lične postavke u drugi direktorij. Svi ovi „slojevi“ će se uzastopno učitavati jedan na drugi i stvarati jedinstven radni sistem.

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay postavke/ --preklapanje dokumenata/ --squashfs --output initrd

Na kraju, Booty vam omogućava da kreirate ISO slike za pokretanje i USB, HDD, SSD i druge diskove instaliranjem gornjeg sistema sa slika. plijen podržava kreiranje BIOS i UEFI sistema za pokretanje. GRUB2 i SYSLINUX pokretači su podržani. Bootloaderi se mogu kombinovati, na primjer, koristiti SYSLINUX za pokretanje u BIOS-u i GRUB2 za UEFI. Da biste kreirali ISO slike, dodatno će vam trebati paket cdrkit (genisoimage) ili xorriso (xorrisofs), koji možete izabrati.

Jedina potrebna dodatna radnja je priprema kernela (vmlinuz) za pokretanje unaprijed. Autor (spoofing) preporučuje korištenje "make defconfig". Prije kreiranja slike, morate pripremiti direktorij postavljanjem vmlinuz kernela i prethodno pripremljenog “praznog” initrd-a kreiranog u prvom primjeru.

mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd

Ovim je priprema završena, sada možemo kreirati ISO slike iz ovog direktorija.

Sljedeća naredba će kreirati ISO sliku, a ne onu koja se može pokrenuti, samo ISO:

mkdir iso/
mkbootisofs iso/ --output archive.iso

Da biste kreirali sliku za pokretanje, morate navesti opciju “--legacy-boot” za BIOS i “--efi” za UEFI, respektivno; opcije uzimaju grub2 ili syslinux kao parametre; također možete odrediti samo jednu opciju ( na primjer, UEFI podrška za pokretanje nije potrebna, možda nije navedena).

mkbootisofs iso/ --legacy-boot syslinux --output boot-biosonly.iso

mkbootisofs iso/ --legacy-boot syslinux --efi grub2 --output boot-bios-uefi.iso

mkbootisofs iso/ --efi grub2 --output boot-uefionly.iso

I baš kao i ranije, slike sa sistemom su bile uključene u initrd, možete ih uključiti u ISO.

mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --output gentoo.iso

Nakon ove komande, biće generisana BIOS/UEFI ISO slika za pokretanje koja učitava Gentoo u SquashFS sliku koristeći Overlay FS, koristeći tmpfs za skladištenje podataka. Kernel mora biti izgrađen sa podrškom za Overlay FS sa SquashFS. Međutim, ako iz nekog razloga to nije potrebno, možete koristiti opciju “—cpio” umjesto —squashfs da pakujete gentoo/ kao cpio arhivu, u kom slučaju će arhiva biti raspakirana direktno u tmpfs nakon pokretanja, glavna stvar je da je za raspakivanje sistema tmpfs imao dovoljno RAM-a.

Zanimljiva činjenica: ako se ISO slika kreirana pomoću opcije “—efi” raspakira na FAT32 fleš disk jednostavnim kopiranjem datoteka (cp -r), tada će se Flash disk pokrenuti u UEFI modu bez ikakve preliminarne pripreme, zahvaljujući specifičnostima UEFI- preuzimača.

Pored ISO-ova za pokretanje, bilo koji disk za pokretanje može se kreirati sa istim parametrima: USB, HDD, SSD i tako dalje, i ovaj disk se može nastaviti koristiti za svoju namjenu. Da biste to učinili, trebate montirati, na primjer, USB uređaj i pokrenuti mkbootisofs na njemu. Samo dodajte jednu opciju “—bootable” tako da disk na kojem se nalazi navedeni direktorij postane pokretan.

mount /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable

Nakon toga, USB uređaj će postati pokretan sa gentoo/ overlay-om (ne zaboravite kopirati /boot/vmlinuz i /boot/initrd datoteke na uređaj).

Ako iz nekog razloga disk nije montiran u /mnt, a ispostavi se da se /mnt nalazi na glavnom uređaju /dev/sda, tada će pokretač biti prepisan u /dev/sda. Trebali biste biti oprezni kada specificirate opciju --bootable.

Tokom procesa pokretanja, Booty podržava brojne opcije koje se mogu proslijediti pokretaču, grub.cfg ili syslinux.cfg. Podrazumevano, bez ikakvih opcija, svi slojevi se učitavaju i raspakuju u tmpfs (podrazumevana opcija ooty.use-shmfs). Za korištenje Overlay FS mora se koristiti opcija booty.use-overlayfs. Opcija booty.copy-to-ram prvo kopira preklapanja u tmpfs, nakon čega ih samo povezuje i učitava. Nakon kopiranja, USB uređaj (ili drugi uređaj za pohranu) se može ukloniti.

izvor: opennet.ru

Dodajte komentar