Bootstrap v1.0 piltide loomine


Bootstrap v1.0 piltide loomine

Tahaksin teie tähelepanu juhtida raamistikule nimega boobstrap, mis on kirjutatud POSIX-i kestas ja mis on mõeldud alglaadimispiltide loomiseks GNU/Linuxi distributsioonidega. Raamistik võimaldab teil kogu protsessi läbida vaid kolme lihtsa sammuga: alates süsteemi juurutamisest chroot-vormingus, luues initramfs-kujutise, mis sisaldab chrootitud süsteemi, ja lõpuks käivitatava ISO-pildi loomisest. boobstrap sisaldab kolme utiliiti vastavalt mkbootstrap, mkinitramfs ja mkbootisofs.

mkbootstrap installib süsteemi eraldi kataloogi, CRUX-i jaoks on natiivne tugi ning Arch Linuxi / Manjaro ja Debianipõhiste distributsioonide puhul tuleb kasutada vastavalt kolmanda osapoole utiliite pacstrap, basestrap ja debootstrap.

mkinitramfs loob initramfs-pildi, saate installitud süsteemi kasutada kataloogis "ülekattena", tihendatuna SquashFS-i abil või pärast süsteemi käivitamist töötada otse tmpfs-is. Näiteks käsk mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd loob initrd-faili, sealhulgas kaks ülekatet "arch- chroot/" süsteem ja teie "/home", mis on tihendatud SquashFS-i abil, mille saate seejärel PXE kaudu tmpfs-i alglaadida või luua selle initrd abil alglaaditava ISO-pildi.

mkbootisofs loob määratud kataloogist BIOS/UEFI buutiva ISO-pildi. Lihtsalt pane kataloogi /boot/vmlinuz ja /boot/initrd.

boobstrap ei kasuta busyboxi ja töötava initramfs-keskkonna loomiseks kopeeritakse minimaalne programmide komplekt ldd abil, mis on vajalik alglaadimiseks ja süsteemile lülitumiseks. Kopeeritavate programmide loendit, nagu kõike muud, saab seadistada konfiguratsioonifaili /etc/boobstrap/boobstrap.conf kaudu. Samuti saate installida mis tahes minimalistliku distributsiooni eraldi chroot/-sse, millest saate seejärel luua täisväärtusliku initramfs keskkonna. Sellise minimalistliku, kuid samas täisväärtusliku keskkonnana tehakse ettepanek kasutada malli “crux_gnulinux-embedded”, mis võtab pärast xz-i kompromissi 37 MB. Busybox, peale selle suuruse, 3-5 MB versus 30-50 MB täisväärtuslikus GNU/Linuxi keskkonnas, ei paku enam eeliseid, seega ei tundu busyboxi kasutamine projektis sobiv.

Kuidas kiiresti funktsionaalsust kontrollida ja alustada? Installige ja käivitage.

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

Samuti peate installima sõltuvused, nimelt: cpio, grub, grub-efi, dosfstools, xorriso. Squashfs-tööriistade kasutamine pole vajalik, saate töötada tmpfs-is sobiva hulga RAM-iga. Kui süsteemis on midagi puudu, teatab boobstrap sellest käivitamisel.

Konfiguratsioonide loomise lihtsustamiseks soovitab boobstrap kasutada "malle" ja "süsteeme", mille põhiolemus on süsteemide kiireks installimiseks failist "mallide" (bootstrap-templates/) ja otse "süsteemide" (bootstrap- süsteemid/), mida kasutatakse lõplike konfiguratsioonide seadistamiseks.

Näiteks skripti boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild käivitamine installib CRUX GNU/Linuxi süsteemi minimaalse konfiguratsiooni ja salvestab selle faili crux_gnulinux-embedded.rootfs, seejärel käivitate boobstrap/bootstrap-systems. /default/crux_gnulinux.bbuild, mis laadib mainitud failist esmase konfiguratsiooni, teeb kõik vajalikud seadistused ja valmistab ette buutiva ISO. See on mugav, kui näiteks paljud süsteemid kasutavad sama tüüpi konfiguratsiooni: selleks, et mitte kirjeldada iga kord sama pakettide komplekti, kasutatakse ühte malli, mille põhjal luuakse lõpliku konfiguratsiooniga süsteemide alglaadimispildid.

Kus ma saan seda kõike kasutada?

Konfigureerite süsteemi failis üks kord ja seda käivitades koostate ja/või värskendate seda. Süsteem töötab tmpfs-vormingus, mis muudab selle sisuliselt ühekordseks kasutamiseks. Kui süsteem ebaõnnestub, saate naasta algsesse olekusse ühe klõpsuga nuppu Lähtesta. Võite turvaliselt käivitada rm -rf /.

Saate seadistada kõigi oma süsteemide konfiguratsioonid kohapeal, luua pilte, testida neid virtuaalmasinas või eraldi riistvaras, seejärel laadida need kaugserverisse ja käivitada vaid kaks käsku kexec -l /vmlinuz —initrd=/initrd && kexec -e kogu süsteemi värskendamiseks, taaskäivitades selle tmpfs-i.

Samamoodi saate kõik süsteemid, näiteks VDS-is, üle kanda tmpfs-is töötamiseks ning /dev/vda ketta krüptida ja kasutada ainult andmete jaoks, ilma et oleks vaja operatsioonisüsteemi sellel hoida. Ainus "teabe lekkekoht" on sel juhul ainult teie virtuaalmasina mälu "külm prügikast" ja süsteemi kompromiteerimise korral (näiteks ssh-parooli äraarvamine või haavatavus Exim), saate oma teenusepakkuja juhtpaneeli kaudu alla laadida uue ISO, et VDS uuesti tööle panna, unustamata kõigi haavatavuste sulgemiseks süsteemi konfiguratsiooni redigeerida. See on kiirem kui uuesti installimine, hilisem seadistamine ja/või varukoopiast taastamine, sest sisuliselt on teie süsteemiga allalaaditav ISO teie varukoopia. "Seitse häda - üks lähtestamine."

Lõppkokkuvõttes saate luua oma vajadustele vastava distributsiooni, kirjutada selle USB-draivi ja töötada sellega, värskendades seda vastavalt vajadusele ja kirjutades uuesti USB-draivi. Kõik andmed salvestatakse pilvedesse. Te ei pea enam muretsema süsteemi ohutuse pärast ja tegema varukoopiat, kui süsteem, kordan, on muutunud sisuliselt "ühekordseks kasutamiseks".

Teie soovid, ettepanekud ja kommentaarid on teretulnud.

Alloleval lingil asuvas hoidlas on üksikasjalik README fail (inglise keeles) iga utiliidi kirjelduse ja kasutusnäidetega, samuti on üksikasjalik venekeelne dokumentatsioon ja arenduslugu, mis on saadaval lingil: Boobstrapi alglaadimisskripti kompleks.

Allikas: linux.org.ru

Lisa kommentaar