A’ cruthachadh ìomhaighean bootstrap v1.0


A’ cruthachadh ìomhaighean bootstrap v1.0

Bu mhath leam frèam ris an canar boobstrap a thaisbeanadh dhut, sgrìobhte san t-slige POSIX, airson ìomhaighean bròg a chruthachadh le sgaoilidhean GNU / Linux. Tha am frèam a 'toirt cothrom dhut a dhol tron ​​​​phròiseas gu lèir ann an dìreach trì ceumannan sìmplidh: bho bhith a' cleachdadh an t-siostam ann an cromag, a 'cruthachadh ìomhaigh initramfs a tha a' toirt a-steach an t-siostam chrooted, agus aig a 'cheann thall ìomhaigh ISO bootable. Tha boobstrap a’ toirt a-steach trì goireasan mkbootstrap, mkinitramfs agus mkbootisofs fa leth.

Bidh mkbootstrap a’ stàladh an t-siostam ann an eòlaire air leth, tha taic dhùthchasach ann airson CRUX, agus a thaobh sgaoilidhean stèidhichte air Arch Linux / Manjaro agus Debian, feumar pacstrap goireasan treas-phàrtaidh, basestrap agus debootstrap a chleachdadh fa leth.

Bidh mkinitramfs a’ cruthachadh ìomhaigh initramfs, faodaidh tu an siostam stàlaichte san eòlaire a chleachdadh mar “ath-chòmhdach”, air a dhlùthadh le bhith a’ cleachdadh SquashFS, no às deidh dhut a dhol a-steach don t-siostam, obraich gu dìreach ann an tmpfs. Mar sin mar eisimpleir, cruthaichidh an àithne mkinitramfs `mktemp -d` --overlay "arch-chroot /" --overlay "/home" --squashfs-xz --output initrd faidhle initrd, a’ toirt a-steach dà ath-chòmhdach le “arch- chroot/" agus an "/ dachaigh" agad, air an teannachadh le bhith a’ cleachdadh SquashFS, as urrainn dhut an uairsin a bhrùthadh tro PXE gu tmpfs, no cruthaich ìomhaigh ISO bootable leis an initrd seo.

Bidh mkbootisofs a’ cruthachadh ìomhaigh ISO bootable BIOS/UEFI bhon eòlaire ainmichte. Dìreach cuir / boot / vmlinuz agus / boot / initrd san eòlaire.

cha bhith boobstrap a’ cleachdadh busybox, agus gus àrainneachd initramfs obrach a chruthachadh, tha glè bheag de sheata de phrògraman air a chopaigeadh a’ cleachdadh ldd, a tha riatanach airson bròg agus atharrachadh chun t-siostam. Faodar an liosta de phrògraman airson lethbhreac a dhèanamh, mar a h-uile càil eile, a rèiteachadh tron ​​​​fhaidhle rèiteachaidh /etc/boobstrap/boobstrap.conf. Cuideachd, faodaidh tu cuairteachadh minimalistic sam bith a chuir a-steach do chroot / air leth, às an urrainn dhut an uairsin àrainneachd initramfs làn-chuimseach a chruthachadh. Mar àrainneachd cho beag, ach aig an aon àm làn-chuimseach, thathas a’ moladh an teamplaid “crux_gnulinux-emedded” a chleachdadh, a bhios às deidh xz a’ gabhail suas co-rèiteachadh de 37 MB. busybox, a bharrachd air a mheud, 3-5 MB an aghaidh 30-50 MB de àrainneachd GNU/Linux làn-chuimseach, chan eil buannachdan sam bith ann tuilleadh, agus mar sin chan eil e iomchaidh a bhith a’ cleachdadh busybox ann am pròiseact.

Ciamar a nì thu sgrùdadh luath air gnìomhachd agus tòiseachadh? Stàlaich is ruith.

# git clone https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# dèan stàladh# boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Feumaidh tu cuideachd eisimeileachd a stàladh, is iad sin: cpio, grub, grub-efi, dosfstools, xorriso. Chan eil feum air innealan squashfs; faodaidh tu obrachadh ann an tmpfs leis an ìre iomchaidh de RAM. Ma tha rudeigin a dhìth san t-siostam, bheir boobstrap aithris air seo nuair a thòisicheas e.

Gus cruthachadh rèiteachaidhean a dhèanamh nas sìmplidhe, tha boobstrap a 'moladh a bhith a' cleachdadh "teamplaidean" agus "siostaman", agus is e an rud a th 'ann a bhith a' cleachdadh "templates" ( bootstrap-templates /) gus siostaman a stàladh gu luath bho fhaidhle, agus gu dìreach "siostaman" (bootstrap-. siostaman/) air an cleachdadh gus rèiteachaidhean deireannach a stèidheachadh.

Mar sin, mar eisimpleir, le bhith a’ ruith an sgriobt boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild stàlaidhidh e an rèiteachadh as lugha den t-siostam CRUX GNU/Linux agus sàbhailidh e e san fhaidhle crux_gnulinux-embedded.rootfs, an uairsin ruithidh tu boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild a luchdaicheas am prìomh rèiteachadh bhon fhaidhle ainmichte, dèan a h-uile rèiteachadh riatanach agus ullaich ISO bootable. Tha seo goireasach nuair, mar eisimpleir, bidh mòran shiostaman a’ cleachdadh an aon sheòrsa rèiteachaidh: gus nach bi thu a’ toirt cunntas air an aon sheata de phasganan gach uair, bidh thu a’ cleachdadh aon teamplaid, stèidhichte air a chruthaicheas tu ìomhaighean bròg de shiostaman leis an rèiteachadh deireannach.

Càite an cleachd mi seo uile?

Bidh thu a’ rèiteachadh an t-siostam ann am faidhle aon uair agus le bhith ga ruith togaidh tu agus/no ùraich thu e. Bidh an siostam a’ ruith ann an tmpfs, a tha ga fhàgail gu ìre mhòr cuidhteasach. Ma dh’ fhailicheas an siostam, faodaidh tu tilleadh chun a staid thùsail le aon bhriogadh air a’ phutan Ath-shuidheachadh. Faodaidh tu ruith gu sàbhailte rm -rf /.

Faodaidh tu rèiteachadh nan siostaman agad gu lèir a rèiteachadh gu h-ionadail, ìomhaighean a chruthachadh, deuchainn a dhèanamh orra ann an inneal brìgheil no bathar-cruaidh air leth, an uairsin an luchdachadh suas gu frithealaiche iomallach agus dìreach dà àithne a ruith kexec -l / vmlinuz —initrd=/initrd && kexec -e gus an siostam gu lèir ùrachadh, ath-thòisich e gu tmpfs.

San aon dòigh, faodaidh tu a h-uile siostam a ghluasad, mar eisimpleir air VDS, gus obrachadh ann an tmpfs, agus an diosc / dev / vda a chrioptachadh agus a chleachdadh airson dàta a-mhàin, gun fheum air an t-siostam obrachaidh a chumail air. Is e an aon “phuing fiosrachaidh aoidionach” anns a ’chùis seo dìreach an“ dump fuar ”de chuimhne an inneal brìgheil agad, agus ma thachras co-rèiteachadh san t-siostam (mar eisimpleir, le bhith a’ tomhas am facal-faire ssh no so-leòntachd ann an Exim), faodaidh tu ISO ùr a luchdachadh sìos tro “phannal smachd” an t-solaraiche agad, gus an VDS a thoirt air ais gu gnìomh, gun a bhith a’ dìochuimhneachadh rèiteachadh an t-siostaim a dheasachadh gus a h-uile so-leòntachd a dhùnadh. Tha seo nas luaithe na bhith ag ath-shuidheachadh, rèiteachadh às deidh sin agus / no ath-nuadhachadh bho chùl-taic, oir gu dearbh, is e an ISO a ghabhas luchdachadh a-nuas leis an t-siostam agad an cùl-taic agad. msgstr "Seachd trioblaidean - aon ath-shuidheachadh."

Aig a’ cheann thall, faodaidh tu cuairteachadh sam bith a chruthachadh airson na feumalachdan agad, sgrìobh e gu draibhear USB agus obraich ann, ga ùrachadh mar a dh’ fheumar agus ath-sgrìobhadh chun draibhear USB a-rithist. Tha a h-uile dàta air a stòradh anns na sgòthan. Cha leig thu leas a bhith draghail tuilleadh mu shàbhailteachd an t-siostaim agus cùl-taic a dhèanamh nuair a tha an siostam, bidh mi ag ath-aithris, gu ìre mhòr air fàs gu bhith “cuspaireil”.

Tha fàilte air ur miannan, molaidhean agus beachdan.

Anns an stòr aig a’ cheangal gu h-ìosal tha faidhle README mionaideach (ann am Beurla) le tuairisgeul air gach goireas agus eisimpleirean cleachdaidh, tha sgrìobhainnean mionaideach ann an Ruisis agus eachdraidh leasachaidh ri fhaighinn aig a’ cheangal: Boobstrap boot sgriobt iom-fhillte.

Source: linux.org.ru

Cuir beachd ann