БъздаванС Π½Π° bootstrap v1.2 изобраТСния


БъздаванС Π½Π° bootstrap v1.2 изобраТСния

слСд само мСсСц Π‘Π»Π΅Π΄ Π±Π°Π²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ бСшС пуснат 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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€