ΠΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ Π½Π° Π²Π°ΡΠ΅ΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΊΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½Π° boobstrap, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π² ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° Π½Π° POSIX, Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Ρ GNU/Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ. Π Π°ΠΌΠΊΠ°ΡΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠ°ΠΌΠΎ Π² ΡΡΠΈ ΠΏΡΠΎΡΡΠΈ ΡΡΡΠΏΠΊΠΈ: ΠΎΡ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π² chroot, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° initramfs ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° chroot ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΈ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠΎ ISO ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. boobstrap Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ mkbootstrap, mkinitramfs ΠΈ mkbootisofs.
mkbootstrap ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π² ΠΎΡΠ΄Π΅Π»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΈΠΌΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° CRUX, Π° Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Arch Linux / Manjaro ΠΈ Debian, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ pacstrap, basestrap ΠΈ debootstrap.
mkinitramfs ΡΡΠ·Π΄Π°Π²Π° initramfs ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° ΠΊΠ°ΡΠΎ βΠ½Π°ΡΠ»Π°Π³Π²Π°Π½Π΅β, ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SquashFS, ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² tmpfs. Π’Π°ΠΊΠ° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ initrd ΡΠ°ΠΉΠ», Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π²Π΅ Π½Π°ΡΠ»Π°Π³Π²Π°Π½ΠΈΡ Ρ "arch- chroot/" ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π²Π°ΡΠΈΡ "/home", ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SquashFS, ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π· PXE Π² tmpfs ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ISO ΠΎΠ±ΡΠ°Π· Ρ ΡΠΎΠ·ΠΈ initrd.
mkbootisofs ΡΡΠ·Π΄Π°Π²Π° BIOS/UEFI ΡΡΠ°ΡΡΠΈΡΠ°Ρ ISO ΠΎΠ±ΡΠ°Π· ΠΎΡ ΠΏΠΎΡΠΎΡΠ΅Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΡΠΎΡΡΠΎ ΠΏΠΎΡΡΠ°Π²Π΅ΡΠ΅ /boot/vmlinuz ΠΈ /boot/initrd Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°.
boobstrap Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° busybox ΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠ° initramfs ΡΡΠ΅Π΄Π° ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ldd, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π‘ΠΏΠΈΡΡΠΊΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ Π²ΡΠΈΡΠΊΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ ΡΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» /etc/boobstrap/boobstrap.conf. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ chroot/, ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π° ΡΡΠ΅Π΄Π° Π½Π° initramfs. ΠΠ°ΡΠΎ ΡΠ°ΠΊΠ°Π²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½Π°, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π° ΡΡΠ΅Π΄Π°, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π±Π»ΠΎΠ½ΡΡ βcrux_gnulinux-embeddedβ, ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ xz Π·Π°Π΅ΠΌΠ° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ ΠΎΡ 37 MB. busybox, ΠΎΡΠ²Π΅Π½ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΈ, 3-5 MB ΡΡΠ΅ΡΡ 30-50 MB Π½Π° ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π° GNU/Linux ΡΡΠ΅Π΄Π°, Π²Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° busybox Π² ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ.
ΠΠ°ΠΊ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅? ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅.
# git ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ# boobstrap/tests/crux_gnulinux-download-and-build
Π’ΡΡΠ±Π²Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: cpio, grub, grub-efi, dosfstools, xorriso. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° squashfs-tools Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ; ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π² tmpfs Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ RAM. ΠΠΊΠΎ Π½Π΅ΡΠΎ Π»ΠΈΠΏΡΠ²Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, boobstrap ΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π° ΡΠΎΠ²Π° ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅.
ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, boobstrap ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° βΡΠ°Π±Π»ΠΎΠ½ΠΈβ ΠΈ βΡΠΈΡΡΠ΅ΠΌΠΈβ, ΡΠΈΡΡΠΎ ΡΡΡΠ½ΠΎΡΡ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ βΡΠ°Π±Π»ΠΎΠ½ΠΈβ (bootstrap-templates/) Π·Π° Π±ΡΡΠ·ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ ΡΠ°ΠΉΠ» ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ βΡΠΈΡΡΠ΅ΠΌΠΈβ (bootstrap- ΡΠΈΡΡΠ΅ΠΌΠΈ/), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Π’Π°ΠΊΠ° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° CRUX GNU/Linux ΠΈ ΡΠ΅ Ρ Π·Π°ΠΏΠΈΡΠ΅ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° crux_gnulinux-embedded.rootfs, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π·Π°ΡΠ΅Π΄ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡ ΡΠ°ΠΉΠ», ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΡΡΠ»Π°ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ISO. Π’ΠΎΠ²Π° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ: Π·Π° Π΄Π° Π½Π΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΅Π΄ΠΈΠ½ ΡΠ°Π±Π»ΠΎΠ½, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ΠΡΠ΄Π΅ ΠΌΠΎΠ³Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°?
ΠΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π²ΡΠ² ΡΠ°ΠΉΠ» Π²Π΅Π΄Π½ΡΠΆ ΠΈ ΠΊΠ°ΡΠΎ Ρ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅, Ρ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΡΠ΅ ΠΈ/ΠΈΠ»ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π² tmpfs, ΠΊΠΎΠ΅ΡΠΎ Ρ ΠΏΡΠ°Π²ΠΈ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½Π°. ΠΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΠΉ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Ρ Π΅Π΄Π½ΠΎ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° Π±ΡΡΠΎΠ½Π° Reset. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ rm -rf /.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΄Π° Π³ΠΈ ΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π²ΡΠ² Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ Ρ Π°ΡΠ΄ΡΠ΅Ρ, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Π³ΠΈ ΠΊΠ°ΡΠΈΡΠ΅ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΡΡΡΠ²ΡΡ ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ kexec -l /vmlinuz βinitrd=/initrd && kexec -e Π·Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΡΠΎ Ρ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π² tmpfs.
ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° VDS, Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π² tmpfs ΠΈ Π΄Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ /dev/vda Π΄ΠΈΡΠΊΠ° ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ Π·Π° Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΡΡΠΆΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° Π½Π΅Π³ΠΎ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° βΡΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡβ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°ΠΌΠΎ βΡΡΡΠ΄Π΅Π½ΠΎΡΠΎ ΠΈΠ·Ρ Π²ΡΡΠ»ΡΠ½Π΅β Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π²Π°ΡΠ°ΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π· ΠΎΡΠ³Π°ΡΠ²Π°Π½Π΅ Π½Π° ssh ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΠΈΠ»ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² Exim), ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ Π½ΠΎΠ² ISO ΡΡΠ΅Π· βΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»β Π½Π° Π²Π°ΡΠΈΡ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ, Π·Π° Π΄Π° Π²ΡΡΠ½Π΅ΡΠ΅ VDS ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ, Π±Π΅Π· Π΄Π° Π·Π°Π±ΡΠ°Π²ΡΡΠ΅ Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π·Π° Π΄Π° Π·Π°ΡΠ²ΠΎΡΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅, ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ ΠΈ/ΠΈΠ»ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ Π°ΡΡ ΠΈΠ², ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ISO Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Ρ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π²Π°ΡΠ΅ΡΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅. "Π‘Π΅Π΄Π΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ - Π΅Π΄Π½ΠΎ Π½ΡΠ»ΠΈΡΠ°Π½Π΅."
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Π·Π° Π²Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ, Π΄Π° Ρ Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π½Π° USB ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ, ΠΊΠ°ΡΠΎ Π³ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΏΠΎΡΠ΅Π΄ Π½ΡΠΆΠ΄ΠΈΡΠ΅ ΠΈ Π³ΠΎ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ Π½Π° USB ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ. ΠΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΎΠ±Π»Π°ΡΠΈΡΠ΅. ΠΠ΅ΡΠ΅ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° ΡΠ΅ ΡΡΠ΅Π²ΠΎΠΆΠΈΡΠ΅ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΏΠΎΠ²ΡΠ°ΡΡΠΌ, ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ Π΅ ΡΡΠ°Π½Π°Π»Π° βΠ·Π° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°β.
ΠΠ°ΡΠΈΡΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ ΡΠ° Π΄ΠΎΠ±ΡΠ΅ Π΄ΠΎΡΠ»ΠΈ.
Π Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π΅Π½ ΡΠ°ΠΉΠ» README (Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ) Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π²ΡΡΠΊΠ° ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, ΠΈΠΌΠ° ΡΡΡΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΠΊΠΈ Π΅Π·ΠΈΠΊ ΠΈ ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°: Boobstrap Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ ΡΠΊΡΠΈΠΏΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru