ΡΠ»Π΅Π΄ ΡΠ°ΠΌΠΎ ΠΌΠ΅ΡΠ΅Ρ Π‘Π»Π΅Π΄ Π±Π°Π²Π½ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°Ρ boobstrap v1.2 - Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π² ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° Π½Π° POSIX Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅.
Boobstrap Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
- Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° initramfs, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΡΠΊΠ° GNU/Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Π² Π½Π΅Π³ΠΎ.
- Π‘ΡΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠΈ ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π²ΡΡΠΊΠ° GNU/Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ.
- Π‘ΡΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠΈ USB, HDD, SSD ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Π²ΡΡΠΊΠ° GNU/Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ.
ΠΡΠΎΠ±Π΅Π½ΠΎΡΡΡΠ° Π΅, ΡΠ΅ ΡΠ»Π΅Π΄ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ GNU/Linux ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΡΡΠ»ΠΎ Π² ΡΠΈΡΡ tmpfs, ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Overlay FS ΠΈ SquashFS ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎ Π²Π°Ρ ΠΈΠ·Π±ΠΎΡ. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΡΠΊΠ° GNU/Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΏΡΠ°Π²ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ (ΠΏΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π² ΠΎΡΠ΄Π΅Π»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ), ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΡΠ°ΠΌΠΎ Ρ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π±ΠΈΠ»ΠΎ ΡΠΎ ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, USB, HDD, SSD ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ initrd ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡ system. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ Π² Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΠΉ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠ΅Π· Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Π±ΡΡΠΎΠ½ Reset. ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Π΄ΡΡΠ³ Ρ ΠΎΡΡ ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ? Boobstrap ΡΠ΅ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ.
Π‘ΡΠ΅Π΄ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° bootloader Π½Π° syslinux Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡ grub2. ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ grub2, syslinux ΠΈΠ»ΠΈ ΠΈ Π΄Π²Π΅ΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΎΠΏΡΠΈΠΈΡΠ΅ --legacy-boot syslinux ΠΈ --efi grub2 ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ ΠΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ --bootable, ΠΊΠΎΡΡΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΡΠΊΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠΎ. ΠΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠΏΡΠΈΡΡΠ° --iso-9660.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ boobs.use-shmfs Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΠ»Π°Π³Π²Π°Π½ΠΈΡ Π² tmpfs, boobs.use-overlayfs Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Overlay FS, boobs.search-rootfs Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, boobs.copy-to-ram Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ.
- ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ boobstrap, Π΅ cpio. ΠΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ: grub2, syslinux - Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π½ΠΎΡΠΈΡΠ΅Π», cdrkit ΠΈΠ»ΠΈ xorriso Π·Π° ΠΈΠ·Π±ΠΎΡ - Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ISO, squashfs-tools Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° SquashFS, Π½ΠΎ Π½ΠΈΡΠΎ Π½Π΅ Π²ΠΈ ΠΏΡΠ΅ΡΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -cpio Π²ΠΌΠ΅ΡΡΠΎ - squashfs, Π·Π° Π΄Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ Π²Π°ΡΠ°ΡΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Π² Π°ΡΡ ΠΈΠ². busybox ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½, Π½ΠΎ Π°ΠΊΠΎ Π½Π΅, Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΎΡ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ boobstrap Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΡΡΠΈ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ initrd ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΎ gentoo-chroot/ system, ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΡΠΎ SquashFS ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΈΡΡ initrd ΡΠ΅ Π·Π°ΡΠ΅Π΄ΠΈ. ΠΠ΅ΠΊΠ° Π²ΠΈ Π½Π°ΠΏΠΎΠΌΠ½Ρ, ΡΠ΅ Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Overlay FS Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ° ΡΡΡ SquashFS, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ boobs.use-overlayfs, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π° Π² tmpfs. ΠΡΠΈΡΠΊΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ gentoo-settings/
# mkdir initramfs/
# mkinitramfs initramfs/ --overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs > initrd
Initrd ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΡΡΠ΅ Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π±ΡΡΠ·ΠΎ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π· PXE, ΠΈΠ»ΠΈ ΠΏΡΠΈ Π·Π°ΡΠ΅Π΄Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΊΡΠΌ initrd Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° kexec -l /boot/vmlinuz-* βinitrd=./initrd && kexec -e, Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ»ΠΈ, ΠΊΠ°ΡΠΎ ΡΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° QEMU (Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΄ΠΎΡΠΈ Proxmox), ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠΈ IPXE ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ: kernel http://[...]/vmlinuz, initrd http://[ ...]/initrd, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅. ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π΄ΠΎΡΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ initrd Ρ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΡΡΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° mkbootisofs, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ²Π° Π΅ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΎΠΏΡΠΈΡΡΠ° -iso-9660 Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° syslinux Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π² Legacy-mode (BIOS) ΠΈ grub2 Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π² EFI- ΡΠ΅ΠΆΠΈΠΌ (UEFI).
# mkdir initrd/
# mkinitramfs initrd/ > initrd
# mkdir isoimage/
# mkdir isoimage/Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅
# cp /boot/vmlinuz-* isoimage/boot/vmlinuz
# cp initrd isoimage/boot/initrd
# mkbootisofs isoimage/ βiso-9660 βlegacy-boot syslinux βefi grub2 βΠΈΠ·Ρ
ΠΎΠ΄ boot.iso
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ Π΄Π° Π½Π΅ Π³ΠΈ ΠΏΠΎΡΠΎΡΠΈΡΠ΅, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎΡΠΎ ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ Π½Π΅Π³ΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠΏΡΠΈΡΡΠ° --bootable. Π’ΡΡΠ±Π²Π° ΡΠ°ΠΌΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π΄ΡΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ (fdisk) ΠΈ Π΄Π° Π³ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ (mkdosfs, mke2fs ΠΈ Ρ.Π½.), ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
# ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --bootable --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠΏΡΠΈΡΡΠ° --bootable ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΡ ΠΊΠΎΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΅ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π±ΡΡΡΠ»ΠΎΡΠ΄ΡΡΠ° Π½Π° ΡΠΎΠ²Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΠΊΠΎ Π·Π°Π±ΡΠ°Π²ΠΈΡΠ΅ Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² /dev/sda, Π±ΡΡΡΠ»ΠΎΡΠ΄ΡΡΡΡ Π² /dev/sda ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ --bootable Ρ ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠ° GNU/Linux ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π° ΡΠ°ΠΌΠΎ Π΄ΠΎ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ HDD, SSD ΠΈ Ρ.Π½. Π‘ΡΡΡΠ²Π° ΡΠΈ Π΄Π° ΠΏΡΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΠ΅ ΡΠΎΠ²Π° Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΠΎΡ Overlay FS / SquashFS ΠΈΠ»ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°ΡΠ° ΡΠ΅ ΠΈΠ·ΡΡΠ»ΠΎ Π² tmpfs, ΠΏΠΎ Π²Π°Ρ ΠΈΠ·Π±ΠΎΡ.
ΠΡΠ²Π΅Π½ Π²ΡΠΈΡΠΊΠΎ Π΄ΡΡΠ³ΠΎ, boobstrap ΠΈΠΌΠ° ΡΠ΅Π΄ΠΈΡΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ!
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ boobstrap initrd Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° mkinitramfs `mktemp -d` > /boot/initrd ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠΈ Ρ ΡΠΎΠ·ΠΈ initrd, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ /dev/sda1, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° Π²Π°ΡΠ°ΡΠ° Π΄ΠΎΠΌΠ°ΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΠΊΠ°ΡΠΎ Π½Π°ΡΠ»Π°Π³Π²Π°Ρ FS ΡΠ»ΠΎΠΉ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅, ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΌΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² tmpfs. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° boobs.copy-to-ram ΠΈ ΡΠΎΠ³Π°Π²Π° ΡΡΠ»Π°ΡΠ° Π²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΊΠΎΠΏΠΈΡΠ°Π½Π° Π² RAM, Π° ΡΠ²ΡΡΠ΄ΠΈΡΡ Π΄ΠΈΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡΠ°. Π£Π΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΡΠΏΠΈΡΠ΅ Π½Π΅ΡΠΎ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΡΠ½Π΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠ΅Π· ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅. π
ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΠ°Π½Π΅, Π°ΠΊΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π»ΠΈ ΡΡΠ΅ ΡΠΎΡΡΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ Π΄ΡΡΠ³ΠΎ. ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π² ΡΠΈΡΡ tmpfs, ΡΠΎΠ²Π° Π·Π° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π°ΠΊΠΎ ΡΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Overlay FS, ΡΠΎΠ³Π°Π²Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π² ΠΎΡΠ΄Π΅Π»Π½Π° tmpfs Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ: /mnt/overlayfs/rootfs-changes! Π‘ΡΠ΅Π½Π°ΡΠΈΡΡ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡ. Π‘ΡΠ°ΡΡΠΈΡΠ°Π»ΠΈ ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠΈ ΠΎΡ USB ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΠ²ΡΡΡΠΈΠ»ΠΈ ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΠΈ ΡΡΠ΅ ΠΈΡΠΊΠ°Π»ΠΈ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΎ, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΠ·Π΄Π°ΠΉΡΠ΅ cpio Π°ΡΡ ΠΈΠ² ΠΈ Π³ΠΎ ΠΏΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΡΡΠΊ, Π½Π° ΡΡΡΠΎΡΠΎ USB ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
# cd /mnt/overlayfs/rootfs-changes
# Π½Π°ΠΌΠΈΡΠ°ΠΌ . -print0 | cpio --create --format "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π°ΡΡ ΠΈΠ²Π° Π΄ΠΎ Π΄ΡΡΠ³ΠΈ βΡΠ»ΠΎΠ΅Π²Π΅β Π½Π° SquashFS ΠΈ cpio, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π°ΡΡ ΠΈΠ²ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΡΠΎ Π΄ΡΡΠ³ ΡΠ»ΠΎΠΉ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅. ΠΠ° Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° Π·Π° ΠΊΠ°ΡΠ²Π°Π½Π΅ boobs.rootfs-changes=/rootfs-changes.cpio. ΠΠΏΡΠΈΡΡΠ° boobs.rootfs-changes Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΉ Ρ Π΄ΠΎΡΡΡΠΏ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π°. Π‘Π»ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ /dev/sdb1, ΡΠΎΠ³Π°Π²Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π² Overlay FS, ΠΏΡΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ Π² /dev/sdb1.
Boobstrap, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠΈΡΠΎΠΊΠΈΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π² Π΅ΡΠ°ΠΏ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π²ΡΠΈΡΠΊΠΈ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ° Π²Π·Π΅ΡΠΈ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru