A’ cruthachadh ìomhaighean bootstrap v1.2


A’ cruthachadh ìomhaighean bootstrap v1.2

Às deidh dìreach mìos Às deidh leasachadh slaodach, chaidh boobstrap v1.2 a leigeil ma sgaoil - seata innealan air an t-slige POSIX airson ìomhaighean bròg agus draibhearan a chruthachadh.

Leigidh Boobstrap leat dìreach aon àithne a dhèanamh:

  • Cruthaich ìomhaigh initramfs, a’ gabhail a-steach cuairteachadh GNU/Linux sam bith innte.
  • Cruthaich ìomhaighean ISO bootable le cuairteachadh GNU / Linux sam bith.
  • Cruthaich draibhearan USB, HDD, SSD bootable le cuairteachadh GNU / Linux sam bith.

Is e an rud sònraichte, às deidh dhut GNU/Linux a luchdachadh, gun obraich e an dàrna cuid gu tur ann an tmpfs fìor-ghlan, no a’ cleachdadh ìomhaighean Overlay FS agus SquashFS, do roghainn. Bidh thu a’ stàladh cuairteachadh GNU/Linux sam bith ann an eòlaire, a’ dèanamh a h-uile suidheachadh riatanach (is dòcha ann an eòlaire air leth), às deidh sin cruthaichidh tu inneal bròg le dìreach aon àithne, biodh e na ìomhaigh ISO, USB, HDD, draibhear SSD, no faodaidh tu ìomhaigh initrd a chruthachadh leis an t-siostam. Bidh an siostam an-còmhnaidh san aon staid agus ma thèid briseadh sìos, faodaidh tu tilleadh chun staid thùsail aige le putadh air aon phutan Ath-shuidheachadh. A bheil thu airson an siostam a ghluasad gu òstair eile, no siostam a chruthachadh bho shoitheach a tha ann mar-thà? Bidh Boobstrap ga dhèanamh.

Am measg nam prìomh atharrachaidhean:

  • Taic a bharrachd airson an syslinux bootloader, a bharrachd air an grub2 a th’ ann mar-thà. Faodaidh tu a-nis roghnachadh an dàrna cuid grub2, syslinux, no an dà chuid a chleachdadh nuair a chruthaicheas tu inneal bròg no ìomhaigh ISO leis na roghainnean --legacy-boot syslinux agus --efi grub2 fa leth, agus faodaidh tu cuideachd taghadh dè na modhan a bheir an luchdachadh sìos taic don ISO dealbh.
  • Roghainn --bootable air a chur ris, a nì inneal bloca sam bith bootable. Gus ìomhaighean ISO a chruthachadh, feumar an roghainn --iso-9660 a chleachdadh.
  • Roghainnean bròg kernel air a chur ris boobs.use-shmfs gus susbaint gach ath-chòmhdach a chopaigeadh gu tmpfs, boobs.use-overlayfs airson bròg a’ cleachdadh Overlay FS, boobs.search-rootfs gus stòr a thaghadh leis an t-siostam, boobs.copy-to-ram gus an siostam a chopaigeadh gu cuimhne agus an uairsin an inneal a chuir dheth.
  • Is e an aon eisimeileachd a tha riatanach airson boobstrap a bhith ag obair cpio. Tha an còrr de na h-eisimeileachd roghainneil: grub2, syslinux - riatanach gus meadhanan bootable, cdrkit no xorriso a chruthachadh airson taghadh - gus ISO, squashfs-tools a chruthachadh gus SquashFS a chruthachadh, ach chan eil dad a’ cur casg ort bho bhith a’ cleachdadh an roghainn -cpio an àite - squashfs gus do chuairteachadh a chuir a-steach do thasglann. Cha chleachdar busybox ach ma tha e air a stàladh, ach mura h-eil, thèid lethbhreac a dhèanamh de na goireasan riatanach uile bhon t-siostam agad. Mar sin, tha boobstrap cinnteach gun obraich e cha mhòr anns a h-uile àite.

Mar eisimpleir, cruthaichidh an àithne a leanas ìomhaigh initrd a’ toirt a-steach gentoo-chroot / siostam air a phacaigeadh mar ìomhaigh SquashFS, a thòisicheas gu soirbheachail às deidh don initrd fhèin a luchdachadh. Leig leam do chuimhneachadh, gus Overlay FS a chleachdadh ann an co-bhonn ri SquashFS, gum feum thu a dhol seachad air an roghainn kernel boobs.use-overlayfs, air neo thèid an siostam a chuir a-steach do tmpfs. Faodar a h-uile suidheachadh a bharrachd a dhèanamh ann an eòlaire air leth, mar eisimpleir gentoo-settings/

# mkdir initramfs/
# mkinitramfs initramfs/ --overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs> initrd

Tha ìomhaigh initrd le siostam a-staigh goireasach nuair a dh’ fheumas tu siostam a chuir a-steach gu sgiobalta, mar eisimpleir, tro PXE, no air tionndadh siostam luchdaichte gu initrd a’ cleachdadh an àithne kexec -l / boot/vmlinuz-* —initrd=./initrd && kexec -e, uill no, le bhith ann an eadar-aghaidh inneal brìgheil QEMU (is dòcha eadhon Proxmox), bròg bho stòr iomallach a’ cleachdadh trì òrdughan IPXE: kernel http://[...]/vmlinuz, initrd http: //[ ...]/initrd, bròg. Mar a chì thu, tha iomadh feum aig eadhon initrd cunbhalach leis an t-siostam agad a-staigh.

Gus draibhearan agus ìomhaighean bootable a chruthachadh, thathas a ’cleachdadh an àithne mkbootisofs, mar eisimpleir, is e seo a tha coltach ri bhith a’ cruthachadh ìomhaigh ISO leis an roghainn -iso-9660 le bhith a ’cleachdadh syslinux gus a dhol a-steach do mhodh dìleab (BIOS) agus grub2 airson a dhol a-steach do EFI- modh (UEFI).

# mkdir initrd/
# mkinitramfs initrd/ > initrd
# mkdir isoimage/
# mkdir isoimage/boot
# cp / boot/vmlinuz-* isoimage/boot/vmlinuz
# cp initrd isoimage/boot/initrd
# mkbootisofs isoimage/ —iso-9660 —legacy-boot syslinux —efi grub2 —output boot.iso
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

Faodaidh tu aon de na modhan bròg a shònrachadh, no gun a bhith gan sònrachadh idir, thèid an ìomhaigh ISO co-fhreagarrach a chruthachadh gu soirbheachail.

Thèid stàladh air draibh sam bith agus booting às a dhèidh a dhèanamh leis an roghainn --bootable. Feumaidh tu sgaraidhean a chruthachadh air an draibhear thu fhèin (fdisk) agus an cruth (mkdosfs, mke2fs, msaa), agus an uairsin cuir a-steach an inneal ann an eòlaire.

# mount / dev/sdb1 / mnt/drive/
# mkbootisofs /mnt/drive/ --bootable --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

Rabhadh! Bidh an roghainn --bootable a’ dearbhadh dè an inneal bloca às a bheil an t-eòlaire air a chuir suas agus a’ stàladh an bootloader air an inneal seo. Ma dhìochuimhnicheas tu an inneal a chuir suas no ma dhìochuimhnicheas tu eòlaire a tha suidhichte gu mearachdach, mar eisimpleir, air / dev / sda, thèid an bootloader air / dev / sda ath-sgrìobhadh a rèir sin. Cleachd --bootable gu faiceallach.

Tha stàladh siostam GNU/Linux sam bith air a lùghdachadh gu dìreach aon àithne. Faodar an stàladh a dhèanamh air HDD, SSD, agus mar sin air adhart. Is fhiach cuimhneachadh gur e siostam a tha seo fhathast a ’ruith bho Overlay FS / SquashFS, no a luchdachadh gu tur a-steach do tmpfs, do roghainn.

Am measg rudan eile, tha grunn fheartan inntinneach agus comasan a bharrachd aig boobstrap!

Mar eisimpleir, faodaidh tu boobstrap seilbhe a chruthachadh leis an àithne mkinitramfs `mktemp -d`> / boot/initrd agus cuir a-steach don t-siostam agad leis an initrd seo, a’ sònrachadh na roghainnean kernel boobs.use-overlayfs boobs.search-rootfs =/dev /sda1. Anns a’ chùis seo, bidh /dev/sda1, far a bheil an siostam dachaigh agad air a chuir a-steach, ceangailte mar shreath FS ath-chòmhdach a ghabhas leughadh a-mhàin, agus cha tèid a h-uile atharrachadh a nì thu a sgrìobhadh ach airson ùine ghoirid gu tmpfs. Faodaidh tu an roghainn boobs.copy-to-ram a chur ris agus an uairsin thèid an siostam gu lèir agad a chopaigeadh gu RAM, agus faodar an dreach cruaidh a dhì-cheangal bhon choimpiutair. Goireasach nuair a dh'fheumas tu rudeigin a bhriseadh, agus faodaidh tu atharrachaidhean a thoirt air ais dìreach le bhith ag ath-thòiseachadh. 🙂

Ach dè ma dh'fheumas tu fhathast a h-uile atharrachadh san t-siostam a shàbhaladh? Mar eisimpleir, chuir thu a-steach bathar-bog no rudeigin eile. Nuair a bhios tu ag obair ann an tmpfs fìor-ghlan, tha seo gu mì-fhortanach do-dhèanta, ach ma thòisich thu a’ cleachdadh Overlay FS, thèid a h-uile atharrachadh a thachras san t-siostam a shàbhaladh ann an eòlaire tmpfs air leth: / mnt/overlayfs/rootfs-changes! Tha an suidheachadh cleachdaidh gu math sìmplidh. Chaidh thu a-steach don t-siostam agad bho inneal USB, rinn thu beagan obrach, agus bha thu airson a h-uile càil a chaidh atharrachadh a shàbhaladh, an uairsin cruthaich tasglann cpio agus cuir an seo e, air an aon inneal USB.

# cd / mnt/overlayfs/rootfs-changes
# lorg . -clò-bhualadh0 | cpio --create --format "newc" --null --quiet> /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

Faodaidh tu an tasglann a chuir ri taobh eile SquashFS agus cpio “layers”, agus an uairsin nuair a thèid an tasglann a luchdachadh às deidh sin bidh e ceangailte mar shreath eile ri leughadh a-mhàin. Gus leantainn air adhart ag obair le atharrachaidhean, cleachd an roghainn luchdaich suas boobs.rootfs-changes =/rootfs-changes.cpio. Tha an roghainn boobs.rootfs-changes a’ comasachadh an t-sreath ainmichte le ruigsinneachd atharrachaidh. Faodaidh an còmhdach a bhith na inneal bloca, mar eisimpleir faodaidh tu / dev / sdb1 a shònrachadh, an uairsin thèid a h-uile atharrachadh a chaidh a dhèanamh ann an Overlay FS a shàbhaladh gu / dev / sdb1.

Tha Boobstrap, a dh’ aindeoin na cothroman farsaing a tha rim faighinn, fhathast aig ìre leasachaidh, thathas a’ toirt aire do na beachdan is na molaidhean agad uile!

Source: linux.org.ru

Cuir beachd ann