Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ² boobstrap v1.2


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ² boobstrap v1.2

Бпустя всСго мСсяц нСспСшной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ состоялся Ρ€Π΅Π»ΠΈΠ· boobstrap v1.2 — Π½Π°Π±ΠΎΡ€ инструмСнтов Π½Π° POSIX shell для создания Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ.

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 ΠΎΠ±Ρ€Π°Π· с систСмой. БистСма всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ состоянии ΠΈ Π² случаС ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² исходноС состояниС Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Reset. Π–Π΅Π»Π°Π΅Ρ‚Π΅ пСрСнСсти систСму Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ хост, Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ систСму? Boobstrap сдСлаСт это.

Из ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° 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/ систСму, ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ 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 , boot. Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π΄Π°ΠΆΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ initrd с вашСй систСмой Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования.

Для создания Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° mkbootisofs, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ выглядит созданиС ISO ΠΎΠ±Ρ€Π°Π·Π° с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ —iso-9660 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ syslinux для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Legacy-mode (BIOS) ΠΈ grub2 для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² EFI-mode (UEFI).

# mkdir initrd/
# mkinitramfs initrd/ > initrd
# mkdir isoimage/
# mkdir isoimage/boot
# cp /boot/vmlinuz-* isoimage/boot/vmlinuz
# cp initrd isoimage/boot/initrd
# mkbootisofs isoimage/ —iso-9660 —legacy-boot syslinux —efi grub2 —output boot.iso
—overlay gentoo-chroot/ —overlay gentoo-settings/ —squashfs

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π»ΠΈΠ±ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… вовсС, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ISO ΠΎΠ±Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан.

Установка Π½Π° любой Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ с Π½Π΅Π³ΠΎ выполняСтся ΠΎΠΏΡ†ΠΈΠ΅ΠΉ —bootable. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ (fdisk) ΠΈ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… (mkdosfs, mke2fs ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅), послС Ρ‡Π΅Π³ΠΎ ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ устройство Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ.

# mount /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, Π³Π΄Π΅ установлСна ваша домашняя систСма, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊΠ°ΠΊ read-only слой Overlay FS, Π° всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Ρ‚Π΅, Π·Π°ΠΏΠΈΡˆΡƒΡ‚ΡΡ лишь Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² tmpfs. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ boobs.copy-to-ram ΠΈ Ρ‚ΠΎΠ³Π΄Π° вся ваша систСма Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ скопирована Π² RAM, Π° Тёсткий диск ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π£Π΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ потрСбуСтся Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ, Π° ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ²ΡˆΠΈΡΡŒ. πŸ™‚

Но Ρ‡Ρ‚ΠΎ Ссли потрСбуСтся всё ΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС измСнСния Π² систСмС? НапримСр, Π²Ρ‹ установили софт ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² чистом tmpfs Ρ‚Π°ΠΊΠΎΠ΅ ΠΊ соТалСнию Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Ссли Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΡΡŒ с использованиСм Overlay FS, Ρ‚ΠΎ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ происходят Π² систСмС, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ tmpfs-Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ: /mnt/overlayfs/rootfs-changes! Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ использования ΠΎΡ‡Π΅Π½ΡŒ простой. Π’Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΡΡŒ Π² свою систСму с USB-устройства, ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всё, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, Ρ‚ΠΎΠ³Π΄Π° создайтС cpio-Π°Ρ€Ρ…ΠΈΠ² ΠΈΠ· ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ сюда ΠΆΠ΅, Π½Π° это ΠΆΠ΅ USB-устройство.

# cd /mnt/overlayfs/rootfs-changes
# find . -print0 | cpio —create —format "newc" —null —quiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² рядом с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ SquashFS ΠΈ cpio «ΡΠ»ΠΎΡΠΌΠΈ», Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π°Ρ€Ρ…ΠΈΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊΠ°ΠΊ просто Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ read-only слой. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с измСнСниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ boobs.rootfs-changes=/rootfs-changes.cpio. ΠžΠΏΡ†ΠΈΡ boobs.rootfs-changes ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ слой с доступом для измСнСния. Π‘Π»ΠΎΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ устройство, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ /dev/sdb1, Ρ‚ΠΎΠ³Π΄Π° всС измСнСния сдСланныС Π² Overlay FS Π±ΡƒΠ΄ΡƒΡ‚ просто ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π° /dev/sdb1.

Boobstrap Π½Π΅ смотря Π½Π° ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности всё Π΅Ρ‰Ρ‘ находится Π½Π° стадии развития, всС ваши замСчания ΠΈ прСдлоТСния ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru