booty - utilitat per crear imatges i unitats d'arrencada

Programa presentat botí, que us permet crear imatges initrd d'arrencada, fitxers ISO o unitats que continguin qualsevol distribució GNU/Linux amb una ordre. El codi està escrit en l'intèrpret d'ordres POSIX i Distribuït per amb llicència GPLv3.

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. botí admet la creació de sistemes d'arrencada BIOS i UEFI. Els carregadors d'arrencada GRUB2 i SYSLINUX són compatibles. Els carregadors d'arrencada es poden combinar, per exemple, utilitzar SYSLINUX per arrencar a la BIOS i GRUB2 per a UEFI. Per crear imatges ISO, també necessitareu el paquet cdrkit (genisoimage) o xorriso (xorrisofs), per triar.

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

Afegeix comentari