Kugadzira bootstrap v1.0 mifananidzo


Kugadzira bootstrap v1.0 mifananidzo

Ndinoda kukupa kutarisisa kwako chimiro chinonzi boobstrap, chakanyorwa muPOSIX goko, yekugadzira mifananidzo yebhutsu ine GNU/Linux kugoverwa. Iyo dhizaini inobvumidza iwe kuti uende mukati memaitiro ese mumatanho matatu akareruka: kubva pakuisa sisitimu mune chroot, kugadzira initramfs mufananidzo unosanganisira iyo chrooted system, uye pakupedzisira bootable ISO mufananidzo. boobstrap inosanganisira zvitatu zvinoshandiswa mkbootstrap, mkinitramfs uye mkbootisofs zvichiteerana.

mkbootstrap inoisa sisitimu mune imwe dhairekitori, kune tsigiro yekuzvarwa yeCRUX, uye mune yeArch Linux / Manjaro uye Debian-yakavakirwa kugovera, yechitatu-bato utilities pacstrap, basestrap uye debootstrap inofanira kushandiswa zvichiteerana.

mkinitramfs inogadzira mufananidzo weinitramfs, unogona kushandisa iyo yakaiswa sisitimu mudhairekitori se "overlay", yakamanikidzwa uchishandisa SquashFS, kana mushure mekubhomba muhurongwa, shanda zvakananga mutmpfs. Saka semuenzaniso, iwo murairo mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd ichagadzira initrd faira, kusanganisira maviri akafukidzwa ne "arch- chroot/" sisitimu uye yako "/ imba", yakamanikidzwa uchishandisa SquashFS, iyo iwe yaunokwanisa kubhuya nePXE kuita tmpfs, kana kugadzira iyo bootable ISO mufananidzo neiyi initrd.

mkbootisofs inogadzira iyo BIOS/UEFI bootable ISO mufananidzo kubva pane yakatarwa dhairekitori. Ingoisa /boot/vmlinuz uye /boot/initrd mune dhairekitori.

boobstrap haishandise busybox, uye kugadzira inoshanda initramfs nharaunda, shoma seti yezvirongwa inokopwa uchishandisa ldd, inodiwa kubhutsu nekuchinja kune sisitimu. Rondedzero yezvirongwa zvekukopa, sezvimwe zvese, inogona kugadziridzwa kuburikidza neiyo gadziriso faira /etc/boobstrap/boobstrap.conf. Zvakare, iwe unogona kuisa chero minimalistic kugovera mune yakaparadzana chroot/, kubva kwaunogona ipapo kugadzira yakazara-yakazara initramfs nharaunda. Seyakadaro minimalistic, asi panguva imwechete yakazara-yakazara nharaunda, inokurudzirwa kushandisa "crux_gnulinux-embedded" template, iyo mushure me xz inotora chibvumirano che 37 MB. bhokisi rakabatikana, kunze kwehukuru hwayo, 3-5 MB inopesana ne30-50 MB yenzvimbo yakazara-yakazara GNU/Linux, haichape chero zvakanakira, saka kushandisa bhokisi rakabatikana mupurojekiti hazviratidzike zvakakodzera.

Nzira yekukurumidza kutarisa kushanda uye kutanga? Isa uye mhanya.

# git clone https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# gadzira # boobstrap/bvunzo/crux_gnulinux-rodha-uye-kuvaka
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Iwe zvakare unofanirwa kuisa zvinoenderana, zvinoti: cpio, grub, grub-efi, dosfstools, xorriso. Kushandisa squashfs-zvishandiso hazvidiwi; unogona kushanda mutmpfs nehuwandu hwakakodzera hwe RAM. Kana chimwe chinhu chisipo muhurongwa, boobstrap inoshuma izvi paunotanga.

Kurerutsa kusikwa kwezvigadziriso, boobstrap inokurudzira kushandisa "templates" uye "systems", iyo musimboti ndeye kushandisa "templates" (bootstrap-templates/) kukurumidza kuisa masisitimu kubva mufaira, uye zvakananga "masystem" (bootstrap- masystem/) anoshandiswa kumisikidza zvigadziriso zvekupedzisira.

Saka semuenzaniso, kumhanyisa script boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild ichaisa iyo shoma configuration yeCRUX GNU/Linux system uye chengeta mufaira crux_gnulinux-embedded.rootfs, wobva wamhanya boobstrap/bootstrap-systems. /default/crux_gnulinux.bbuild iyo inotakura iyo yekutanga configuration kubva pane yataurwa faira, ita zvose zvinodiwa kugadzirisa uye gadzirira bootable ISO. Izvi zviri nyore kana, semuenzaniso, masisitimu mazhinji anoshandisa mhando imwechete yekumisikidza: kuitira kuti usatsanangure seti imwechete yemapakeji nguva imwe neimwe, iwe unoshandisa imwe template, zvichibva pane iyo iwe unogadzira mabhoti mafoto emasisitimu ane yekupedzisira kugadzirisa.

Ndingashandisa kupi zvese izvi?

Iwe unogadzirisa iyo sisitimu mufaira kamwe uye nekuimhanyisa unovaka uye / kana kuivandudza. Iyo sisitimu inomhanya mutmpfs, izvo zvinoita kuti ive yakanyanya kuraswa. Kana iyo system ikatadza, unogona kudzokera kune yayo yekutanga nekudzvanya kamwe kweReset bhatani. Iwe unogona kumhanya zvakachengeteka rm -rf /.

Iwe unogona kugadzirisa masisitimu ako ese munharaunda yako, kugadzira mifananidzo, kuiyedza mumushini chaiwo kana yakaparadzana Hardware, wozoisa kune iri kure server uye mhanyisa mirairo miviri kexec -l /vmlinuz -initrd=/initrd && kexec -e. kugadzirisa iyo yese sisitimu, kuitangazve kuita tmpfs.

Nenzira imwecheteyo, unogona kutamisa masisitimu ese, semuenzaniso paVDS, kushanda mutmpfs, uye encrypt iyo /dev/vda dhisiki uye uishandise chete kune data, pasina chikonzero chekuchengeta sisitimu yekushandisa pairi. Iyo chete "poindi yeruzivo rwekudonha" mune iyi kesi inongove "inotonhora kurasira" yendangariro yemuchina wako chaiwo, uye kana paine kukanganisa kweiyo system (semuenzaniso, nekufungidzira ssh password kana kusagadzikana mukati. Exim), unogona kudhawunirodha ISO nyowani kuburikidza ne "control panel" yemupi wako, kudzosa VDS mukushanda, usingakanganwe kugadzirisa masisitimu yekuvhara zvese zvinokanganisa. Izvi zvinokasira kupfuura kudzoreredza, kugadziridza kwakatevera uye/kana kudzoreredza kubva kune backup, nekuti muchokwadi, iyo inodhawunirodha ISO ine system yako ndeye backup yako. "Matambudziko manomwe - rimwe reset."

Pakupedzisira, iwe unogona kugadzira chero kugovera kune zvaunoda, nyora kune USB drive uye ushande mairi, uchivandudza iyo sezvinodiwa uye kuinyora zvakare ku USB drive zvakare. Yese data inochengetwa mumakore. Iwe hauchafanirwa kunetseka nezve kuchengetedzeka kweiyo system uye ita backup kana iyo system, ndinodzokorora, yave "kurasa".

Zvishuwo zvako, mazano uye makomendi anogamuchirwa.

Mune repository pane chinongedzo chiri pazasi pane yakadzama README faira (muChirungu) ine tsananguro yega yega yekushandisa uye mienzaniso yekushandiswa, kune zvakare akadzama zvinyorwa muRussia uye nhoroondo yebudiriro iripo pane iyi link: Boobstrap boot script yakaoma.

Source: linux.org.ru

Voeg