Ho theha litšoantšo tsa bootstrap v1.0


Ho theha litšoantšo tsa bootstrap v1.0

Ke kopa ho u fa tlhokomelo ea moralo o bitsoang boobstrap, o ngotsoeng ka har'a khetla ea POSIX, bakeng sa ho etsa litšoantšo tsa bootle ka liphallelo tsa GNU/Linux. Moralo ona o u lumella ho feta ts'ebetsong eohle ka mehato e meraro feela e bonolo: ho tloha ho kenya tsamaiso ka chroot, ho etsa setšoantšo sa initramfs se kenyeletsang tsamaiso ea chrooted, 'me qetellong ke setšoantšo sa ISO se bootable. boobstrap e kenyelletsa lisebelisoa tse tharo tsa mkbootstrap, mkinitramfs le mkbootisofs ka ho latellana.

mkbootstrap e kenya sistimi bukeng e arohaneng, ho na le ts'ehetso ea matsoalloa bakeng sa CRUX, 'me tabeng ea Arch Linux / Manjaro le Debian-based distributions, lisebelisoa tsa motho oa boraro pacstrap, basestrap le debootstrap li tlameha ho sebelisoa ka ho latellana.

mkinitramfs e etsa setšoantšo sa initramfs, o ka sebelisa sistimi e kentsoeng bukeng e le "koahela", e hatelletsoeng ka SquashFS, kapa kamora ho qala sistimi, sebetsa ka kotloloho ho tmpfs. Ka mohlala, taelo mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd e tla theha faele ea initrd, ho kenyelletsa le likoahelo tse peli tse nang le "arch- chroot/" sistimi le "/home" ea hau, e hatelletsoeng ka SquashFS, eo u ka e qalisang ka PXE ho tmpfs, kapa u thehe setšoantšo sa ISO se bootable ka initrd ena.

mkbootisofs e theha setšoantšo sa BIOS / UEFI se bootable sa ISO ho tsoa bukeng e boletsoeng. Kenya feela /boot/vmlinuz le /boot/initrd bukeng.

boobstrap ha e sebelise busybox, 'me ho theha tikoloho e sebetsang ea initramfs, lenane le fokolang la mananeo le kopitsoa ho sebelisoa ldd, e hlokahalang ho qalisa le ho fetola tsamaiso. Lethathamo la mananeo a ho kopitsa, joalo ka ntho e 'ngoe le e' ngoe, le ka hlophisoa ka faele ea tlhophiso /etc/boobstrap/boobstrap.conf. Hape, o ka kenya kabo efe kapa efe e fokolang ka har'a chroot/, eo ho eona o ka thehang tikoloho e felletseng ea initramfs. E le minimalistic e joalo, empa ka nako e ts'oanang tikoloho e feletseng, ho etsoa tlhahiso ea ho sebelisa "crux_gnulinux-embedded" template, eo ka mor'a xz e nkang compromise ea 37 MB. busybox, ntle le boholo ba eona, 3-5 MB khahlano le 30-50 MB ea tikoloho e felletseng ea GNU/Linux, ha e fane ka melemo leha e le efe, kahoo ho sebelisa busybox morerong ha ho bonahale ho loketse.

Joang ho potlakela ho hlahloba ts'ebetso le ho qala? Kenya le ho matha.

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

U boetse u hloka ho kenya litšepe, e leng: cpio, grub, grub-efi, dosfstools, xorriso. Ho sebelisa lisebelisoa tsa squashfs ha ho hlokahale; o ka sebetsa ho tmpfs ka palo e nepahetseng ea RAM. Haeba ho na le ho haellang tsamaisong, boobstrap e tla tlaleha sena ha e qala.

Ho nolofatsa tlhahiso ea litlhophiso, boobstrap e fana ka tlhahiso ea ho sebelisa "templates" le "systems", eo moelelo oa eona e leng ho sebelisa "templates" (bootstrap-templates/) ho kenya litsamaiso ka potlako ho tsoa faeleng, le "system" ka kotloloho (bootstrap- systems/) e sebelisetsoang ho theha litlhophiso tsa ho qetela.

Kahoo ho etsa mohlala, ho tsamaisa script boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild e tla kenya bonyane tlhophiso ea sistimi ea CRUX GNU/Linux ebe e e boloka faeleng ea crux_gnulinux-embedded.rootfs, ebe o tsamaisa boobstrap/bootstrap-systems. /default/crux_gnulinux.bbuild e tla laela tlhophiso ea mantlha ho tsoa faeleng e boletsoeng, etsa tlhophiso eohle e hlokahalang mme o lokise ISO e bootable. Sena se loketse ha, ka mohlala, litsamaiso tse ngata li sebelisa mofuta o tšoanang oa tlhophiso: e le hore u se ke ua hlalosa sete e tšoanang ea liphutheloana nako le nako, u sebelisa template e le 'ngoe, ho itšetlehile ka hore na u etsa litšoantšo tsa boot tsa tsamaiso ka mokhoa oa ho qetela.

Nka sebelisa see sohle hokae?

U hlophisa sistimi faeleng hang, 'me ka ho e tsamaisa oa e haha ​​​​le/kapa oa e ntlafatsa. Sistimi e sebetsa ka tmpfs, e etsang hore e lahlehe. Haeba sistimi e hloleha, o ka khutlela sebakeng sa eona sa pele ka ho tobetsa hanngoe konopo ea Reset. U ka matha ka mokhoa o sireletsehileng rm -rf /.

O ka lokisa litlhophiso tsa litsamaiso tsohle tsa hau sebakeng sa heno, oa etsa litšoantšo, oa li leka mochining o ikhethileng kapa hardware e arohaneng, ebe o li kenya ho seva e hole mme o tsamaise litaelo tse peli feela kexec -l /vmlinuz —initrd=/initrd && kexec -e. ho nchafatsa sistimi eohle, ho e qala hape ho tmpfs.

Ka mokhoa o ts'oanang, o ka fetisetsa lits'ebetso tsohle, mohlala ho VDS, ho sebetsa ho tmpfs, le ho encrypt / dev/vda disk le ho e sebelisa bakeng sa data feela, ntle le tlhokahalo ea ho boloka sistimi e sebetsang ho eona. "Ntho e le 'ngoe feela ea ho lutla tlhahisoleseling" ntlheng ena e tla ba feela "ho lahlela ho batang" mohopolong oa mochini oa hau oa sebele, le haeba ho ka ba le ts'enyehelo ea sistimi (mohlala, ka ho hakanya ssh password kapa ho ba kotsing ho Exim), o ka khoasolla ISO e ncha ka "phanele ea taolo" ea mofani oa hau, ho khutlisetsa VDS ts'ebetsong, ntle le ho lebala ho hlophisa tlhophiso ea sistimi ho koala bofokoli bohle. Sena se potlakile ho feta ho kenya hape, tlhophiso e latelang le/kapa ho khutlisa ho tsoa ho backup, hobane ha e le hantle, ISO e jarollotsoeng ka sistimi ea hau ke bekapo ea hau. "Mathata a supileng - reset e le 'ngoe."

Qetellong, o ka etsa kabo efe kapa efe bakeng sa litlhoko tsa hau, o e ngolle ho drive ea USB mme o sebetse ho eona, o e ntlafatse ha ho hlokahala ebe o e ngola hape ho drive ea USB hape. Lintlha tsohle li bolokiloe marung. Ha ho sa hlokahala hore u tšoenyehe ka polokeho ea sistimi le ho etsa bekapo ha sistimi, kea pheta, e se e le "lahleha".

Litakatso, litlhahiso le maikutlo a hau li amohelehile.

Sebakeng sa polokelo sehokelong se ka tlase ho na le faele e qaqileng ea README (ka Senyesemane) e nang le tlhaloso ea ts'ebeliso e 'ngoe le e' ngoe le mehlala ea ts'ebeliso, ho boetse ho na le litokomane tse qaqileng ka Serussia le nalane ea nts'etsopele e fumanehang sehokelong: Boobstrap boot script e rarahaneng.

Source: linux.org.ru

Eketsa ka tlhaloso