booty — verktyg för att skapa startbilder och lagringsenheter

Programmet presenteras Booty, som gör det möjligt att med ett enda kommando skapa startbara initrd-avbilder, ISO-filer eller enheter som inkluderar vilken GNU/Linux-distribution som helst. Koden Àr skriven i POSIX shell och sprids under GPLv3-licensen.

Alla distributioner som laddas med Booty fungerar antingen i SHMFS (tmpfs) eller i SquashFS + Overlay FS, vÀlj av anvÀndaren. Distributionen skapas en gÄng, och vid uppstart vÀljs parametrar som gör det möjligt att anvÀnda ren tmpfs som roten, eller en kombination av Overlay FS + SquashFS med skrivning av Àndringar till tmpfs. Det finns möjlighet att kopiera den nedladdade distributionen till RAM innan uppstart, vilket gör att USB-enheten kan kopplas ur efter uppstart och kopiering av distributionen till minnet.

Framför allt genererar Booty sin egen initrd-avbild, dÀr inbyggda verktyg frÄn det nuvarande systemet eller busybox kan anvÀndas. Det finns möjlighet att paketera hela den installerade distributionen i initramfs som finns i katalogen (chroot). Detta kan vara anvÀndbart nÀr det Àr nödvÀndigt att uppdatera systemet med hjÀlp av kexec: bara starta om initrd med den nya kÀrnan och det nya systemet inuti initrd.

Skapande av Booty-specifik initrd avbild:

mkdir initramfs/
mkinitramfs initramfs/ —output initrd

Skapande av initrd-avbild med inkludering av distributionen frÄn katalogen "gentoo/":

mkdir initramfs/
mkinitramfs initramfs/ —overlay gentoo/ —cpio —output initrd

Efter detta Àr initrd-avbilden helt redo för uppstart, till exempel via PXE eller genom kexec.

DÀrefter genererar Booty avbilder med systemet som anges som "överlagringar". Till exempel kan man installera (packa upp arkivet) en hypotetisk Gentoo i en separat katalog, varefter Booty kommer att generera ett cpio-arkiv eller en SquashFS-avbild med detta system. Man kan ocksÄ konfigurera distributionen i en separat katalog och kopiera personliga instÀllningar till en annan katalog. Alla dessa "lager" kommer att laddas sekventiellt över varandra och skapa ett enhetligt arbetsystem.

mkdir initramfs/
mkinitramfs initramfs/ —overlay gentoo/ —overlay settings/ —overlay documents/ —squashfs —output initrd

Slutligen gör Booty det möjligt att skapa startbara ISO-avbilder och USB, HDD, SSD och andra lagringsmedia, som installerar det ovan beskrivna systemet frÄn avbilder. Booty stöder skapandet av startbara system BIOS och UEFI. Startprogrammen GRUB2 och SYSLINUX stöds. Startprogram kan kombineras, till exempel för att anvÀnda SYSLINUX för BIOS och GRUB2 för UEFI. För att skapa ISO-avbilder krÀvs dessutom paketet cdrkit (genisoimage) eller xorriso (xorrisofs), efter eget val.

Det enda tillÀggsÄtgÀrden som krÀvs Àr att förbereda kÀrnan (vmlinuz) för start i förvÀg. Författaren (Spoofing) rekommenderar att anvÀnda "make defconfig". Innan du skapar bilden mÄste du förbereda en katalog genom att placera kÀrnan vmlinuz och en pÄ förhand förberedd "tom" initrd, skapad i det första exemplet.

mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd

Nu Àr förberedelserna klara, vi kan börja skapa ISO-avbilder frÄn denna katalog.

Följande kommando kommer att skapa en ISO-avbild, inte startbar, bara ISO:

mkdir iso/
mkbootisofs iso/ —output archive.iso

För att skapa en startbar avbild mĂ„ste du ange alternativet "—legacy-boot" för BIOS och "—efi" för UEFI. Som parametrar tar alternativen antingen grub2 eller syslinux, du kan ocksĂ„ ange endast ett alternativ (till exempel, om stöd för UEFI-start inte behövs, kan det utelĂ€mnas).

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

Och precis som tidigare, dÀr systembilderna inkluderades i initrd, kan de ocksÄ inkluderas i ISO.

mkbootisofs iso/ —overlay gentoo/ —squashfs —legacy-boot grub2 —efi grub2 —output gentoo.iso

Efter detta kommando kommer en startbar BIOS/UEFI ISO-avbild att skapas, som startar Gentoo frĂ„n en SquashFS-avbild med hjĂ€lp av Overlay FS, vilket anvĂ€nder tmpfs för att lagra data. KĂ€rnan mĂ„ste byggas med stöd för Overlay FS med SquashFS. Men om detta av nĂ„gon anledning inte krĂ€vs kan alternativet "—cpio" anvĂ€ndas istĂ€llet för —squashfs, för att packa gentoo/ som en cpio-arkiv, i sĂ„ fall kommer arkivet att packas upp direkt i tmpfs vid start, det viktigaste Ă€r att tillrĂ€ckligt med RAM-minne finns för att packa upp systemet i tmpfs.

Intressant fakta: om ISO-avbilden som skapats med alternativet "—efi" packas upp pĂ„ en FAT32-flash-enhet genom att enkelt kopiera filer (cp -r), kommer USB-enheten att startas i UEFI-lĂ€ge utan nĂ„gon förberedelseteknik, tack vare specifikationen av UEFI-startprogram.

Förutom ISO-bilder med samma parametrar kan vilken startdisk som helst skapas: USB, HDD, SSD och sĂ„ vidare, och denna enhet kan fortsĂ€tta att anvĂ€ndas för sitt ursprungliga syfte. För detta Ă€ndamĂ„l mĂ„ste du montera USB-enheten och köra mkbootisofs pĂ„ den. LĂ€gg bara till en alternativflagga «—bootable» sĂ„ att enheten som innehĂ„ller den angivna katalogen blir startbar.

mount /dev/sdb1 /mnt
mkbootisofs /mnt —overlay gentoo/ —squashfs —legacy-boot grub2 —efi grub2 —bootable

DÀrefter blir USB-enheten startbar med overlay gentoo/ (glöm inte att kopiera filerna /boot/vmlinuz och /boot/initrd till enheten).

Om enheten av nĂ„gon anledning inte monterades i /mnt, och det visar sig att /mnt ligger pĂ„ huvud-enheten /dev/sda, dĂ„ kommer startladdaren att skrivas över pĂ„ /dev/sda. Var försiktig nĂ€r du anger alternativet —bootable.

Under uppstarten stöder Booty ett antal alternativ som kan anges i startladdaren, grub.cfg eller syslinux.cfg. Som standard, utan nÄgra alternativ, genomförs uppstart och packning av alla overlays i tmpfs (standardalternativ ooty.use-shmfs). För att anvÀnda Overlay FS mÄste alternativet booty.use-overlayfs anvÀndas. Alternativet booty.copy-to-ram förkopierar overlays till tmpfs, och kopplar dem sedan och laddar dem. Efter kopiering kan USB-enheten (eller annan enhet) tas bort.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster