ืืื ืืืึธืื ืืขืืืึธืื ืืืื ืืึทืงืขื ืขื ืืื ืึท ืคืจืืืืืืขืจืง ืืขืจืืคื boobstrap, ืืขืฉืจืืื ืืื ืืขืจ POSIX ืฉืึธื, ืคึฟืึทืจ ืฉืึทืคึฟื ืืืืึทืืืข ืืืืืขืจ ืืื GNU/Linux ืืืกืืจืืืืืฉืึทื ื.Linuxืื ืคืจืืืืืืขืจืง ืขืจืืืืื ืืืื ืฆื ืขื ืืืื ืืขื ืืื ืฆื ืคืจืืฆืขืก ืืื ืืจืื ืืืื ืคืืืข ืืจืื: ืคืื ืืืคืืืืขื ืื ืกืืกืืขื ืืื ืืฉืจืื, ืฉืืคื ืื initramfs ืืืื ืืืืก ืื ืืืืื ืื ืืฉืจืืืขื ืกืืกืืขื, ืืื, ืืกืืคื ืฉื ืืืจ, ื ืืืืึทืืืข ISO ืืืื. Boostrap ืฉืืืกื ืืืื ืืจืื ืืืืืืึทืืื: mkbootstrap, mkinitramfs, ืืื mkbootisofs, ืืืชืืื.
mkbootstrap ืืื ืกืืืืืจื ืืืก ืกืืกืืขื ืืื ื ืืืืื ืืขืจื ืืืจืขืงืืืจื, ืขืก ืืื ืื ืืืืืขื ืข ืฉืืืฆืข ืคืืจ CRUX, ืืื ืืื ืคืื ืคืื Arch Linux / ืืึทื ืืืฉืึทืจืึธ ืืื ืคืึทืจืฉืคึผืจืืืืื ืืขื ืืึทืืืจื ืืืืฃ ืืื Debian ืืจืื-ืคึผืึทืจืืื ืืืืืืึทืืื ืคึผืึทืงืกืืจืึทืคึผ, ืืึทืกืขืกืืจืึทืคึผ ืืื ืืขืืืืกืืจืึทืคึผ ืืึธืื ืืขื ืืฆื ืืืขืจื ืจืืกืคึผืขืงืืืืืื.
mkinitramfs ืงืจืืืืฅ ืึท ืื ืืืจืึทืืคืก ืืืื, ืืืจ ืงืขื ืขื ื ืืฆื ืื ืืื ืกืืึทืืืจื ืกืืกืืขื ืืื ืืขืจ ืืืขืืืืืึทืืขืจ ืืื ืึท "ืึธืืืขืจืืื", ืงืึทืืคึผืจืขืกื ืืื SquashFS, ืึธืืขืจ ื ืึธื ืืืืื ื ืืื ืื ืกืืกืืขื, ืึทืจืืขื ืืืืื ืืื tmpfs. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ืืึทืคึฟืขื mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd ืืืขื ืฉืึทืคึฟื ืึทื initrd ืืขืงืข, ืึทืจืืึทื ืืขืจืขืื ื ืฆืืืื ืึธืืืืขืจืืืื ืืื "arch- chroot/" ืกืืกืืขื ืืื ืืืื "/ ืืืื", ืงืึทืืคึผืจืขืกื ืืื SquashFS, ืืืึธืก ืืืจ ืงืขื ืขื ืฉืืืืื ืืืจื PXE ืืื tmpfs, ืึธืืขืจ ืฉืึทืคึฟื ืึท ืืึธืึธืืึทืืืข ืืกืึธ ืืืื ืืื ืืขื ืื ืืืจื.
mkbootisofs ืงืจืืืืฅ ืึท ืืืืึธืืก / UEFI ืืึธืึธืืึทืืืข ืืกืึธ ืืืื ืคึฟืื ืื ืกืคึผืขืกืึทืคืืื ืืืขืืืืืึทืืขืจ. ื ืึธืจ ืฉืืขืื /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 ืืื ืืขื ืคึผืจืึธืืขืงื ืืืื ื ื ืืฉื ืคึผืึทืกืืง.
ืืื ืฆื ืืขืฉืืืื ื ืงืึธื ืืจืึธืืืจื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืืื ืึธื ืืืืื? ืื ืกืืึทืืืจื ืืื ืืืืคื.
# ืืื ืงืืึธืื https://github.com/sp00f1ng/boobstrap.git
# ืงืึธืืคึผืึทืงืืืืกืง ืืืืกืืจืึทืคึผ
# ืื ืกืืึทืืืจื # boobstrap/tests/crux_gnulinux-download-and-build
ืืืจ ืืืื ืืึทืจืคึฟื ืฆื ืื ืกืืึทืืืจื ืืืคึผืขื ืืึทื ืกืื, ื ืืืืื: cpio, grub, grub-efi, dosfstools, xorriso. ื ืืฆื squashfs-ืืืฉืืจืื ืืื ื ืื ื ืืืืืง; ืืืจ ืงืขื ืขื ืึทืจืืขืื ืืื ืืืคึผืคืก ืืื ืื ืฆืื ืขืืขื ืกืืืข ืคืื โโืืึทืจืึทื. ืืืื ืขืคึผืขืก ืืื ืคืขืื ืืืง ืืื ืื ืกืืกืืขื, ืืึธืึธืืกืืจืึทืคึผ ืืืขื ืืึทืจืืื ืืขื ืืื ืกืืึทืจืืึทืคึผ.
ืฆื ืคืึทืจืคึผืึธืฉืขืืขืจื ืื ืฉืึทืคืื ื ืคืื ืงืึทื ืคืืืืขืจืืืฉืึทื ื, ืืึธืึธืืกืืจืึทืคึผ ืกืึทืืืืฉืขืกืฅ ื ืืฆื "ืืขืืคึผืืึทืืขืก" ืืื "ืกืืกืืขืืก", ืื ืขืกืึทื ืก ืคืื ืืืึธืก ืืื ืฆื ื ืืฆื "ืืขืืคึผืืึทืืขืก" (ืืึธืึธืืกืืจืึทืคึผ-ืืขืืคึผืืึทืืขืก /) ืฆื ืืขืฉืืืื ื ืื ืกืืึทืืืจื ืกืืกืืขืืขื ืคึฟืื ืึท ืืขืงืข, ืืื ืืืืึทื "ืกืืกืืขืืก" (ืืึธืึธืืกืืจืึทืคึผ- ืกืืกืืขืืก /) ืืขื ืืฆื ืฆื ืฉืืขืื ืึทืจืืืฃ ืืขืฆื ืงืึทื ืคืืืืขืจืืืฉืึทื ื.
ืืืฉื, ืืืืคื ืืขื ืกืงืจืืคึผื boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild ืืืขื ืืื ืกืืืืืจื ื ืืื ืืืืืข ืงืื ืคืืืืจืืฆืืข ืคืื โโืื CRUX GNU ืกืืกืืขื/Linux ืืื ืจืึทืืขืืืขื ืขืก ืฆื ืืขืจ crux_gnulinux-embedded.rootfs ืืขืงืข. ืืขืจื ืึธื, ืืืืคื ืืืจ bootstrap/bootstrap-systems/default/crux_gnulinux.bbuild , ืืืึธืก ืืืขื ืืึธืื ืื ืขืจืฉืืข ืงืึธื ืคืืืืจืึทืฆืืข ืคึฟืื ืืขืจ ืืืืื ืืขืจืืึธื ืืขืจ ืืขืงืข, ืืืจืืคึฟืืจื ืึทืืข ื ืืืืืงืข ืงืึธื ืคืืืืจืึทืฆืืข, ืืื ืฆืืืจืืืื ืึท ืืืืึทืืืข ISO. ืืึธืก ืืื ืืึทืงืืืขื, ืืืฉื, ืืืขื ืงืืืคื ืกืืกืืขืืขื ื ืืฆื ืื ืืขืืืข ืงืึธื ืคืืืืจืึทืฆืืข: ืึผืื ืฆื ืคึฟืึทืจืืืึทืื ืฆื ืืึทืจืคึฟื ืืึทืฉืจืฒึทืื ืืขื ืืขืืื ืกืืื ืคึผืึทืงืึทืืืฉืึทื ืืขืืขืก ืืึธื, ื ืืฆื ืืืจ ืึทื ืืืื ืฆืืงืข ืืขืืคึผืืึทื, ืืึทืืืจื ืืืืฃ ืืืขืืืขืจ ืืืจ ืฉืึทืคึฟื ืืขืจื ืึธื ืืืืึทืืืข ืืืืืขืจ ืคึฟืื ืื ืกืืกืืขืืขื ืืื ืืขืจ ืืขืฆืืขืจ ืงืึธื ืคืืืืจืึทืฆืืข.
ืืื ืงืขื ืืื ื ืืฆื ืึทืืข ืืขื?
ืืืจ ืงืึทื ืคืืืืขืจ ืื ืกืืกืืขื ืืื ืึท ืืขืงืข ืึทืืึธื ืืื ืืืจื ืคืืืกื ืืืง ืืืจ ืืืืขื ืืื / ืึธืืขืจ ืืขืจืืืึทื ืืืงื ืขืก. ืื ืกืืกืืขื ืืืืคื ืืื ืืืคึผืคืก, ืืืึธืก ืืืื ืขืก ืืกืขื ืฉืึทืื ืืืกืคึผืึธืืืึทืืึทื. ืืืื ืื ืกืืกืืขื ืคืืืื, ืืืจ ืงืขื ืขื ืฆืืจืืงืงืืืขื ืฆื ืืืื ืึธืจืืืื ืขื ืฉืืึทื ืืื ืืืื ืืื ืคืื ืื ืืึทืฉืืขืืืง ืงื ืขืคึผื. ืืืจ ืงืขื ืขื ืืขืฉืึธืืขื ืืืืคื rm -rf /.
ืืืจ ืงืขื ืขื ืงืึทื ืคืืืืขืจ ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ื ืคืื ืึทืืข ืืืื ืกืืกืืขืืขื ืืึธืืงืึทืื, ืฉืึทืคึฟื ืืืืืขืจ, ืคึผืจืืืืจื ืืื ืืื ืึท ืืืืจืืืึทื ืืึทืฉืื ืึธืืขืจ ืืึทืืื ืืขืจ ืืึทืื ืืืึทืจื, ืืื ืฆืืคึฟืขืืืงืขืจ ืืื ืฆื ืึท ืืืืึทื ืกืขืจืืืขืจ ืืื ืืืืคื ืืืืื ืฆืืืื ืงืึทืืึทื ืื kexec -l /vmlinuz โinitrd=/initrd && kexec -e ืฆื ืืขืจืืืึทื ืืืงื ืื ืืื ืฆืข ืกืืกืืขื, ืจืืกืืึทืจื ืขืก ืืื tmpfs.
ืืื ืืขืจ ืืขืืืืงืขืจ ืืืขื, ืืืจ ืงืขื ืขื ืึทืจืืืขืจืคืืจื ืึทืืข ืกืืกืืขืืขื, ืืืฉื ืืืืฃ VDS, ืฆื ืึทืจืืขืื ืืื tmpfs, ืืื ืขื ืงืจืืคึผื ืื /dev/vda ืืืกืง ืืื ื ืืฆื ืขืก ืืืืื ืคึฟืึทืจ ืืึทืื, ืึธื ืื ื ืืื ืฆื ืืึทืืื ืื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื ืืืืฃ ืขืก. ืืขืจ ืืืืื "ืคืื ื ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืงืึทืืืฉ" ืืื ืืขื ืคืึทื ืืืขื ืืืื ืืืืื ืื "ืงืึทืื ืืึทืืคึผ" ืคืื ืื ืืึผืจืื ืคืื ืืืื ืืืืจืืืึทื ืืึทืฉืื, ืืื ืืื ืื ืืขืฉืขืขื ืืฉ ืคืื ืึท ืงืึทืืคึผืจืึทืืืื ืคืื ืื ืกืืกืืขื (ืืืฉื, ืืืจื ืืขืกืื ื ืื ssh ืคึผืึทืจืึธื ืึธืืขืจ ืึท ืืืึทืื ืขืจืึทืืืืืื ืืื ืขืงืกืื), ืืืจ ืงืขื ืขื ืืจืืคืงืืคืืข ืึท ื ืืึทืข ISO ืืืจื ืื "ืงืึธื ืืจืึธื ืืึทืคืืืข" ืคืื ืืืื ืฉืคึผืืึทืืขืจ, ืฆื ืืจืขื ืืขื ืื VDS ืฆืืจืืง ืืื ืึธืคึผืขืจืึทืฆืืข, ืึธื ืคืึทืจืืขืกื ืฆื ืจืขืืึทืืืจื ืื ืกืืกืืขื ืงืึทื ืคืืืืขืจืืืฉืึทื ืฆื ืคืึทืจืืึทืื ืึทืืข ืืืึทืื ืขืจืึทืืืืืืื. ืืึธืก ืืื ืคืึทืกืืขืจ ืืื ืจืืื ืกืืึทืืืื ื, ืกืึทืืกืึทืงืืืึทื ื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื / ืึธืืขืจ ืจืืกืืึธืจืื ื ืคึฟืื ืึท ืืึทืงืึทืคึผ, ืืืืึทื ืืื ืขืกืึทื ืก, ืื ืืึธืืื ืืึธืึทืืึทืืืข ืืกืึธ ืืื ืืืื ืกืืกืืขื ืืื ืืืื ืืึทืงืึทืคึผ. "ืืืื ืงืึธืคึผืืจืืืขื ืืฉ - ืืืื ืขืจ ืืึทืฉืืขืืืง."
ืืื ืื ืกืืฃ, ืืืจ ืงืขื ืขื ืืึทืื ืงืืื ืคืึทืจืฉืคึผืจืืืืื ื ืคึฟืึทืจ ืืืื ืืืืขืจืคืขื ืืฉื, ืฉืจืืึทืื ืขืก ืฆื ืึท ืืกื ืคืึธืจ ืืื ืึทืจืืขื ืืื ืขืก, ืึทืคึผืืืืืื ื ืขืก ืืื ืืืจืฃ ืืื ืจืืจืืืืื ื ืขืก ืฆื ืื ืืกื ืคืึธืจ ืืืืืขืจ. ืึทืืข ืืึทืื ืืขื ืขื ืกืืึธืจื ืืื ืื ืืืืืงื ืก. ืืืจ ื ืื ืืขืจ ืืึทืจืคึฟื ืฆื ืืึธืจื ืืืขืื ืื ืืืืขืจืงืืึทื ืคืื ืื ืกืืกืืขื ืืื ืืึทืื ืึท ืืึทืงืึทืคึผ ืืืขื ืื ืกืืกืืขื, ืืื ืืืืขืจืืืจื, ืืื ืืกืขื ืฉืึทืื ืืขืืืืจื "ืืืกืคึผืึธืืืึทืืึทื".
ืืืื ืืืื, ืคึฟืืจืืืืื ืืื ืืึทืืขืจืงืื ืืขื ืืขื ืขื ืืึทืืจืืกื.
ืืื ืื ืจืืคึผืึทืืึทืืึธืจื ืืืึท ืื ืืื ืง ืืื ืื, ืขืก ืืื ืึท ืืืืืืื README ืืขืงืข (ืืื ืขื ืืืืฉ) ืืื ืึท ืืึทืฉืจืืึทืืื ื ืคืื ืืขืืขืจ ื ืืฆื ืืื ืืืืฉืคืืื ืคืื ื ืืฆื, ืขืก ืืื ืืืื ืืืืืืื ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืจืืกืืฉ ืืื ืึท ืึทื ืืืืืงืืื ื ืืขืฉืืืืข ืื ืืืฆื ืืื ืืขื ืืื ืง: ืืึธืึธืืกืืจืึทืคึผ ืฉืืืืื ืฉืจืืคื ืงืึธืืคึผืืขืงืก.
ืืงืืจ: linux.org.ru

