booty — ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для создания Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Booty, которая позволяСт ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ initrd, Ρ„Π°ΠΉΠ»Ρ‹ ISO ΠΈΠ»ΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π² сСбя любой дистрибутив GNU/Linux. Код написан Π½Π° POSIX shell ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3.

ВсС дистрибутивы, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ с использованиСм Booty, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ Π² SHMFS (tmpfs), Π»ΠΈΠ±ΠΎ Π² SquashFS + Overlay FS, Π½Π° Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Дистрибутив создаётся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° Π² процСссС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ чистый tmpfs для корня, Π»ΠΈΠ±ΠΎ связку Overlay FS + SquashFS с записью ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² tmpfs. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ дистрибутив Π² ΠžΠ—Π£, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ USB-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ копирования дистрибутива Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Booty Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ собствСнный initrd ΠΎΠ±Ρ€Π°Π·, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€ΠΎΠ΄Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ систСмы ΠΈΠ»ΠΈ busybox. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ (ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ) Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π² initramfs установлСнный Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ дистрибутив (chroot). Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ систСму с использованиСм kexec: просто ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ initrd с Π½ΠΎΠ²Ρ‹ΠΌΠΈ ядром ΠΈ Π½ΠΎΠ²ΠΎΠΉ систСмой Π²Π½ΡƒΡ‚Ρ€ΠΈ initrd.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Booty-спСцифичного initrd ΠΎΠ±Ρ€Π°Π·Π°:

mkdir initramfs/
mkinitramfs initramfs/ —output initrd

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ initrd ΠΎΠ±Ρ€Π°Π·Π° с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ дистрибутива ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ «gentoo/»:

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

ПослС Ρ‡Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ initrd ΠΎΠ±Ρ€Π°Π· ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· PXE ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· kexec.

Π”Π°Π»Π΅Π΅ Booty Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π·Ρ‹ с систСмой, которая ΡƒΠΊΠ°Π·Π°Π½Π° Π² качСствС «ΠΎΠ²Π΅Ρ€Π»Π΅Π΅Π²». НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ (Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ²) условный Gentoo Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, послС Ρ‡Π΅Π³ΠΎ с использованиСм Booty Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрирован cpio-Π°Ρ€Ρ…ΠΈΠ² ΠΈΠ»ΠΈ SquashFS ΠΎΠ±Ρ€Π°Π· с этой систСмой. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ настройку дистрибутива, Π° Π² Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки. ВсС эти «ΡΠ»ΠΎΠΈ» Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π΄Ρ€ΡƒΠ³Π° ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ систСму.

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

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС, Booty позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ ISO-ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ USB, HDD, SSD ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ, устанавливая Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ систСму ΠΈΠ· ΠΎΠ±Ρ€Π°Π·ΠΎΠ². Booty ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ созданиС Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… систСм BIOS ΠΈ UEFI. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ GRUB2 ΠΈ SYSLINUX. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² BIOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SYSLINUX, Π° для UEFI — GRUB2. Для создания 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 соотвСтствСнно, Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ grub2, Π»ΠΈΠ±ΠΎ 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 Π±Ρ‹Π»ΠΎ достаточно ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: Ссли ISO ΠΎΠ±Ρ€Π°Π· созданный с использованиСм ΠΎΠΏΡ†ΠΈΠΈ «—efi» Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π½Π° FAT32-Ρ„Π»Π΅ΡˆΠΊΡƒ ΠΏΡƒΡ‚Ρ‘ΠΌ простого копирования Ρ„Π°ΠΉΠ»ΠΎΠ² (cp -r), Ρ‚ΠΎ Flash-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² UEFI-Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ, благодаря спСцификС UEFI-Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ².

Помимо Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… ISO с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан любой Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ: USB, HDD, SSD ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ своСму прямому Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, USB-устройство ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запуск mkbootisofs Π½Π° Π½Ρ‘ΠΌ. Волько Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΡ†ΠΈΡŽ «—bootable», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится указанная дирСктория, стал Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΌ.

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

ПослС Ρ‡Π΅Π³ΠΎ USB-устройство станСт Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΌ с ΠΎΠ²Π΅Ρ€Π»Π΅Π΅ΠΌ gentoo/ (слСдуСт Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ /boot/vmlinuz ΠΈ /boot/initrd Π½Π° устройство).

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ Π½Π΅ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π² /mnt, ΠΈ окаТСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ /mnt находится Π½Π° основном устройствС /dev/sda, Ρ‚ΠΎ соотвСтствСнно Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ пСрСзаписан Π½Π° /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