Að búa til bootstrap v1.0 myndir


Að búa til bootstrap v1.0 myndir

Mig langar að kynna þér ramma sem kallast boobstrap, skrifaður í POSIX skelinni, til að búa til ræsimyndir með GNU/Linux dreifingu. Ramminn gerir þér kleift að fara í gegnum allt ferlið í aðeins þremur einföldum skrefum: frá því að dreifa kerfinu í chroot, búa til initramfs mynd sem inniheldur chrooted kerfið og að lokum ræsanlega ISO mynd. boobstrap inniheldur þrjú tól mkbootstrap, mkinitramfs og mkbootisofs í sömu röð.

mkbootstrap setur kerfið upp í sérstakri möppu, það er innbyggður stuðningur fyrir CRUX, og þegar um er að ræða dreifingar byggðar á Arch Linux / Manjaro og Debian, verður að nota þriðja aðila tólin pacstrap, basestrap og debootstrap í sömu röð.

mkinitramfs býr til initramfs mynd, þú getur notað uppsetta kerfið í möppunni sem „yfirlag“, þjappað með SquashFS, eða eftir ræsingu inn í kerfið, unnið beint í tmpfs. Svo til dæmis, skipunin mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd mun búa til initrd skrá, þar á meðal tvær yfirlög með "arch- chroot/" kerfið og "/home", þjappað með SquashFS, sem þú getur síðan ræst í gegnum PXE í tmpfs, eða búið til ræsanlega ISO mynd með þessu initrd.

mkbootisofs býr til BIOS/UEFI ræsanlega ISO mynd úr tilgreindri möppu. Settu bara /boot/vmlinuz og /boot/initrd í möppuna.

boobstrap notar ekki busybox og til að búa til virkt initramfs umhverfi er lágmarks sett af forritum afritað með ldd, nauðsynlegt til að ræsa og skipta yfir í kerfið. Listinn yfir forrit til að afrita, eins og allt annað, er hægt að stilla í gegnum stillingarskrána /etc/boobstrap/boobstrap.conf. Einnig geturðu sett upp hvaða naumhyggju sem er í sérstakan chroot/, sem þú getur síðan búið til fullbúið initramfs umhverfi. Sem slíkt naumhyggjulegt, en á sama tíma fullkomið umhverfi, er lagt til að nota „crux_gnulinux-embedded“ sniðmátið, sem eftir xz tekur upp málamiðlun upp á 37 MB. busybox, fyrir utan stærðina, 3-5 MB á móti 30-50 MB af fullkomnu GNU/Linux umhverfi, býður ekki lengur upp á neina kosti, þannig að notkun busybox í verkefni virðist ekki viðeigandi.

Hvernig á að athuga virknina fljótt og byrja? Settu upp og keyrðu.

# git klón https://github.com/sp00f1ng/boobstrap.git
# geisladiskur brjóstband
# gera uppsetningu # boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Þú þarft líka að setja upp ósjálfstæði, nefnilega: cpio, grub, grub-efi, dosfstools, xorriso. Það er ekki nauðsynlegt að nota squashfs-tól; þú getur unnið í tmpfs með viðeigandi magni af vinnsluminni. Ef eitthvað vantar í kerfið mun boobstrap tilkynna þetta við ræsingu.

Til að einfalda gerð stillinga, stingur boobstrap upp á að nota „sniðmát“ og „kerfi“, kjarni þeirra er að nota „sniðmát“ (bootstrap-sniðmát/) til að setja upp kerfi fljótt úr skrá, og beint „kerfi“ (bootstrap- systems/) notað til að setja upp lokastillingar.

Svo til dæmis, að keyra forskriftina boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild mun setja upp lágmarksstillingar CRUX GNU/Linux kerfisins og vista hana í skránni crux_gnulinux-embedded.rootfs, síðan keyrir þú boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild sem mun hlaða aðalstillingu úr nefndri skrá, gera allar nauðsynlegar stillingar og undirbúa ræsanlegt ISO. Þetta er þægilegt þegar, til dæmis, mörg kerfi nota sömu tegund af stillingum: til að lýsa ekki sama pakkasettinu í hvert skipti, notarðu eitt sniðmát, byggt á því sem þú býrð til ræsimyndir af kerfum með endanlegri stillingu.

Hvar get ég notað allt þetta?

Þú stillir kerfið í skrá einu sinni og með því að keyra það byggir þú og/eða uppfærir það. Kerfið keyrir í tmpfs, sem gerir það í raun einnota. Ef kerfið bilar geturðu farið aftur í upprunalegt ástand með einum smelli á Endurstilla hnappinn. Þú getur örugglega keyrt rm -rf /.

Þú getur stillt stillingar allra kerfa þinna á staðnum, búið til myndir, prófað þær í sýndarvél eða aðskildum vélbúnaði, síðan hlaðið þeim upp á ytri netþjón og keyrt aðeins tvær skipanir kexec -l /vmlinuz —initrd=/initrd && kexec -e til að uppfæra allt kerfið, endurræstu það í tmpfs.

Á sama hátt er hægt að flytja öll kerfi, til dæmis á VDS, til að vinna í tmpfs, og dulkóða /dev/vda diskinn og nota hann eingöngu fyrir gögn, án þess að þurfa að hafa stýrikerfið á honum. Eini „upplýsingalekastaðurinn“ í þessu tilfelli verður aðeins „kalda sorphaugurinn“ í minni sýndarvélarinnar þinnar og ef kerfið er í hættu (til dæmis með því að giska á ssh lykilorðið eða varnarleysi í Exim), geturðu hlaðið niður nýjum ISO í gegnum „stjórnborðið“ þjónustuveitunnar til að koma VDS aftur í notkun, án þess að gleyma að breyta kerfisuppsetningunni til að loka öllum veikleikum. Þetta er hraðari en að setja upp aftur, síðari stillingar og/eða endurheimta úr öryggisafriti, því í rauninni er niðurhalanlegt ISO með kerfinu þínu öryggisafritið þitt. "Sjö vandræði - ein endurstilla."

Að lokum geturðu búið til hvaða dreifingu sem er fyrir þínar þarfir, skrifað það á USB drif og unnið í því, uppfært það eftir þörfum og endurskrifað á USB drifið aftur. Öll gögn eru geymd í skýjunum. Þú þarft ekki lengur að hafa áhyggjur af öryggi kerfisins og taka öryggisafrit þegar kerfið, ég endurtek, er í rauninni orðið „einnota“.

Óskir þínar, ábendingar og athugasemdir eru vel þegnar.

Í geymslunni á hlekknum hér að neðan er ítarleg README skrá (á ensku) með lýsingu á hverju tóli og dæmum um notkun, það er einnig ítarleg skjöl á rússnesku og þróunarsögu aðgengileg á hlekknum: Boobstrap boot script flókið.

Heimild: linux.org.ru

Bæta við athugasemd