Programa presentat
Totes les distribucions arrencades amb Booty executen SHMFS (tmpfs) o SquashFS + Overlay FS, a elecció de l'usuari. La distribució es crea una vegada i durant el procés d'arrencada, es seleccionen paràmetres que us permeten utilitzar tmpfs purs per a l'arrel, o una combinació de Overlay FS + SquashFS amb els canvis d'enregistrament a tmpfs. És possible copiar prèviament el kit de distribució descarregable a la memòria RAM, que us permet desconnectar la unitat USB després de descarregar i copiar el kit de distribució a la memòria.
En primer lloc, Booty genera la seva pròpia imatge initrd, que pot utilitzar utilitats natives del sistema actual o busybox. És possible incloure (empaquetar) tot el kit de distribució instal·lat al directori (chroot) a initramfs. Això pot ser útil quan necessiteu actualitzar un sistema amb kexec: simplement recarregueu l'initrd amb un nou nucli i un nou sistema dins de l'initrd.
Creació d'una imatge initrd específica de Booty:
mkdir initramfs/
mkinitramfs initramfs/ --output initrd
Creació d'una imatge initrd inclosa la distribució des del directori “gentoo/”:
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd
Després d'això, aquesta imatge initrd està completament preparada per carregar, per exemple, mitjançant PXE o mitjançant kexec.
A continuació, Booty genera imatges amb el sistema especificat com a "superposicions". Per exemple, podeu instal·lar (descomprimir l'arxiu) un Gentoo condicional en un directori separat, després del qual es generarà un arxiu cpio o una imatge SquashFS amb aquest sistema mitjançant Booty. També podeu configurar la distribució en un directori independent i copiar la vostra configuració personal a un altre directori. Totes aquestes "capes" es carregaran seqüencialment unes sobre les altres i crearan un únic sistema de treball.
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd
En última instància, Booty us permet crear imatges ISO d'arrencada i unitats USB, HDD, SSD i altres unitats instal·lant el sistema anterior a partir d'imatges.
L'única acció addicional necessària és preparar el nucli (vmlinuz) per a l'arrencada amb antelació. L'autor (Spoofing) recomana utilitzar "make defconfig". Abans de crear la imatge, heu de preparar un directori col·locant el nucli vmlinuz i l'initrd "buit" preparat prèviament creat al primer exemple.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Amb això s'ha completat la preparació, ara podem crear imatges ISO des d'aquest directori.
L'ordre següent crearà una imatge ISO, no una d'arrencada, només una ISO:
mkdir iso/
mkbootisofs iso/ --output archive.iso
Per crear una imatge d'arrencada, heu d'especificar l'opció "--legacy-boot" per a la BIOS i "--efi" per a UEFI, respectivament; les opcions prenen grub2 o syslinux com a paràmetres; també podeu especificar només una opció ( per exemple, el suport d'arrencada UEFI no és necessari, és possible que no s'especifiqui).
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
I igual que abans, les imatges amb el sistema es van incloure a l'initrd, les podeu incloure a la ISO.
mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --output gentoo.iso
Després d'aquesta ordre, es generarà una imatge ISO d'arrencada BIOS/UEFI que carrega Gentoo a la imatge SquashFS mitjançant Overlay FS, utilitzant tmpfs per a l'emmagatzematge de dades. El nucli s'ha de crear amb suport Overlay FS amb SquashFS. Tanmateix, si per algun motiu això no és necessari, podeu utilitzar l'opció “—cpio” en comptes de —squashfs per empaquetar gentoo/ com a arxiu cpio, en aquest cas l'arxiu es descomprimirà directament a tmpfs després de l'arrencada, el més important. és que per desempaquetar el sistema tmpfs tenia prou RAM.
Dada interessant: si una imatge ISO creada amb l'opció "—efi" es desempaqueta en una unitat flaix FAT32 simplement copiant fitxers (cp -r), aleshores la unitat flaix arrencarà en mode UEFI sense cap preparació prèvia, gràcies a les especificacions. dels descarregadors UEFI.
A més de les ISO d'arrencada, es pot crear qualsevol unitat d'arrencada amb els mateixos paràmetres: USB, HDD, SSD, etc., i aquesta unitat es pot continuar utilitzant per al propòsit previst. Per fer-ho, heu de muntar, per exemple, un dispositiu USB i executar-hi mkbootisofs. Només cal que afegiu una opció "—bootable" de manera que la unitat on es troba el directori especificat es converteixi en arrencable.
muntar /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable
Després d'això, el dispositiu USB es podrà arrencar amb la superposició gentoo/ (no oblideu copiar els fitxers /boot/vmlinuz i /boot/initrd al dispositiu).
Si per algun motiu la unitat no s'ha muntat a /mnt i resulta que /mnt es troba al dispositiu principal /dev/sda, el carregador d'arrencada es tornarà a escriure a /dev/sda. Hauríeu d'anar amb compte quan especifiqueu l'opció --bootable.
Durant el procés d'arrencada, Booty admet una sèrie d'opcions que es poden passar al carregador d'arrencada, grub.cfg o syslinux.cfg. Per defecte, sense cap opció, totes les superposicions es carreguen i es desempaqueten a tmpfs (opció per defecte ooty.use-shmfs). Per utilitzar Overlay FS s'ha d'utilitzar l'opció booty.use-overlayfs. L'opció booty.copy-to-ram copia primer les superposicions a tmpfs, després només les connecta i les carrega. Un cop copiat, el dispositiu USB (o un altre dispositiu d'emmagatzematge) es pot eliminar.
Font: opennet.ru