Esitleme programmi , mis vĂ”imaldab ĂŒhe kĂ€su abil luua kĂ€ivituspilte initrd, ISO-faile vĂ”i mĂ€luseadmeid, mis sisaldavad mis tahes GNU/Linuxi distributsiooni. Kood on kirjutatud POSIX shellis ja GPLv3 litsentsi alusel.
KĂ”ik distributsioonid, mis on bootitud Booty abil, töötavad kas SHMFS (tmpfs) vĂ”i SquashFS + Overlay FS reĆŸiimis, sĂ”ltuvalt kasutaja valikust. Distributsioon luuakse ĂŒks kord ning kĂ€ivitamise ajal valitakse parameetrid, mis vĂ”imaldavad kasutada puhtalt tmpfs juurena vĂ”i Overlay FS + SquashFS kombinatsiooni, kus muudatused salvestatakse tmpfs. On vĂ”imalik eelnevalt kopeerida kĂ€ivitatav distributsioon RAM-i, mis vĂ”imaldab USB-mĂ€luseadet pĂ€rast laadimist ja distributsiooni mĂ€lu kopeerimist vĂ€lja lĂŒlitada.
Esiteks genereerib Booty enda initrd-pildi, kus vĂ”ivad olla kasutusel praegusest sĂŒsteemist pĂ€rinevad utiliidid vĂ”i busybox. On vĂ”imalik lisada (pakendada) tĂ€ielikult initramfs-i installitud distributsioon, mis asub kaustas (chroot). See vĂ”ib olla kasulik, kui on vaja sĂŒsteemi uuendada kexec abil: lihtsalt taaskĂ€ivitada initrd koos uue tuumaga ja uue sĂŒsteemiga initrd sees.
Booty-spetsiifilise initrd-pildi loomine:
mkdir initramfs/
mkinitramfs initramfs/ âoutput initrd
Initrd-pildi loomine, mis sisaldab jaotust kaustast âgentoo/â:
mkdir initramfs/
mkinitramfs initramfs/ âoverlay gentoo/ âcpio âoutput initrd
PÀrast seda on antud initrd-pilt tÀielikult valmis laadimiseks, nÀiteks PXE vÔi kexec kaudu.
SeejĂ€rel genereerib Booty sĂŒsteemipildid, mis on mÀÀratud kui âĂŒlevaateidâ. NĂ€iteks vĂ”ite installida (lahti pakkida arhiivi) tingimusliku Gentoo eraldi kausta, pĂ€rast mida Booty genereerib cpio-arhiivi vĂ”i SquashFS-pildi selle sĂŒsteemiga. Samuti saate eraldi kaustas seadistada jaotuse ning veel ĂŒhte kausta kopeerida isiklikud seadistused. KĂ”ik need âkihidâ laaditakse jĂ€rjestikku ĂŒksteise peale, luues ĂŒhtse tööaluse sĂŒsteemi.
mkdir initramfs/
mkinitramfs initramfs/ âoverlay gentoo/ âoverlay settings/ âoverlay documents/ âsquashfs âoutput initrd
LĂ”ppkokkuvĂ”ttes vĂ”imaldab Booty luua kĂ€ivitatavaid ISO-pilte ja USB, HDD, SSD ning teisi andmekandjaid, installides eeltoodud sĂŒsteemi piltidest. toetab BIOS-i ja UEFI alglaadimise sĂŒsteemide loomist. Toetatakse GRUB2 ja SYSLINUX alglaadijaid. Alglaadijaid saab kombineerida, nĂ€iteks BIOS-i laadimiseks kasutada SYSLINUX-i ja UEFI jaoks GRUB2. ISO-pildiks loomiseks on lisaks vajalik cdrkit (genisoimage) paket vĂ”i xorriso (xorrisofs), vastavalt valikule.
Ainus tĂ€iendav tegevus, mida on vaja, on eelnevalt ette valmistada kernel (vmlinuz) laadimiseks. Autor (Spoofing) soovitab kasutada âmake defconfigâ. Enne pildi loomist tuleb ette valmistada kataloog, kus asub kernel vmlinuz ja eelnevalt valmistatud âtĂŒhiâ initrd, mis loodi esimeses nĂ€ites.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Selle ettevalmistamine on nĂŒĂŒd lĂ”petatud, nĂŒĂŒd saame selle katalooge kasutades luua ISO pilte.
JÀrgmine kÀsk loob ISO pildi, mitte kÀivitatava, lihtsalt ISO:
mkdir iso/
mkbootisofs iso/ âoutput archive.iso
KĂ€ivitatava pildi loomine nĂ”uab âlegacy-boot valiku mÀÀramist BIOS-i jaoks ja âefi UEFI jaoks, vastavalt; valida saab kas grub2 vĂ”i syslinux, samuti vĂ”ib mÀÀrata ainult ĂŒhe valiku (nĂ€iteks kui UEFI vahel ei ole vajalik, siis seda ei pea mÀÀrama).
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 nagu enne olid sĂŒsteemi pildid initrd-sse, saab neid lisada ISO-sse.
mkbootisofs iso/ âoverlay gentoo/ âsquashfs âlegacy-boot grub2 âefi grub2 âoutput gentoo.iso
PĂ€rast seda kĂ€sku luuakse kĂ€ivitatav BIOS/UEFI ISO-pilt, mis laadib Gentoo SquashFS-pildilt kasutades Overlay FS, kasutades tmpfs andmete salvestamiseks. Tuum peab olema kokku pandud Overlay FS-i ja SquashFS-i toega. Kui see mingil pĂ”hjusel ei ole vajalik, saab kasutada valikut ââcpioâ asemele âsquashfs, et pakkida gentoo/ cpio-arhiiviks, sel juhul lahutatakse arhiiv otse tmpfs-i kĂ€ivitamisel, peamine on, et sĂŒsteemi lahutamiseks tmpfs-is on piisavalt RAM-i.
Huvi fakt: kui ISO-pilt, mis on loodud valiku ââefiâ abil, lahti pakkida FAT32 mĂ€lupulgale lihtsalt failide kopeerimise (cp -r) teel, siis Flash-mĂ€luseade laadib UEFI-reĆŸiimis ilma igasuguse eelneva ettevalmistuseta, tĂ€nu UEFI-laadijate eripĂ€rale.
Lisaks ISO-failide loomisele, millel on samad parameetrid, on vĂ”imalik luua iga laadimisseade: USB, HDD, SSD jne, samal ajal kui see seade vĂ”ib jĂ€tkata kasutamist oma otstarbel. Selleks tuleb, nĂ€iteks, USB-seade monteerida ja kĂ€ivitada mkbootisofs sellel. Lihtsalt lisage ĂŒks valik ââbootableâ, et seade, millel asub mÀÀratud kataloog, muutuks laadimisplatvormiks.
mount /dev/sdb1 /mnt
mkbootisofs /mnt âoverlay gentoo/ âsquashfs âlegacy-boot grub2 âefi grub2 âbootable
PĂ€rast seda muutub USB-seade laadimisplatvormiks, millel on oeverlay gentoo/ (Ă€rge unustage kopeerida failid /boot/vmlinuz ja /boot/initrd seadmesse).
Kui mingil pĂ”hjusel seadet ei pandud monteerida /mnt ja juhtub, et /mnt asub pĂ”hiseadmest /dev/sda, siis kirjutatakse seega laadija ĂŒle /dev/sda. Oluline on olla ettevaatlik, kui mÀÀrate valiku âbootable.
Booty laadimise protsess toetab mitmeid valikuid, mida saab edastada laadijale, grub.cfg vÔi syslinux.cfg. Vaikimisi kÀivitub ja lahtipakkimine kÔikidest overlay'dest tmpfs-i (vaikimisi valik ooty.use-shmfs). Overlay FS-i kasutamiseks peab olema valitud valik booty.use-overlayfs. Valik booty.copy-to-ram kopeerib overlay'd esmalt tmpfs-i, seejÀrel mountib ja laadib need. USB-seadme (vÔi muu andmekandja) saab pÀrast kopeerimist eemaldada.
Allikas: opennet.ru
