Esitatud programm , mis vĂ”imaldab ĂŒhe kĂ€suga luua algkĂ€ivitamispildid initrd, ISO-failid vĂ”i salvestusmediad, mis sisaldavad endas ĂŒkskĂ”ik millist GNU/Linux jaotust. Kood on kirjutatud POSIX shellis ja ja GPLv3 litsentsi alusel.
KĂ”ik jaotused, mis on laaditud Booty abil, töötavad kas SHMFS (tmpfs) vĂ”i SquashFS + Overlay FS all, sĂ”ltuvalt kasutaja valikust. Jaotus luuakse ĂŒhekordselt ja laadimise kĂ€igus valitakse parameetrid, mis vĂ”imaldavad kasutada puhtat tmpfs juurena vĂ”i kombinatsiooni Overlay FS + SquashFS, kus muudatused salvestatakse tmpfs-sse. On vĂ”imalik eelnevalt kopeerida laaditav jaotus RAM-i, mis vĂ”imaldab USB-mĂ€lupulka pĂ€rast laadimist ja jaotuse mĂ€lusse kopeerimist vĂ€lja lĂŒlitada.
Esiteks genereerib Booty oma algkĂ€ivitamispildi (initrd), kus vĂ”ivad kasutada praeguse sĂŒsteemi kohalikud utiliidid vĂ”i busybox. On vĂ”imalus lisada (pakkida) tĂ€ielikult initramfs-i installitud jaotus, mis asub kataloogis (chroot). See vĂ”ib olla kasulik, kui on vaja sĂŒsteemi vĂ€rskendada kexec abil: lihtsalt taaskĂ€ivitada initrd koos uue tuumaga ja uue sĂŒsteemiga initrd sees.
Booty-spetsiifilise algkÀivitamispildi (initrd) loomine:
mkdir initramfs/
mkinitramfs initramfs/ --output initrd
AlgkÀivitamispildi (initrd) loomine, lisades selle sisse jaotuse kataloogist "gentoo/":
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd
PÀrast seda on see algkÀivitamispilt tÀielikult valmis laadimiseks, nÀiteks PXE kaudu vÔi kexec abil.
SeejĂ€rel genereerib Booty pildid sĂŒsteemist, mis on mÀÀratud kui "ĂŒleviijad". NĂ€iteks vĂ”ib installida (dekompresseerida arhiiv) tingimusliku Gentoo eraldi katalooge, pĂ€rast mida genereeritakse Booty abil cpio-arhiiv vĂ”i SquashFS pilt sellest sĂŒsteemist. Samuti on vĂ”imalik eraldi kataloogis jaotuse seadistamine ning veel ĂŒhte katalooge isiklikud seaded kopeerida. KĂ”ik need "kihid" laaditakse jĂ€rjestikku ĂŒksteise peale ja loovad ĂŒhtse töötava sĂŒsteemi.
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd
LĂ”ppkokkuvĂ”ttes vĂ”imaldab Booty luua algkĂ€ivitamis ISO-pilte ja USB, HDD, SSD ning muid salvestusmeedia, paigaldades eespool kirjeldatud sĂŒsteemi piltidest. toetab BIOS- ja UEFI-kĂ€ivitussĂŒsteemide loomist. Toetatakse GRUB2 ja SYSLINUX laadijaid. Laadijad on vĂ”imalik kombineerida, nĂ€iteks BIOS-i kĂ€ivitamiseks kasutada SYSLINUX-i ja UEFI jaoks GRUB2. ISO-piltide loomiseks on vajalik ka cdrkit (genisoimage) paket vĂ”i xorriso (xorrisofs), valikukohas.
Ainsaks lisafunktsiooniks, mida on vaja, on eelnevalt ettevalmistatud tuum (vmlinuz) kĂ€ivitusks. Autor (Spoofing) soovitab kasutada "make defconfig". Enne pildi loomist on vajalik ette valmistada kaust, kuhu tuleb panna tuum vmlinuz ja eelnevalt ettevalmistatud "tĂŒhi" initrd, mis loodi esimeses nĂ€ites.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Sellega on ettevalmistused tehtud ja nĂŒĂŒd saame luua ISO pilte antud kaustast.
JÀrgmine kÀsk loob ISO pildi, mis ei ole kÀivitatav, lihtsalt ISO:
mkdir iso/
mkbootisofs iso/ âoutput archive.iso
KĂ€ivitatava pildi loomiseks on vajalik mÀÀrata valik "âlegacy-boot" BIOS-ile ja "âefi" UEFI-le, vastavalt, valikute parameetriteks on kas grub2 vĂ”i syslinux, samuti on vĂ”imalik nĂ€idata ainult ĂŒhte valikut (nĂ€iteks, kui UEFI toele pole vajadust, seda ei pea nĂ€itama).
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
Ja samuti, nagu enne oleks sĂŒsteemi pildid initrd-sse kaasatud, on vĂ”imalik neid lisada ka ISO-sse.
mkbootisofs iso/ âoverlay gentoo/ âsquashfs âlegacy-boot grub2 âefi grub2 âoutput gentoo.iso
PĂ€rast seda kĂ€sku koostatakse kĂ€ivitatav BIOS/UEFI ISO-pilt, mis laadib Gentoo SquashFS-pildist Overlay FS-i kaudu, kasutades tmpfs andmete sĂ€ilitamiseks. Tuum peab olema kompileeritud Overlay FS ja SquashFS toe jaoks. Kui seda mingil pĂ”hjusel ei ole vaja, vĂ”ib kasutada valikut "âcpio" âsquashfs asemel, et pakkida gentoo/ cpio-arhiiviks, sel juhul arhiiv lahti pakitakse otse tmpfs-i laadimise ajal, oluline on vaid see, et tmpfs-i sĂŒsteemi lahti pakkimiseks oleks piisavalt muisti.
Huvitav fakt: kui ISO pilt on loodud "âefi" valiku kasutamisel ja see lahti pakkida FAT32 mĂ€lupulgale lihtsalt failide kopeerimisega (cp -r), siis Flash-mĂ€luseade bootib UEFI-reĆŸiimis ilma igasuguste eelnevate ettevalmistusteta, tĂ€nu UEFI-laadijate spetsiifilisusele.
Lisaks ISO-piltide loomisele samade parameetritega saab luua ka igasuguseid kĂ€ivitatavaid andmekandjaid: USB, HDD, SSD jne, samas vĂ”ib antud andmekandjat jĂ€tkuvalt kasutada selle otstarbel. Selleks tuleb nĂ€iteks mountida USB-seade ja kĂ€ivitada mkbootisofs sellel. Tuleb lihtsalt lisada ĂŒks valik ââbootableâ, et seadmel, millel asub mÀÀratud kataloog, oleks kĂ€ivitatav.
mount /dev/sdb1 /mnt
mkbootisofs /mnt âoverlay gentoo/ âsquashfs âlegacy-boot grub2 âefi grub2 âbootable
PĂ€rast seda saab USB-seadmest kĂ€ivitatav, koos gentoo/ ĂŒlekatega (Ă€rge unustage kopeerida failid /boot/vmlinuz ja /boot/initrd seadmele).
Kui mingil pĂ”hjusel ei olnud andmekandjat mountitud /mnt, ja selgub, et /mnt asub peamisel seadmel /dev/sda, siis vastavalt kirjutatakse kĂ€ivituslaadur /dev/sda. Tuleb olla ettevaatlik, kui kasutada valikut âbootable.
KĂ€ivitamisel toetab Booty mitmeid valikuid, mida saab edastada kĂ€ivituslaadurile, grub.cfg vĂ”i syslinux.cfg. Vaikimisi kĂ€ivitatakse ja lahti pakitakse kĂ”ik ĂŒlekanded tmpfs-is (vaikimisi valik ooty.use-shmfs). Overlay FS-i kasutamiseks tuleb kasutada valikut booty.use-overlayfs. Valik booty.copy-to-ram kopeerib eelnevalt ĂŒlekanded tmpfs-i, pĂ€rast mida ĂŒhendab ja kĂ€ivitab need. PĂ€rast kopeerimist saab USB-seadmest (vĂ”i muust andmekandjast) eemaldada.
Allikas: opennet.ru
