Programmet presenteras , 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 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. 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
