booty - programa, skirta įkrovos vaizdams ir diskams kurti

Pristatyta programa grobis, kuri leidžia viena komanda sukurti įkrovos initrd atvaizdus, ​​ISO failus arba diskus, kuriuose yra bet koks GNU/Linux paskirstymas. Kodas parašytas POSIX apvalkalu ir išplatino licencijuota pagal GPLv3.

Visi platinimai, paleisti naudojant Booty, veikia SHMFS (tmpfs) arba SquashFS + Overlay FS, vartotojo pasirinkimu. Paskirstymas sukuriamas vieną kartą, o įkrovos metu parenkami parametrai, leidžiantys naudoti gryną tmpfs šakniniam elementui arba Overlay FS + SquashFS derinį su įrašymo pakeitimais į tmpfs. Atsisiunčiamą platinimo rinkinį galima iš anksto nukopijuoti į RAM, o tai leidžia atjungti USB diską atsisiuntus ir nukopijavus platinimo rinkinį į atmintį.

Visų pirma, „Booty“ sukuria savo pradinį vaizdą, kuris gali naudoti vietines priemones iš dabartinės sistemos arba „busybox“. Į initramfs galima įtraukti (supakuoti) visą kataloge įdiegtą paskirstymo rinkinį (chroot). Tai gali būti naudinga, kai reikia atnaujinti sistemą naudojant kexec: tiesiog iš naujo įkelkite initrd su nauju branduoliu ir nauja sistema initrd viduje.

„Booty“ specifinio pradinio vaizdo kūrimas:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Initrd vaizdo sukūrimas, įskaitant paskirstymą iš „gentoo/“ katalogo:

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd

Po to šis initrd vaizdas yra visiškai paruoštas įkelti, pavyzdžiui, per PXE arba per kexec.

Tada „Booty“ generuoja vaizdus su sistema, nurodyta kaip „perdangos“. Pavyzdžiui, galite įdiegti (išpakuoti archyvą) sąlyginį Gentoo atskirame kataloge, po kurio naudojant Booty bus sugeneruotas cpio archyvas arba SquashFS vaizdas su šia sistema. Taip pat galite konfigūruoti platinimą atskirame kataloge ir nukopijuoti asmeninius nustatymus į kitą katalogą. Visi šie „sluoksniai“ bus nuosekliai kraunami vienas ant kito ir sukuria vieną veikiančią sistemą.

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd

Galiausiai „Booty“ leidžia sukurti įkrovos ISO atvaizdus ir USB, HDD, SSD ir kitus diskus, įdiegiant aukščiau pateiktą sistemą iš vaizdų. grobis palaiko BIOS ir UEFI įkrovos sistemų kūrimą. Palaikomi GRUB2 ir SYSLINUX įkrovos įrenginiai. Įkrovos įkroviklius galima derinti, pavyzdžiui, naudokite SYSLINUX, kad paleistumėte į BIOS, ir GRUB2, skirtą UEFI. Norėdami sukurti ISO atvaizdus, ​​jums papildomai reikės cdrkit (genisoimage) arba xorriso (xorrisofs) paketo, kurį galite pasirinkti.

Vienintelis papildomas veiksmas yra iš anksto paruošti branduolį (vmlinuz) įkrovai. Autorius (Spoofing) rekomenduoja naudoti "make defconfig". Prieš kurdami vaizdą, turite paruošti katalogą, įdėdami vmlinuz branduolį ir anksčiau paruoštą "tuščią" initrd, sukurtą pirmame pavyzdyje.

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

Pasiruošimas baigtas, dabar galime sukurti ISO atvaizdus iš šio katalogo.

Ši komanda sukurs ISO atvaizdą, o ne paleidžiamą, tik ISO:

mkdir iso/
mkbootisofs iso/ --output archyvas.iso

Norėdami sukurti įkrovos vaizdą, turite atitinkamai nurodyti BIOS parinktį „--legacy-boot“ ir UEFI „--efi“; parinktys naudoja grub2 arba syslinux kaip parametrus; taip pat galite nurodyti tik vieną parinktį ( pavyzdžiui, UEFI įkrovos palaikymas nereikalingas, jis gali būti nenurodytas).

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

Kaip ir anksčiau, vaizdai su sistema buvo įtraukti į initrd, galite juos įtraukti į ISO.

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

Po šios komandos bus sugeneruotas įkraunamas BIOS/UEFI ISO vaizdas, kuris įkelia Gentoo į SquashFS vaizdą naudojant Overlay FS, naudojant tmpfs duomenims saugoti. Branduolys turi būti sukurtas su Overlay FS palaikymu su SquashFS. Tačiau jei dėl kokių nors priežasčių to nereikia, galite naudoti parinktį „—cpio“ vietoj —squashfs to package gentoo/ kaip cpio archyvą, tokiu atveju archyvas bus išpakuotas tiesiai į tmpfs paleidus, svarbiausia. yra tai, kad sistemos išpakavimui tmpfs turėjo pakankamai RAM.

Įdomus faktas: jei ISO atvaizdas, sukurtas naudojant parinktį „—efi“, išpakuojamas į FAT32 „flash drive“ tiesiog nukopijuojant failus (cp -r), „flash drive“ bus paleistas UEFI režimu be jokio išankstinio paruošimo dėl specifikos. UEFI parsisiuntimo programų.

Be įkrovos ISO, bet koks įkrovos diskas gali būti sukurtas tais pačiais parametrais: USB, HDD, SSD ir pan., o šis diskas gali būti toliau naudojamas pagal paskirtį. Norėdami tai padaryti, turite prijungti, pavyzdžiui, USB įrenginį ir paleisti jame mkbootisofs. Tiesiog pridėkite vieną parinktį „—bootable“, kad diskas, kuriame yra nurodytas katalogas, taptų paleidžiamas.

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

Po to USB įrenginys taps paleidžiamas su gentoo/ perdanga (nepamirškite nukopijuoti /boot/vmlinuz ir /boot/initrd failų į įrenginį).

Jei dėl kokių nors priežasčių diskas nebuvo prijungtas /mnt ir paaiškėja, kad /mnt yra pagrindiniame įrenginyje /dev/sda, tada įkrovos įkroviklis bus perrašytas į /dev/sda. Turėtumėte būti atsargūs nurodydami parinktį --bootable.

Įkrovos proceso metu „Booty“ palaiko daugybę parinkčių, kurias galima perduoti įkrovos įkrovikliui, grub.cfg arba syslinux.cfg. Pagal numatytuosius nustatymus, be jokių parinkčių, visos perdangos įkeliamos ir išpakuojamos į tmpfs (numatytoji parinktis ooty.use-shmfs). Norint naudoti Overlay FS, reikia naudoti booty.use-overlayfs parinktį. Parinktis booty.copy-to-ram pirmiausia nukopijuoja perdangas į tmpfs, po to tik jas sujungia ir įkelia. Nukopijavus USB įrenginį (arba kitą saugojimo įrenginį) galima išimti.

Šaltinis: opennet.ru

Добавить комментарий