booty — kasutusotstarbeline utiliit kĂ€ivituspiltide ja seadmete loomiseks

Esitatud programm Booty, 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 levitatakse 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. Booty 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

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster