booty - ื›ืœื™ ืœื™ืฆื™ืจืช ืชืžื•ื ื•ืช ืืชื—ื•ืœ ื•ื›ื•ื ื ื™ื

ื”ืชื•ื›ื ื™ืช ื”ื•ืฆื’ื” ืฉืึธืœึธืœ, ื”ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืชืžื•ื ื•ืช initrd ื”ื ื™ืชื ื•ืช ืœืืชื—ื•ืœ, ืงื‘ืฆื™ ISO ืื• ื›ื•ื ื ื™ื ื”ืžื›ื™ืœื™ื ื›ืœ ื”ืคืฆืช GNU/Linux ื‘ืคืงื•ื“ื” ืื—ืช. ื”ืงื•ื“ ื›ืชื•ื‘ ื‘ืžืขื˜ืคืช POSIX ื• ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืžื•ืจืฉื” ืชื—ืช GPLv3.

ื›ืœ ื”ื”ืคืฆื•ืช ืฉืื•ื—ืœื• ื‘ืืžืฆืขื•ืช Booty ืžืจื™ืฆื•ืช ืื• SHMFS (tmpfs) ืื• SquashFS + Overlay FS, ืœื‘ื—ื™ืจืช ื”ืžืฉืชืžืฉ. ื”ื”ืคืฆื” ื ื•ืฆืจืช ืคืขื ืื—ืช, ื•ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ืืชื—ื•ืœ ื ื‘ื—ืจื™ื ืคืจืžื˜ืจื™ื ื”ืžืืคืฉืจื™ื ืœื”ืฉืชืžืฉ ื‘-tmpfs ื˜ื”ื•ืจ ืขื‘ื•ืจ ื”ืฉื•ืจืฉ, ืื• ืฉื™ืœื•ื‘ ืฉืœ Overlay FS + SquashFS ืขื ืฉื™ื ื•ื™ื™ื ื‘ื”ืงืœื˜ื” ืœ-tmpfs. ืืคืฉืจ ืœื”ืขืชื™ืง ืžืจืืฉ ืืช ืขืจื›ืช ื”ื”ืคืฆื” ืœื”ื•ืจื“ื” ืœ-RAM, ืžื” ืฉืžืืคืฉืจ ืœื ืชืง ืืช ื›ื•ื ืŸ ื”-USB ืœืื—ืจ ื”ื•ืจื“ื” ื•ื”ืขืชืงื” ืฉืœ ืขืจื›ืช ื”ื”ืคืฆื” ืœื–ื™ื›ืจื•ืŸ.

ืงื•ื“ื ื›ืœ, Booty ืžื™ื™ืฆืจ ืชืžื•ื ื” ืจืืฉื•ื ื™ืช ืžืฉืœื”, ืฉื™ื›ื•ืœื” ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืขื–ืจ ืžืงื•ืจื™ื™ื ืžื”ืžืขืจื›ืช ื”ื ื•ื›ื—ื™ืช ืื• Busybox. ืืคืฉืจ ืœื›ืœื•ืœ (ื—ื‘ื™ืœื”) ืืช ื›ืœ ืขืจื›ืช ื”ื”ืคืฆื” ื”ืžื•ืชืงื ืช ื‘ืกืคืจื™ื™ื” (chroot) ืœืชื•ืš initramfs. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ื›ืืฉืจ ืืชื” ืฆืจื™ืš ืœืฉื“ืจื’ ืžืขืจื›ืช ื‘ืืžืฆืขื•ืช kexec: ืคืฉื•ื˜ ื˜ืขืŸ ืžื—ื“ืฉ ืืช initrd ืขื ืœื™ื‘ื” ื—ื“ืฉื” ื•ืžืขืจื›ืช ื—ื“ืฉื” ื‘ืชื•ืš initrd.

ื™ืฆื™ืจืช ืชืžื•ื ื” ืžืงื•ืจื™ืช ืกืคืฆื™ืคื™ืช ืœ-Booty:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

ื™ืฆื™ืจืช ืชืžื•ื ื” ืจืืฉื•ื ื™ืช ื›ื•ืœืœ ื”ื”ืคืฆื” ืžืกืคืจื™ื™ืช "gentoo/":

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

ืœืื—ืจ ืžื›ืŸ ืชืžื•ื ืช initrd ื–ื• ืžื•ื›ื ื” ืœื—ืœื•ื˜ื™ืŸ ืœื˜ืขื™ื ื”, ืœืžืฉืœ, ื“ืจืš PXE ืื• ื“ืจืš kexec.

ืœืื—ืจ ืžื›ืŸ, Booty ื™ื•ืฆืจ ืชืžื•ื ื•ืช ืขื ื”ืžืขืจื›ืช ืฉืฆื•ื™ื ื” ื›"ืฉื›ื‘ื•ืช ืขืœ". ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ืชืงื™ืŸ (ืœืคืจืง ืืช ื”ืืจื›ื™ื•ืŸ) Gentoo ืžื•ืชื ื” ื‘ืกืคืจื™ื” ื ืคืจื“ืช, ืฉืœืื—ืจื™ื” ืชื™ื•ื•ืฆืจ ืืจื›ื™ื•ืŸ cpio ืื• ืชืžื•ื ืช SquashFS ืขื ืžืขืจื›ืช ื–ื• ื‘ืืžืฆืขื•ืช Booty. ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ื’ื“ื™ืจ ืืช ื”ื”ืคืฆื” ื‘ืกืคืจื™ื™ื” ื ืคืจื“ืช, ื•ืœื”ืขืชื™ืง ืืช ื”ื”ื’ื“ืจื•ืช ื”ืื™ืฉื™ื•ืช ืฉืœืš ืœืกืคืจื™ื™ื” ืื—ืจืช. ื›ืœ ื”"ืฉื›ื‘ื•ืช" ื”ืœืœื• ื™ื™ื˜ืขื ื• ื–ื• ืขืœ ื’ื‘ื™ ื–ื• ื‘ืจืฆืฃ ื•ื™ื™ืฆืจื• ืžืขืจื›ืช ืขื‘ื•ื“ื” ืื—ืช.

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

ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, Booty ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืชืžื•ื ื•ืช ISO ื”ื ื™ืชื ื•ืช ืœืืชื—ื•ืœ ื•ื›ื•ื ื ื™ USB, HDD, SSD ื•ื›ื•ื ื ื™ื ืื—ืจื™ื ืขืœ ื™ื“ื™ ื”ืชืงื ืช ื”ืžืขืจื›ืช ืœืขื™ืœ ืžืชืžื•ื ื•ืช. ืฉืึธืœึธืœ ืชื•ืžืš ื‘ื™ืฆื™ืจืช ืžืขืจื›ื•ืช ืืชื—ื•ืœ BIOS ื•-UEFI. ืžื˜ืขื ื™ ืืชื—ื•ืœ GRUB2 ื•-SYSLINUX ื ืชืžื›ื™ื. ื ื™ืชืŸ ืœืฉืœื‘ ืžื˜ืขื ื™ ืืชื—ื•ืœ, ืœื“ื•ื’ืžื”, ื”ืฉืชืžืฉื• ื‘-SYSLINUX ื›ื“ื™ ืœืืชื—ืœ ืœืชื•ืš ื”-BIOS, ื•ื‘-GRUB2 ืขื‘ื•ืจ UEFI. ื›ื“ื™ ืœื™ืฆื•ืจ ืชืžื•ื ื•ืช ISO, ืชื–ื“ืงืง ื‘ื ื•ืกืฃ ืœื—ื‘ื™ืœืช cdrkit (genisoimage) ืื• xorriso (xorrisofs), ืœื‘ื—ื™ืจื”.

ื”ืคืขื•ืœื” ื”ื ื•ืกืคืช ื”ื™ื—ื™ื“ื” ื”ื ื“ืจืฉืช ื”ื™ื ืœื”ื›ื™ืŸ ืืช ื”ืงืจื ืœ (vmlinuz) ืœืืชื—ื•ืœ ืžืจืืฉ. ื”ืžื—ื‘ืจ (Spoofing) ืžืžืœื™ืฅ ืœื”ืฉืชืžืฉ ื‘-"make defconfig". ืœืคื ื™ ื™ืฆื™ืจืช ื”ืชืžื•ื ื”, ืขืœื™ืš ืœื”ื›ื™ืŸ ืกืคืจื™ื™ื” ืขืœ ื™ื“ื™ ื”ื ื—ืช ืœื™ื‘ืช vmlinuz ื•ื”-initrd ื”"ืจื™ืง" ืฉื”ื•ื›ืŸ ืงื•ื“ื ืœื›ืŸ ืฉื ื•ืฆืจื• ื‘ื“ื•ื’ืžื” ื”ืจืืฉื•ื ื”.

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

ืขื ื–ื” ื”ื”ื›ื ื” ื”ื•ืฉืœืžื”, ื›ืขืช ื ื•ื›ืœ ืœื™ืฆื•ืจ ืชืžื•ื ื•ืช ISO ืžื”ืกืคืจื™ื™ื” ื”ื–ื•.

ื”ืคืงื•ื“ื” ื”ื‘ืื” ืชื™ืฆื•ืจ ืชืžื•ื ืช ISO, ืœื ื ื™ืชื ืช ืœืืชื—ื•ืœ, ืจืง ISO:

mkdir iso/
mkbootisofs iso/ --output archive.iso

ื›ื“ื™ ืœื™ืฆื•ืจ ืชืžื•ื ืช ืืชื—ื•ืœ, ืขืœื™ืš ืœืฆื™ื™ืŸ ืืช ืืคืฉืจื•ืช "--legacy-boot" ืขื‘ื•ืจ BIOS ื•- "--efi" ืขื‘ื•ืจ UEFI, ื‘ื”ืชืืžื”; ื”ืืคืฉืจื•ื™ื•ืช ืœื•ืงื—ื•ืช ื’ืจub2 ืื• syslinux ื›ืคืจืžื˜ืจื™ื; ืืชื” ื™ื›ื•ืœ ื’ื ืœืฆื™ื™ืŸ ืืคืฉืจื•ืช ืื—ืช ื‘ืœื‘ื“ ( ืœื“ื•ื’ืžื”, ืื™ืŸ ืฆื•ืจืš ื‘ืชืžื™ื›ื” ื‘ืืชื—ื•ืœ UEFI , ื™ื™ืชื›ืŸ ืฉื”ื™ื ืœื ืชืฆื•ื™ืŸ).

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

ื•ื‘ื“ื™ื•ืง ื›ืžื• ืงื•ื“ื, ืชืžื•ื ื•ืช ืขื ื”ืžืขืจื›ืช ื ื›ืœืœื• ื‘-initrd, ืืชื” ื™ื›ื•ืœ ืœื›ืœื•ืœ ืื•ืชืŸ ื‘-ISO.

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

ืœืื—ืจ ืคืงื•ื“ื” ื–ื•, ืชื™ื•ื•ืฆืจ ืชืžื•ื ืช BIOS/UEFI ISO ื”ื ื™ืชื ืช ืœืืชื—ื•ืœ ืฉืชื˜ืขืŸ ืืช Gentoo ืœืชื•ืš ืชืžื•ื ืช SquashFS ื‘ืืžืฆืขื•ืช Overlay FS, ืชื•ืš ืฉื™ืžื•ืฉ ื‘-tmpfs ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื. ื”ืœื™ื‘ื” ื—ื™ื™ื‘ืช ืœื”ื™ื‘ื ื•ืช ืขื ืชืžื™ื›ื” ื‘-Overlay FS ืขื SquashFS. ืขื ื–ืืช, ืื ืžืกื™ื‘ื” ื›ืœืฉื”ื™ ื–ื” ืœื ื ื“ืจืฉ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืืคืฉืจื•ืช "-cpio" ื‘ืžืงื•ื -squashfs ื›ื“ื™ ืœืืจื•ื– ืืช gentoo/ ื›ืืจื›ื™ื•ืŸ cpio, ื•ื‘ืžืงืจื” ื–ื” ื”ืืจื›ื™ื•ืŸ ื™ืคื•ืจืง ื™ืฉื™ืจื•ืช ืœืชื•ืš tmpfs ืขื ื”ืืชื—ื•ืœ, ื”ืขื™ืงืจ ื”ื•ื ืฉืœืคื™ืจื•ืง ืœืžืขืจื›ืช tmpfs ื”ื™ื” ืžืกืคื™ืง ื–ื™ื›ืจื•ืŸ RAM.

ืขื•ื‘ื“ื” ืžืขื ื™ื™ื ืช: ืื ืชืžื•ื ืช ISO ืฉื ื•ืฆืจื” ื‘ืืžืฆืขื•ืช ืืคืฉืจื•ืช "-efi" ืคื•ืจืงืช ืœื›ื•ื ืŸ ื”ื‘ื–ืง FAT32 ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ื”ืขืชืงืช ืงื‘ืฆื™ื (cp -r), ืื– ื›ื•ื ืŸ ื”ืคืœืืฉ ื™ืืชื—ืœ ื‘ืžืฆื‘ UEFI ืœืœื ื›ืœ ื”ื›ื ื” ืžื•ืงื“ืžืช, ื”ื•ื“ื•ืช ืœืคืจื˜ื™ื ื”ืกืคืฆื™ืคื™ื™ื ืฉืœ ื”ื•ืจื“ื•ืช UEFI.

ื‘ื ื•ืกืฃ ืœ-ISO ื”ื ื™ืชื ื™ื ืœืืชื—ื•ืœ, ื ื™ืชืŸ ืœื™ืฆื•ืจ ื›ืœ ื›ื•ื ืŸ ืฉื ื™ืชืŸ ืœืืชื—ื•ืœ ืขื ืื•ืชื ืคืจืžื˜ืจื™ื: USB, HDD, SSD ื•ื›ืŸ ื”ืœืื”, ื•ื ื™ืชืŸ ืœื”ืžืฉื™ืš ืœื”ืฉืชืžืฉ ื‘ื›ื•ื ืŸ ื–ื” ืœืžื˜ืจื” ื”ืžื™ื•ืขื“ืช ืœื•. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ืขืœื™ืš ืœืขืœื•ืช, ืœืžืฉืœ, ื”ืชืงืŸ USB ื•ืœื”ืคืขื™ืœ ืขืœื™ื• mkbootisofs. ืคืฉื•ื˜ ื”ื•ืกืฃ ืืคืฉืจื•ืช ืื—ืช "โ€”ื ื™ืชืŸ ืœืืชื—ื•ืœ" ื›ืš ืฉื”ื›ื•ื ืŸ ืฉื‘ื• ื ืžืฆืืช ื”ืกืคืจื™ื™ื” ืฉืฆื•ื™ื ื” ื™ื”ืคื•ืš ืœื ื™ืชื ืช ืœืืชื—ื•ืœ.

mount /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --ื ื™ืชืŸ ืœืืชื—ืœ

ืœืื—ืจ ืžื›ืŸ, ื”ืชืงืŸ ื”-USB ื™ื”ืคื•ืš ืœื ื™ืชืŸ ืœืืชื—ื•ืœ ืขื ืฉื›ื‘ืช ื”ืขืœ gentoo/ (ืืœ ืชืฉื›ื— ืœื”ืขืชื™ืง ืืช ื”ืงื‘ืฆื™ื /boot/vmlinuz ื•- /boot/initrd ืœืžื›ืฉื™ืจ).

ืื ืžืกื™ื‘ื” ื›ืœืฉื”ื™ ื”ื›ื•ื ืŸ ืœื ื”ื•ืชืงืŸ ื‘-/mnt, ื•ืžืชื‘ืจืจ ืฉ-/mnt ื ืžืฆื ื‘ืžื›ืฉื™ืจ ื”ืจืืฉื™ /dev/sda, ืื–ื™ ื”-bootloader ื™ื™ื›ืชื‘ ืžื—ื“ืฉ ืœ- /dev/sda. ืขืœื™ืš ืœื”ื™ื•ืช ื–ื”ื™ืจ ื‘ืขืช ืฆื™ื•ืŸ ื”ืืคืฉืจื•ืช --bootable.

ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ืืชื—ื•ืœ, Booty ืชื•ืžืš ื‘ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ืฉื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืœื˜ื•ืขืŸ ื”ืืชื—ื•ืœ, grub.cfg ืื• syslinux.cfg. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืœืœื ื›ืœ ืืคืฉืจื•ื™ื•ืช, ื›ืœ ืฉื›ื‘ื•ืช ื”ืขืœ ื ื˜ืขื ื•ืช ื•ื ืคืจืงื•ืช ืœืชื•ืš tmpfs (ืืคืฉืจื•ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ooty.use-shmfs). ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘-Overlay FS ื™ืฉ ืœื”ืฉืชืžืฉ ื‘ืืคืฉืจื•ืช booty.use-overlayfs. ื”ืืคืฉืจื•ืช booty.copy-to-ram ืžืขืชื™ืงื” ืชื—ื™ืœื” ืฉื›ื‘ื•ืช-ืขืœ ืœ-tmpfs, ื•ืœืื—ืจ ืžื›ืŸ ื”ื™ื ืจืง ืžื—ื‘ืจืช ืื•ืชืŸ ื•ื˜ื•ืขื ืช ืื•ืชืŸ. ืœืื—ืจ ื”ื”ืขืชืงื”, ื ื™ืชืŸ ืœื”ืกื™ืจ ืืช ื”ืชืงืŸ ื”-USB (ืื• ื”ืชืงืŸ ืื—ืกื•ืŸ ืื—ืจ).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”