Uhlelo lwethulwe
Konke ukusabalalisa kuqaliswe kusetshenziswa i-Booty sebenzisa i-SHMFS (tmpfs) noma i-SquashFS + Imbondela FS, ukukhetha komsebenzisi. Ukusabalalisa kudalwe kanye, futhi phakathi nenqubo yokuqalisa, imingcele ikhethiwe ekuvumela ukuthi usebenzise ama-tmpfs ahlanzekile empande, noma inhlanganisela ye-Overlay FS + SquashFS nezinguquko zokurekhoda kuma-tmpfs. Kungenzeka ukukopisha ngaphambilini ikhithi yokusabalalisa elandekayo ku-RAM, ekuvumela ukuthi unqamule idrayivu ye-USB ngemva kokulanda nokukopisha ikhithi yokusabalalisa kumemori.
Okokuqala, i-Booty ikhiqiza esayo isithombe se-initrd, esingasebenzisa izinsiza zomdabu kusuka ohlelweni lwamanje noma ibhokisi elimatasa. Kungenzeka ukufaka (iphakethe) yonke ikhithi yokusabalalisa efakwe kuhla lwemibhalo (chroot) kuma-initramfs. Lokhu kungaba usizo uma udinga ukuthuthukisa isistimu usebenzisa i-kexec: vele ulayishe kabusha i-initrd nge-kernel entsha kanye nesistimu entsha ngaphakathi kwe-initrd.
Ukudala isithombe se-Booty-specific initrd:
mkdir initramfs/
mkinitramfs initramfs/ --output initrd
Ukudala isithombe se-initrd okuhlanganisa nokusatshalaliswa okuvela kuhla lwemibhalo lwe-“gentoo/”:
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd
Ngemva kwalokho lesi sithombe se-initrd sesilungele ngokuphelele ukulayishwa, isibonelo, nge-PXE noma nge-kexec.
Okulandelayo, i-Booty ikhiqiza izithombe ngohlelo olucaciswe “njengembondela”. Isibonelo, ungafaka (ukhiphe ingobo yomlando) i-Gentoo enemibandela kumkhombandlela ohlukile, ngemva kwalokho ingobo yomlando ye-cpio noma isithombe se-SquashFS esinalolu hlelo sizokhiqizwa kusetshenziswa i-Booty. Ungase futhi ulungiselele ukusatshalaliswa kuhla lwemibhalo oluhlukile, futhi ukopishe izilungiselelo zakho zomuntu siqu kolunye uhla lwemibhalo. Zonke lezi “zendlalelo” zizolayishwa ngokulandelana kwazo phezu kwesinye futhi zidale uhlelo olulodwa lokusebenza.
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --izilungiselelo zokumbondela/ --imibhalo yokumbondela/ --squashfs --output initrd
Ekugcineni, i-Booty ikuvumela ukuthi udale izithombe ze-ISO ezibhuthayo kanye ne-USB, i-HDD, i-SSD namanye amadrayivu ngokufaka uhlelo olungenhla ezithombeni.
Okuwukuphela kwesenzo esengeziwe esidingekayo ukulungisa i-kernel (vmlinuz) ukuze iqale kusenesikhathi. Umbhali (Spoofing) uncoma ukusebenzisa "make defconfig". Ngaphambi kokudala isithombe, udinga ukulungisa inkomba ngokubeka i-vmlinuz kernel kanye ne-initrd "engenalutho" elungiselelwe ngaphambilini eyakhiwe esibonelweni sokuqala.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Ngalokhu ukulungiswa sekuqediwe, manje singakwazi ukudala izithombe ze-ISO kusuka kulolu hlu lwemibhalo.
Umyalo olandelayo uzodala isithombe se-ISO, hhayi esovulelekayo, i-ISO nje:
mkdir iso/
mkbootisofs iso/ --output archive.iso
Ukuze udale isithombe sokuqalisa, udinga ukucacisa inketho ethi “--legacy-boot” ye-BIOS kanye “--efi” ye-UEFI, ngokulandelana; izinketho zithatha i-grub2 noma i-syslinux njengamapharamitha; ungaphinda ucacise inketho eyodwa kuphela ( isibonelo, ukusekelwa kwe-UEFI boot ayidingeki , ingase ingacaciswanga).
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
Futhi njengangaphambili, izithombe ezinohlelo zafakwa ku-initrd, ungazifaka ku-ISO.
mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --output gentoo.iso
Ngemuva kwalo myalo, kuzokwenziwa isithombe se-BIOS/UEFI ISO esivulelekayo esilayisha iGentoo esithombeni se-SquashFS kusetshenziswa i-Overlay FS, kusetshenziswa ama-tmpfs ekugcineni idatha. I-kernel kufanele yakhiwe ngokusekelwa kwe-Overlay FS nge-SquashFS. Kodwa-ke, uma ngesizathu esithile lokhu kungadingeki, ungasebenzisa inketho ethi “—cpio” esikhundleni sokuthi—squashfs ukupakisha i-gentoo/ njengendawo yomlando ye-cpio, lapho ingobo yomlando izokhishwa ngokuqondile ku-tmpfs ebhuthini, into esemqoka. ukuthi ekukhipheni ama-tmpfs esistimu abe ne-RAM eyanele.
Iqiniso elithakazelisayo: uma isithombe se-ISO esidalwe kusetshenziswa inketho ethi “—efi” sikhishwa ku-FAT32 flash drive ngokumane sikopishe amafayela (cp -r), i-Flash drive izoqalisa ngemodi ye-UEFI ngaphandle kokulungiselela kokuqala, ngenxa yemininingwane ebekiwe. yabalandi be-UEFI.
Ngokungeziwe kuma-ISO asebenzayo, noma iyiphi idrayivu ebhuthayo ingadalwa ngemingcele efanayo: i-USB, i-HDD, i-SSD, njalonjalo, futhi le drayivu ingaqhubeka nokusetshenziselwa injongo yayo ehlosiwe. Ukuze wenze lokhu, udinga ukukhweza, isibonelo, idivayisi ye-USB bese usebenzisa i-mkbootisofs kuyo. Vele wengeze inketho eyodwa "-i-bootable" ukuze idrayivu lapho uhla lwemibhalo olushiwo lutholakala khona lube yi-bootable.
khweza /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable
Ngemva kwalokho, idivayisi ye-USB izosebenza nge-gentoo/ imbondela (ungakhohlwa ukukopisha /boot/vmlinuz kanye /boot/initrd amafayela kudivayisi).
Uma ngesizathu esithile idrayivu ingazange ifakwe ku-/mnt, futhi kuvela ukuthi i-/mnt itholakala kudivayisi eyinhloko /dev/sda, i-bootloader izobhalwa kabusha ku-/dev/sda. Kufanele uqaphele lapho ucacisa inketho --bootable.
Phakathi nenqubo yokuqalisa, i-Booty isekela inani lezinketho ezingadluliselwa kusilayishi sebhuthi, grub.cfg noma syslinux.cfg. Ngokuzenzakalelayo, ngaphandle kwanoma yiziphi izinketho, zonke izimbondela ziyalayishwa futhi zikhishwe kuma-tmpfs (inketho ezenzakalelayo ooty.use-shmfs). Ukuze usebenzise i-Overlay FS inketho ye-booty.use-overlayfs kufanele isetshenziswe. Inketho ye-booty.copy-to-ram kuqala ikopisha imbondela kuma-tmpfs, ngemuva kwalokho iwaxhuma futhi iwalayishe. Uma isikopishiwe, idivayisi ye-USB (noma enye idivayisi yesitoreji) ingakhishwa.
Source: opennet.ru