Ke hana nei i nā kiʻi bootstrap v1.0


Ke hana nei i nā kiʻi bootstrap v1.0

Makemake au e hōʻike i kou manaʻo i kahi hoʻolālā i kapa ʻia ʻo boobstrap, i kākau ʻia ma ka shell POSIX, no ka hana ʻana i nā kiʻi boot me nā puʻupuʻu GNU/Linux. Hāʻawi ka framework iā ʻoe e hele i ke kaʻina holoʻokoʻa i ʻekolu mau ʻanuʻu maʻalahi: mai ka waiho ʻana i ka ʻōnaehana i kahi chroot, ka hana ʻana i kahi kiʻi initramfs e pili ana i ka ʻōnaehana chrooted, a ma hope he kiʻi ISO bootable. Loaʻa i ka boobstrap ʻekolu mau mea pono mkbootstrap, mkinitramfs a me mkbootisofs.

Ua hoʻokomo ʻo mkbootstrap i ka ʻōnaehana i kahi papa kuhikuhi ʻokoʻa, aia ke kākoʻo maoli no CRUX, a ma ka hihia o Arch Linux / Manjaro a me Debian-based distributions, pono e hoʻohana ʻia nā pono hana ʻekolu o ka pacstrap, basestrap a me ka debootstrap.

Hoʻokumu ʻo mkinitramfs i kahi kiʻi initramfs, hiki iā ʻoe ke hoʻohana i ka ʻōnaehana i hoʻonohonoho ʻia ma ka papa kuhikuhi ma ke ʻano he "overlay", i hoʻopili ʻia me ka hoʻohana ʻana iā SquashFS, a i ʻole ma hope o ka hoʻouka ʻana i ka ʻōnaehana, e hana pololei ma tmpfs. No laila, no ka laʻana, ʻo ke kauoha mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/ home" --squashfs-xz --output initrd e hana i kahi faila initrd, me ʻelua overlays me "arch- chroot/" ʻōnaehana a me kāu "/ home", i hoʻopaʻa ʻia me ka hoʻohana ʻana iā SquashFS, a laila hiki iā ʻoe ke hoʻomaka ma PXE i tmpfs, a i ʻole e hana i kahi kiʻi ISO bootable me kēia initrd.

Hoʻokumu ʻo mkbootisofs i kahi kiʻi ISO bootable BIOS / UEFI mai ka papa kuhikuhi i kuhikuhi ʻia. E kau wale /boot/vmlinuz a me /boot/initrd i ka papa kuhikuhi.

ʻAʻole hoʻohana ʻo boobstrap i ka busybox, a no ka hana ʻana i kahi kaiapuni initramfs hana, ua kope ʻia kahi papahana liʻiliʻi me ka hoʻohana ʻana i ldd, pono e hoʻomaka a hoʻololi i ka ʻōnaehana. Hiki ke hoʻonohonoho ʻia ka papa inoa o nā polokalamu e kope, e like me nā mea ʻē aʻe ma o ka faila hoʻonohonoho /etc/boobstrap/boobstrap.conf. Eia kekahi, hiki iā ʻoe ke hoʻokomo i kekahi mahele minimalistic i kahi chroot/, kahi e hiki ai iā ʻoe ke hana i kahi kaiapuni initramfs piha. Ma ke ʻano he minimalistic, akā i ka manawa like piha piha, ua manaʻo ʻia e hoʻohana i ka template "crux_gnulinux-embedded", a ma hope o xz e lawe i kahi hoʻohālikelike o 37 MB. busybox, ma waho aʻe o kona nui, 3-5 MB versus 30-50 MB o kahi piha piha GNU/Linux, ʻaʻole hāʻawi hou i nā pono, no laila ʻaʻole kūpono ka hoʻohana ʻana i ka busybox i kahi papahana.

Pehea e nānā wikiwiki ai i ka hana a hoʻomaka? E hoʻouka a holo.

# git clone https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# hana hoʻouka # boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Pono ʻoe e hoʻokomo i nā hilinaʻi, ʻo ia hoʻi: cpio, grub, grub-efi, dosfstools, xorriso. ʻAʻole pono ka hoʻohana ʻana i nā hāmeʻa squashfs; hiki iā ʻoe ke hana i nā tmpfs me ka nui o ka RAM. Inā nele kekahi mea ma ka ʻōnaehana, e hōʻike ʻo boobstrap i kēia ma ka hoʻomaka ʻana.

No ka hoʻomaʻamaʻa ʻana i ka hoʻokumu ʻana i nā hoʻonohonoho, manaʻo ʻo boobstrap e hoʻohana i nā "templates" a me "systems", ʻo ke kumu o ia mea e hoʻohana i nā "templates" (bootstrap-templates/) e hoʻokomo koke i nā ʻōnaehana mai kahi faila, a pololei "nā ʻōnaehana" (bootstrap- ʻōnaehana/) hoʻohana ʻia e hoʻonohonoho i nā hoʻonohonoho hope.

No laila, no ka laʻana, e hoʻokomo i ka ʻōnaehana boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild i ka hoʻonohonoho haʻahaʻa o ka ʻōnaehana CRUX GNU/Linux a mālama iā ia i loko o ka faila crux_gnulinux-embedded.rootfs, a laila holo ʻoe i ka boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild e hoʻouka i ka hoʻonohonoho mua mai ka faila i ʻōlelo ʻia, e hana i nā hoʻonohonoho pono āpau a hoʻomākaukau i kahi ISO bootable. He mea maʻalahi kēia inā, no ka laʻana, hoʻohana ka nui o nā ʻōnaehana i ke ʻano o ka hoʻonohonoho like: i ʻole e wehewehe i ka hoʻonohonoho like o nā pūʻolo i kēlā me kēia manawa, hoʻohana ʻoe i hoʻokahi template, ma muli o ka hana ʻana i nā kiʻi boot o nā ʻōnaehana me ka hoʻonohonoho hope.

Ma hea e hiki ai iaʻu ke hoʻohana i kēia mau mea a pau?

Hoʻonohonoho ʻoe i ka ʻōnaehana i kahi faila i hoʻokahi manawa a ma ka holo ʻana iā ʻoe e kūkulu a/a i ʻole e hoʻonui. Holo ka ʻōnaehana i nā tmpfs, kahi e hoʻopau pono ai. Inā hāʻule ka ʻōnaehana, hiki iā ʻoe ke hoʻi i kona kūlana mua me hoʻokahi kaomi o ka pihi Reset. Hiki iā ʻoe ke holo palekana rm -rf /.

Hiki iā ʻoe ke hoʻonohonoho i ka hoʻonohonoho ʻana o kāu mau ʻōnaehana āpau ma ka ʻāina, hana i nā kiʻi, hoʻāʻo iā lākou i loko o kahi mīkini virtual a i ʻole nā ​​​​mea hana like ʻole, a laila e hoʻouka iā lākou i kahi kikowaena mamao a holo i ʻelua mau kauoha kexec -l /vmlinuz —initrd=/initrd && kexec -e e hoʻonui i ka ʻōnaehana holoʻokoʻa, e hoʻihoʻi hou iā ia i tmpfs.

Ma ke ala like, hiki iā ʻoe ke hoʻololi i nā ʻōnaehana āpau, no ka laʻana ma VDS, e hana i nā tmpfs, a hoʻopili i ka /dev/vda disk a hoʻohana iā ia no ka ʻikepili wale nō, me ka ʻole o ka pono e mālama i ka ʻōnaehana hana ma luna. ʻO ka "wahi o ka leakage ʻike" wale nō i kēia hihia, ʻo ia wale nō ka "cold dump" o ka hoʻomanaʻo ʻana o kāu mīkini virtual, a i ka wā o ka hoʻololi ʻana o ka ʻōnaehana (no ka laʻana, ma ke koho ʻana i ka ʻōlelo huna ssh a i ʻole kahi nāwaliwali i loko. Exim), hiki iā ʻoe ke hoʻoiho i kahi ISO hou ma o ka "control panel" o kāu mea hoʻolako, e hoʻihoʻi i ka VDS i ka hana, me ka poina ʻole e hoʻoponopono i ka hoʻonohonoho ʻōnaehana e pani i nā nāwaliwali āpau. ʻOi aku ka wikiwiki o kēia ma mua o ka hoʻouka hou ʻana, ka hoʻonohonoho hou ʻana a / a i ʻole ka hoʻihoʻi ʻana mai kahi waihona, no ka mea, ʻo ka ISO hiki ke hoʻoiho ʻia me kāu ʻōnaehana ʻo kāu kākoʻo. "ʻEhiku pilikia - hoʻokahi hoʻihoʻi."

I ka hopena, hiki iā ʻoe ke hana i kekahi mahele no kāu mau pono, e kākau iā ia i kahi USB drive a hana i loko, e hoʻonui iā ia e like me ka mea e pono ai a kākau hou iā ia i ka USB drive. Mālama ʻia nā ʻikepili a pau i nā ao. ʻAʻole pono ʻoe e hopohopo e pili ana i ka palekana o ka ʻōnaehana a hana i kahi hoʻihoʻi i ka wā o ka ʻōnaehana, ʻōlelo hou wau, ua lilo maoli i "disposable".

Hoʻokipa ʻia kāu mau manaʻo, manaʻo a me nā manaʻo.

Aia i loko o ka waihona ma ka loulou ma lalo nei kahi faila README kikoʻī (ma ka ʻōlelo Pelekania) me ka wehewehe ʻana o kēlā me kēia pono a me nā hiʻohiʻona o ka hoʻohana ʻana, aia kekahi palapala kikoʻī ma ka Lūkini a me kahi mōʻaukala hoʻomohala i loaʻa ma ka loulou: Paʻi paʻi palapala boot Boobstrap.

Source: linux.org.ru

Pākuʻi i ka manaʻo hoʻopuka