Esitatud programm
Kõik Booty abil käivitatud distributsioonid käitavad kas SHMFS-i (tmpfs) või SquashFS-i + ülekattega FS-i, kasutaja valikul. Jaotus luuakse üks kord ja alglaadimise käigus valitakse parameetrid, mis võimaldavad kasutada juurjuurena puhast tmpfs-i või Overlay FS + SquashFS kombinatsiooni koos tmpfs-i muudatuste salvestamisega. Allalaaditava jaotuskomplekti on võimalik eelkopeerida RAM-i, mis võimaldab pärast jaotuskomplekti allalaadimist ja mällu kopeerimist USB-draivi lahti ühendada.
Esiteks genereerib Booty oma initrd-pildi, mis võib kasutada praeguse süsteemi või hõivatud kasti natiivseid utiliite. Initramfs-i on võimalik kaasata (pakkida) kogu kataloogi (chroot) installitud distributsioonikomplekt. See võib olla kasulik, kui peate süsteemi kexeci abil uuendama: laadige lihtsalt initrd uuesti uue kerneliga ja uue süsteemiga initrd-is.
Booty-spetsiifilise initrd-pildi loomine:
mkdir initramfs/
mkinitramfs initramfs/ --väljund initrd
Initrd-pildi loomine, sealhulgas levitamine kataloogist "gentoo/":
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --väljund initrd
Pärast seda on see initrd-pilt täiesti valmis laadimiseks, näiteks PXE või kexeci kaudu.
Järgmisena genereerib Booty kujutised, mille süsteem on määratletud kui "ülekatted". Näiteks saate installida (arhiivi lahti pakkida) tingimusliku Gentoo eraldi kataloogi, misjärel luuakse Booty abil selle süsteemiga cpio arhiiv või SquashFS-pilt. Samuti saate konfigureerida levitamise eraldi kataloogis ja kopeerida oma isiklikud sätted teise kataloogi. Kõik need "kihid" laaditakse järjestikku üksteise peale ja luuakse ühtne töötav süsteem.
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd
Lõppkokkuvõttes võimaldab Booty luua alglaaditavaid ISO-pilte ning USB-, HDD-, SSD- ja muid draive, installides ülaltoodud süsteemi piltidest.
Ainus vajalik lisategevus on kerneli (vmlinuz) eelkäivitamiseks ettevalmistamine. Autor (Spoofing) soovitab kasutada "make defconfig". Enne pildi loomist peate ette valmistama kataloogi, asetades vmlinuzi tuuma ja eelnevalt ettevalmistatud esimeses näites loodud "tühi" initrd.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Sellega on ettevalmistus lõppenud, saame nüüd sellest kataloogist ISO-pilte luua.
Järgmine käsk loob ISO-pildi, mitte buutiva, vaid lihtsalt ISO-pildi:
mkdir iso/
mkbootisofs iso/ --output arhiiv.iso
Alglaadimispildi loomiseks peate määrama vastavalt BIOS-i jaoks suvandi "--legacy-boot" ja UEFI jaoks "--efi"; valikud võtavad parameetritena kas grub2 või syslinux, samuti saate määrata ainult ühe võimaluse ( näiteks UEFI alglaadimise tuge pole vaja, seda ei pruugita määrata).
mkbootisofs iso/ --legacy-boot syslinux --väljund boot-biosonly.iso
mkbootisofs iso/ --legacy-boot syslinux --efi grub2 --väljund boot-bios-uefi.iso
mkbootisofs iso/ --efi grub2 --väljund boot-uefionly.iso
Ja nagu varem, lisati süsteemiga pildid initrd-sse, saate need lisada ISO-sse.
mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --väljund gentoo.iso
Pärast seda käsku luuakse käivitatav BIOS-i/UEFI ISO-tõmmis, mis laadib ülekatte FS-i abil Gentoo SquashFS-i kujutisse, kasutades andmete salvestamiseks tmpfs-i. Kernel peab olema ehitatud Overlay FS-i toega koos SquashFS-iga. Kui see aga mingil põhjusel vajalik pole, võid kasutada cpio arhiivina —squashfs to pack gentoo/ asemel suvandit “—cpio”, mille puhul pakitakse arhiiv alglaadimisel lahti otse tmpfs-i, peaasi. on see, et süsteemi lahtipakkimiseks oli tmpfsil piisavalt RAM-i.
Huvitav fakt: kui suvandi "—efi" abil loodud ISO-pilt pakitakse lahti FAT32-mälupulgale, kopeerides lihtsalt failid (cp -r), siis tänu spetsiifikale käivitub välkmälu UEFI-režiimis ilma eelneva ettevalmistuseta. UEFI allalaadijate hulgast.
Lisaks buutitavatele ISO-dele saab luua samade parameetritega mis tahes buutiva draivi: USB, HDD, SSD ja nii edasi ning seda draivi saab edaspidigi sihtotstarbeliselt kasutada. Selleks tuleb monteerida näiteks USB-seade ja käivitada sellel mkbootisofs. Lihtsalt lisage üks suvand "—bootable", nii et draiv, millel määratud kataloog asub, muutub buutitavaks.
mount /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable
Pärast seda muutub USB-seade gentoo/ ülekattega buutitavaks (ärge unustage seadmesse kopeerida faile /boot/vmlinuz ja /boot/initrd).
Kui draivi mingil põhjusel ei ühendatud /mnt ja selgub, et /mnt asub põhiseadmes /dev/sda, kirjutatakse alglaadur ümber /dev/sda. Suvandi --bootable määramisel peaksite olema ettevaatlik.
Alglaadimisprotsessi ajal toetab Booty mitmeid valikuid, mida saab edastada alglaadurile grub.cfg või syslinux.cfg. Vaikimisi laaditakse ja pakitakse kõik ülekatted ilma suvanditeta tmpfs-i (vaikevalik ooty.use-shmfs). Overlay FS-i kasutamiseks tuleb kasutada suvandit booty.use-overlayfs. Valik booty.copy-to-ram kopeerib esmalt ülekatted tmpfs-i, misjärel ühendab need ainult ja laadib. Pärast kopeerimist saab USB-seadme (või muu salvestusseadme) eemaldada.
Allikas: opennet.ru