Π₯ΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π²Π°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ boobstrap, Π½Π°ΠΏΠΈΡΠ°Π½ΡΠΉ Π½Π° POSIX shell, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°ΠΌΠΈ 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ΠΌΠ±. busybox ΠΆΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, 3-5ΠΌΠ± ΠΏΡΠΎΡΠΈΠ² 30-50ΠΌΠ± ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ GNU/Linux ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ busybox Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ.
ΠΠ°ΠΊ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΠ±Π½ΠΎΡΡΡ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ? Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅.
# git clone https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# make install# boobstrap/tests/crux_gnulinux-download-and-build
Π’Π°ΠΊ ΠΆΠ΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: cpio, grub, grub-efi, dosfstools, xorriso. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ squashfs-tools Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² tmpfs ΠΏΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΎΠ±ΡΡΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅Π³ΠΎ-ΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡ, boobstrap ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅.
ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ boobstrap ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «ΡΠ°Π±Π»ΠΎΠ½Ρ» ΠΈ «ΡΠΈΡΡΠ΅ΠΌΡ», ΡΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «ΡΠ°Π±Π»ΠΎΠ½Ρ» (bootstrap-templates/) Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ «ΡΠΈΡΡΠ΅ΠΌΡ» (bootstrap-systems/) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ.
Π’Π°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° 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 Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠΎ ΠΈ Π΅ΡΡΡ Π²Π°Ρ Π±ΡΠΊΠ°ΠΏ. «Π‘Π΅ΠΌΡ Π±Π΅Π΄ — ΠΎΠ΄ΠΈΠ½ Reset.»
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ, Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π½Π° USB-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½ΡΠΌ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ Π΅Π³ΠΎ Π½Π° USB-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ. ΠΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ Π² «ΠΎΠ±Π»Π°ΠΊΠ°Ρ ». ΠΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΡΡ Π·Π° ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π΄Π΅Π»Π°ΡΡ Π΅Ρ Π±ΡΠΊΠ°ΠΏ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΠΎΠ²ΡΠΎΡΡΡΡ, ΠΏΠΎ ΡΡΡΠΈ ΡΡΠ°Π»Π° «ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠΉ».
ΠΠ°ΡΠΈ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ.
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ README-ΡΠ°ΠΉΠ» (Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ) Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅: ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² boobstrap.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru