Predstavený program , ktorý umožňuje jedným príkazom vytvárať zavádzacie obrazy initrd, súbory ISO alebo pamäťové zariadenia, ktoré obsahujú akýkoľvek distribučný systém GNU/Linux. Kód je napísaný v POSIX shell a je pod licenciou GPLv3.
Všetky distribúcie nahrávané pomocou Booty fungujú buď v SHMFS (tmpfs), alebo v SquashFS + Overlay FS, podľa výberu používateľa. Distribúcia sa vytvorí raz, a počas spúšťania sa vyberajú parametre, ktoré umožňujú používanie čistého tmpfs ako koreňového adresára, alebo kombináciu Overlay FS + SquashFS s zapisovaním zmien do tmpfs. Existuje možnosť predkopírovať nahrávanú distribúciu do RAM, čo umožňuje odpojiť USB zariadenie po spustení a kopírovaní distribúcie do pamäte.
Predovšetkým Booty generuje vlastný initrd obraz, v ktorom môžu byť použité natívne nástroje z aktuálneho systému alebo busybox. Je možné zahrnúť (zbaliť) celý nainštalovaný distribučný systém do initramfs nachádzajúceho sa v adresári (chroot). To môže byť užitočné, keď je potrebné aktualizovať systém pomocou kexec: jednoducho reštartovať initrd s novým jadrom a novým systémom v rámci initrd.
Vytvorenie Booty-špecifického initrd obrazu:
mkdir initramfs/
mkinitramfs initramfs/ --output initrd
Vytvorenie initrd obrazu so zahrnutím distribúcie z adresára «gentoo/»:
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd
Po čom je tento initrd obraz úplne pripravený na spustenie, napríklad prostredníctvom PXE alebo kexec.
Ďalej Booty generuje obrazy so systémom, ktorý je zadaný ako «overlay». Napríklad, je možné nainštalovať (rozbaliť archív) hypotetický Gentoo do samostatného adresára, po čom bude použitím Booty vygenerovaný cpio-archív alebo SquashFS obraz s týmto systémom. Je tiež možné v samostatnom adresári vykonať konfiguráciu distribúcie, a do ďalšieho adresára skopírovať osobné nastavenia. Všetky tieto „vrstvy“ budú postupne nahrávané jednu na druhú a vytvoria jedinečný pracovný systém.
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd
Nakoniec, Booty umožňuje vytvárať zavádzacie ISO obrazy a USB, HDD, SSD a ďalšie pamäťové zariadenia, inštalujúc vyššie popísaný systém z obrazov. podporuje vytváranie zavádzacích systémov BIOS a UEFI. Podporujú sa zavádzače GRUB2 a SYSLINUX. Zavádzače je možné kombinovať, napríklad pre zavádzanie v BIOS použiť SYSLINUX a pre UEFI — GRUB2. Na vytvorenie ISO obrazov bude navyše potrebný balík cdrkit (genisoimage) alebo xorriso (xorrisofs), podľa výberu.
Jediná ďalšia akcia, ktorá bude potrebná, je vopred pripraviť jadro (vmlinuz) na zavádzanie. Autor (Spoofing) odporúča použiť „make defconfig“. Pred vytvorením obrazu je potrebné pripraviť adresár, do ktorého sa umiestni jadro vmlinuz a vopred pripravený „prázdny“ initrd, vytvorený v prvom príklade.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Na tomto je príprava dokončená, teraz môžeme vytvárať ISO obrazy z tejto adresára.
Nasledujúci príkaz vytvorí ISO obraz, ktorý nebude zavádzací, iba ISO:
mkdir iso/
mkbootisofs iso/ —output archive.iso
Na vytvorenie zavádzacieho obrazu je potrebné uviesť možnosť „—legacy-boot“ pre BIOS a „—efi“ pre UEFI, respektíve, ako parametre možnosti akceptujú buď grub2, alebo syslinux, možno uviesť iba jednu možnosť (napríklad, ak nie je potrebná podpora UEFI zavádzania, túto možno neuvedenú).
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
A tak, ako boli predtým zahrnuté obrazy so systémom v initrd, je možné ich zahrnúť do ISO.
mkbootisofs iso/ —overlay gentoo/ —squashfs —legacy-boot grub2 —efi grub2 —output gentoo.iso
Po tomto príkaze bude vytvorený zavádzací BIOS/UEFI ISO obraz, ktorý zavádza Gentoo zo SquashFS obrazu s použitím Overlay FS, pričom používa tmpfs na uchovávanie dát. Jadro musí byť zostavené s podporou Overlay FS so SquashFS. Avšak, ak to z nejakej príčiny nie je potrebné, možno použiť možnosť „—cpio“ namiesto —squashfs, na zabalenie gentoo/ ako cpio archívu, v takom prípade sa archív rozbalí priamo do tmpfs pri zavádzaní, hlavne, aby bola dostatočná pamäť na rozbalenie systému v tmpfs.
Zaujímavý fakt: ak je ISO obraz vytvorený s použitím možnosti „—efi“ rozbalený na FAT32 flash disku jednoduchým kopírovaním súborov (cp -r), flash disk sa bude zavádzať v UEFI režime bez akejkoľvek predchádzajúcej prípravy, vďaka špecifiká UEFI zavádzačov.
Okrem zavádzacích ISO s rovnakými parametrami je možné vytvoriť akékoľvek zavádzacie úložisko: USB, HDD, SSD a tak ďalej, pričom toto úložisko môže byť naďalej používané na svoj zamýšľaný účel. Na to je potrebné pripojiť napríklad USB zariadenie a spustiť mkbootisofs na ňom. Stačí pridať jednu možnosť „—bootable“, aby sa úložisko, na ktorom sa nachádza uvedený adresár, stalo zavádzacím.
mount /dev/sdb1 /mnt
mkbootisofs /mnt —overlay gentoo/ —squashfs —legacy-boot grub2 —efi grub2 —bootable
Po tom sa USB zariadenie stane zavádzacím s overlayom gentoo/ (je potrebné nezabudnúť skopírovať súbory /boot/vmlinuz a /boot/initrd na zariadenie).
Ak z nejakého dôvodu nebolo úložisko pripojené do /mnt, a stane sa, že /mnt je na hlavnom zariadení /dev/sda, bootloader bude podľa toho prepísaný na /dev/sda. Pri uvádzaní možnosti —bootable je potrebné byť opatrný.
Počas zavádzania Booty podporuje rad možností, ktoré je možné zadať v bootloaderi, grub.cfg alebo syslinux.cfg. Predvolene sa bez akýchkoľvek možností vykonáva zavádzanie a rozbaľovanie všetkých overlayov do tmpfs (predvolená možnosť ooty.use-shmfs). Na používanie Overlay FS by mala byť použitá možnosť booty.use-overlayfs. Možnosť booty.copy-to-ram predtým skopíruje overlaye do tmpfs, po čom ich iba pripojí a načíta. Po skopírovaní USB zariadenie (alebo iné úložisko) môžete vytiahnuť.
Zdroj: opennet.ru
