ืืื ืืืึธืื ืืื ืฆื ืคืึธืจืฉืืขืื ืฆื ืืืื ืืคืืขืจืงืืึทืืงืืื ืึท ืคืจืืืืืืขืจืง ืืขืจืืคึฟื ืืึธืึธืืกืืจืึทืคึผ, ืืขืฉืจืืื ืืื ืื POSIX ืฉืึธื, ืคึฟืึทืจ ืงืจืืืืืื ื ืฉืืืืื ืืืืืขืจ ืืื GNU / ืืื ืืงืก ืืืกืืจืืืืืฉืึทื ื. ืื ืคืจืืืืืืขืจืง ืึทืืึทืื ืืืจ ืฆื ืืืจืืืืื ืื ืืื ืฆืข ืคึผืจืึธืฆืขืก ืืื ืืืืื ืืจืื ืคึผืฉืื ืกืืขืคึผืก: ืคึฟืื ืืืคึผืืืืื ื ืื ืกืืกืืขื ืืื ืึท ืืฉืจืึธืึธื, ืงืจืืืืืื ื ืึทื ืื ืืจืึทืืคืก ืืืื ืืืึธืก ืืืื ืื ืืฉืจืึธืึธืืขื ืกืืกืืขื, ืืื ืืขืกืึธืฃ ืึท ืืึธืึธืืึทืืืข ืืกืึธ ืืืื. ืืึธืึธืืกืืจืึทืคึผ ืืืื ืืจืื ืืืืืืึทืืื, mkbootstrap, mkinitramfs ืืื mkbootisofs ืจืืกืคึผืขืงืืืืืื.
mkbootstrap ืื ืกืืึธืื ืื ืกืืกืืขื ืืื ืึท ืืึทืืื ืืขืจ ืืืขืืืืืึทืืขืจ, ืขืก ืืื ืืขืืืืจื ืฉืืืฆื ืคึฟืึทืจ CRUX, ืืื ืืื ืื ืคืึทื ืคืื ืึทืจืืฉ ืืื ืืงืก / ืืึทื ืืืฉืึทืจืึธ ืืื ืืขืืืึทื-ืืืืืจื ืืืกืืจืืืืืฉืึทื ื, ืืจืื-ืคึผืึทืจืืื ืืืืืืึทืืื ืคึผืึทืงืกืืจืึทืคึผ, ืืึทืกืขืกืืจืึทืคึผ ืืื ืืขืืึธืึธืืกืืจืึทืคึผ ืืืื ืืืื ืจืืกืคึผืขืงืืืืืื ืืขืืืืื ื.
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 ืืื ืื ืืืขืืืืืึทืืขืจ.
ืืึธืึธืืกืืจืึทืคึผ ืืื ื ืืฉื ื ืืฆื ืืืืืืึธืงืก, ืืื ืฆื ืฉืึทืคึฟื ืึท ืืจืืขืื ืื ืืจืึทืืคืก ืกืืืืืืข, ืึท ืืื ืืืึทื ืืึทื ื ืคืื ืืืืื ืืื ืงืึทืคึผืื ื ืืฆื ืืื, ื ืืืืืง ืฆื ืฉืืืืื ืืื ืืึทืฉืืืืขื ืฆื ืื ืกืืกืืขื. ืื ืจืฉืืื ืคืื ืืืืื ืฆื ืฆืืืืขื ืขื, ืืื ืึทืืฅ ืึทื ืืขืจืฉ, ืงืขื ืขื ืืืื ืงืึทื ืคืืืืขืจื ืืืจื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข /etc/boobstrap/boobstrap.conf. ืืืจ ืงืขื ื ืืืื ืื ืกืืึทืืืจื ืงืืื ืืื ืืืึทืืืกืืืง ืคืึทืจืฉืคึผืจืืืืื ื ืืื ืึท ืืึทืืื ืืขืจ ืืฉืจืึธืึธื /, ืคึฟืื ืืืึธืก ืืืจ ืงืขื ืขื ืฉืึทืคึฟื ืึท ืคืื-ืคืืขืืืฉื ืื ืืจืึทืืคืก ืกืืืืืืข. ืืื ืึทืืึท ืึท ืืื ืืืึทืืืกืืืง, ืึธืืขืจ ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื ืคืื-ืคืืขืืืฉื ืกืืืืืืข, ืขืก ืืื ืคืืจืืขืืืืื ืฆื ื ืืฆื ืื "crux_gnulinux-ืขืืืขืืื" ืืืกืืขืจ, ืืืึธืก ื ืึธื ืงืกื ื ืขืื ืึท ืงืึธืืคึผืจืึธืืืก ืคืื 37 ืื. ืืืืืืึธืงืก, ืึทืืืฅ ืืืึทื ืืจืืืก, 3-5 ืื ืงืขืื 30-50 ืืขืืืืืืื ืคืื ืึท ืคืื-ืคืืขืืืฉื GNU / ืืื ืืงืก ืกืืืืืืข, ื ืื ืืขืจ ืึธืคืคืขืจืก ืงืืื ืึทืืืืึทื ืืืืืฉืื, ืึทืืื ืื ื ืืฆื ืคืื ืืืืืืึธืงืก ืืื ืึท ืคึผืจืืืขืงื ืืื ื ืืฉื ืฆืื ืขืืขื.
ืืื ืฆื ืืขืฉืืืื ื ืงืึธื ืืจืึธืืืจื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืืื ืึธื ืืืืื? ืื ืกืืึทืืืจื ืืื ืืืืคื.
# ืืื ืงืืึธืื 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, ืืื ืืืจ ืืืืคื boobstrap/bootstrap-ืกืืกืืขืืก. /default/crux_gnulinux.bbuild ืืืึธืก ืืืขื ืืึธืื ืื ืขืจืฉืืืง ืงืึทื ืคืืืืขืจืืืฉืึทื ืคืื ืื ืืขืจืืื ื ืืขืงืข, ืืึธื ืึทืืข ืื ื ืืืืืง ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืฆืืืจืืืื ืึท ืืึธืึธืืึทืืืข ืืกืึธ. ืืึธืก ืืื ืืึทืงืืืขื ืืืขื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืคืืืข ืกืืกืืขืืขื ื ืืฆื ืื ืืขืืืข ืืืคึผ ืคืื ืงืึทื ืคืืืืขืจืืืฉืึทื: ืืื ืกืืจ ื ืืฉื ืฆื ืืึทืฉืจืืึทืื ืื ืืขืืืข ืืึทื ื ืคืื ืคึผืึทืงืึทืืืฉืึทื ืืขืืขืจ ืืึธื, ืืืจ ื ืืฆื ืืืื ืืืกืืขืจ, ืืืืืจื ืืืืฃ ืืืึธืก ืืืจ ืืึทืื ืฉืืืืื ืืืืืขืจ ืคืื ืกืืกืืขืืขื ืืื ืื ืืขืฆื ืงืึทื ืคืืืืขืจืืืฉืึทื.
ืืื ืงืขื ืืื ื ืืฆื ืึทืืข ืืขื?
ืืืจ ืงืึทื ืคืืืืขืจ ืื ืกืืกืืขื ืืื ืึท ืืขืงืข ืึทืืึธื ืืื ืืืจื ืคืืืกื ืืืง ืืืจ ืืืืขื ืืื / ืึธืืขืจ ืืขืจืืืึทื ืืืงื ืขืก. ืื ืกืืกืืขื ืืืืคื ืืื ืืืคึผืคืก, ืืืึธืก ืืืื ืขืก ืืกืขื ืฉืึทืื ืืืกืคึผืึธืืืึทืืึทื. ืืืื ืื ืกืืกืืขื ืคืืืื, ืืืจ ืงืขื ืขื ืฆืืจืืงืงืืืขื ืฆื ืืืื ืึธืจืืืื ืขื ืฉืืึทื ืืื ืืืื ืืื ืคืื ืื ืืึทืฉืืขืืืง ืงื ืขืคึผื. ืืืจ ืงืขื ืขื ืืขืฉืึธืืขื ืืืืคื rm -rf /.
ืืืจ ืงืขื ืขื ืงืึทื ืคืืืืขืจ ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ื ืคืื ืึทืืข ืืืื ืกืืกืืขืืขื ืืึธืืงืึทืื, ืฉืึทืคึฟื ืืืืืขืจ, ืคึผืจืืืืจื ืืื ืืื ืึท ืืืืจืืืึทื ืืึทืฉืื ืึธืืขืจ ืืึทืืื ืืขืจ ืืึทืื ืืืึทืจื, ืืื ืฆืืคึฟืขืืืงืขืจ ืืื ืฆื ืึท ืืืืึทื ืกืขืจืืืขืจ ืืื ืืืืคื ืืืืื ืฆืืืื ืงืึทืืึทื ืื kexec -l /vmlinuz โinitrd=/initrd && kexec -e ืฆื ืืขืจืืืึทื ืืืงื ืื ืืื ืฆืข ืกืืกืืขื, ืจืืกืืึทืจื ืขืก ืืื tmpfs.
ืืื ืืขืจ ืืขืืืืงืขืจ ืืืขื, ืืืจ ืงืขื ืขื ืึทืจืืืขืจืคืืจื ืึทืืข ืกืืกืืขืืขื, ืืืฉื ืืืืฃ VDS, ืฆื ืึทืจืืขืื ืืื tmpfs, ืืื ืขื ืงืจืืคึผื ืื /dev/vda ืืืกืง ืืื ื ืืฆื ืขืก ืืืืื ืคึฟืึทืจ ืืึทืื, ืึธื ืื ื ืืื ืฆื ืืึทืืื ืื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื ืืืืฃ ืขืก. ืืขืจ ืืืืื "ืคืื ื ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืงืึทืืืฉ" ืืื ืืขื ืคืึทื ืืืขื ืืืื ืืืืื ืื "ืงืึทืื ืืึทืืคึผ" ืคืื ืื ืืึผืจืื ืคืื ืืืื ืืืืจืืืึทื ืืึทืฉืื, ืืื ืืื ืื ืืขืฉืขืขื ืืฉ ืคืื ืึท ืงืึทืืคึผืจืึทืืืื ืคืื ืื ืกืืกืืขื (ืืืฉื, ืืืจื ืืขืกืื ื ืื ssh ืคึผืึทืจืึธื ืึธืืขืจ ืึท ืืืึทืื ืขืจืึทืืืืืื ืืื ืขืงืกืื), ืืืจ ืงืขื ืขื ืืจืืคืงืืคืืข ืึท ื ืืึทืข ISO ืืืจื ืื "ืงืึธื ืืจืึธื ืืึทืคืืืข" ืคืื ืืืื ืฉืคึผืืึทืืขืจ, ืฆื ืืจืขื ืืขื ืื VDS ืฆืืจืืง ืืื ืึธืคึผืขืจืึทืฆืืข, ืึธื ืคืึทืจืืขืกื ืฆื ืจืขืืึทืืืจื ืื ืกืืกืืขื ืงืึทื ืคืืืืขืจืืืฉืึทื ืฆื ืคืึทืจืืึทืื ืึทืืข ืืืึทืื ืขืจืึทืืืืืืื. ืืึธืก ืืื ืคืึทืกืืขืจ ืืื ืจืืื ืกืืึทืืืื ื, ืกืึทืืกืึทืงืืืึทื ื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื / ืึธืืขืจ ืจืืกืืึธืจืื ื ืคึฟืื ืึท ืืึทืงืึทืคึผ, ืืืืึทื ืืื ืขืกืึทื ืก, ืื ืืึธืืื ืืึธืึทืืึทืืืข ืืกืึธ ืืื ืืืื ืกืืกืืขื ืืื ืืืื ืืึทืงืึทืคึผ. "ืืืื ืงืึธืคึผืืจืืืขื ืืฉ - ืืืื ืขืจ ืืึทืฉืืขืืืง."
ืืื ืื ืกืืฃ, ืืืจ ืงืขื ืขื ืืึทืื ืงืืื ืคืึทืจืฉืคึผืจืืืืื ื ืคึฟืึทืจ ืืืื ืืืืขืจืคืขื ืืฉื, ืฉืจืืึทืื ืขืก ืฆื ืึท ืืกื ืคืึธืจ ืืื ืึทืจืืขื ืืื ืขืก, ืึทืคึผืืืืืื ื ืขืก ืืื ืืืจืฃ ืืื ืจืืจืืืืื ื ืขืก ืฆื ืื ืืกื ืคืึธืจ ืืืืืขืจ. ืึทืืข ืืึทืื ืืขื ืขื ืกืืึธืจื ืืื ืื ืืืืืงื ืก. ืืืจ ื ืื ืืขืจ ืืึทืจืคึฟื ืฆื ืืึธืจื ืืืขืื ืื ืืืืขืจืงืืึทื ืคืื ืื ืกืืกืืขื ืืื ืืึทืื ืึท ืืึทืงืึทืคึผ ืืืขื ืื ืกืืกืืขื, ืืื ืืืืขืจืืืจื, ืืื ืืกืขื ืฉืึทืื ืืขืืืืจื "ืืืกืคึผืึธืืืึทืืึทื".
ืืืื ืืืื, ืคึฟืืจืืืืื ืืื ืืึทืืขืจืงืื ืืขื ืืขื ืขื ืืึทืืจืืกื.
ืืื ืื ืจืืคึผืึทืืึทืืึธืจื ืืืึท ืื ืืื ืง ืืื ืื, ืขืก ืืื ืึท ืืืืืืื README ืืขืงืข (ืืื ืขื ืืืืฉ) ืืื ืึท ืืึทืฉืจืืึทืืื ื ืคืื ืืขืืขืจ ื ืืฆื ืืื ืืืืฉืคืืื ืคืื ื ืืฆื, ืขืก ืืื ืืืื ืืืืืืื ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืจืืกืืฉ ืืื ืึท ืึทื ืืืืืงืืื ื ืืขืฉืืืืข ืื ืืืฆื ืืื ืืขื ืืื ืง: ืืึธืึธืืกืืจืึทืคึผ ืฉืืืืื ืฉืจืืคื ืงืึธืืคึผืืขืงืก.
ืืงืืจ: linux.org.ru