Nyiptakeun gambar bootstrap v1.2


Nyiptakeun gambar bootstrap v1.2

engke ngan sabulan Saatos ngembangkeun laun, boobstrap v1.2 dileupaskeun - sakumpulan alat dina cangkang POSIX pikeun nyiptakeun gambar boot sareng drive.

Boobstrap ngamungkinkeun anjeun ngan ukur ngalakukeun hiji paréntah:

  • Jieun gambar initramfs, kalebet distribusi GNU/Linux di jerona.
  • Jieun gambar ISO bootable kalayan sagala distribusi GNU / Linux.
  • Jieun bootable USB, HDD, SSD drive kalawan GNU / Linux Ubuntu distribution.

Peculiarity nyaeta sanggeus loading GNU / Linux Ubuntu bakal dianggo boh sagemblengna dina tmpfs murni, atawa ngagunakeun Overlay FS na SquashFS gambar, pilihan Anjeun. Anjeun masang distribusi GNU/Linux dina diréktori, ngadamel sadaya setélan anu diperyogikeun (jigana dina diréktori anu misah), saatos anjeun nyiptakeun alat boot sareng ngan ukur hiji paréntah, janten gambar ISO, USB, HDD, SSD drive, atanapi Anjeun tiasa nyiptakeun gambar initrd sareng sistem. Sistim bakal salawasna dina kaayaan anu sarua sarta dina acara ngarecahna a, anjeun bisa balik deui ka kaayaan aslina ku mencét hiji tombol Reset. Naha anjeun badé mindahkeun sistem ka host anu sanés, atanapi ngadamel sistem tina wadah anu tos aya? Boobstrap bakal ngalakukeun éta.

Diantara parobahan konci:

  • Ditambahkeun dukungan pikeun bootloader syslinux, salian ti grub2 anu parantos aya. Anjeun ayeuna tiasa milih nganggo grub2, syslinux, atanapi duanana nalika nyiptakeun alat boot atanapi gambar ISO kalayan pilihan --legacy-boot syslinux sareng --efi grub2 masing-masing, sareng anjeun ogé tiasa milih modeu mana Undeuran bakal ngadukung ISO. gambar.
  • Ditambahkeun --bootable pilihan, nu ngajadikeun sagala blok alat bootable. Pikeun nyieun gambar ISO, pilihan --iso-9660 kedah dianggo.
  • Ditambahkeun pilihan boot kernel boobs.use-shmfs pikeun nyalin eusi sadaya overlays ka tmpfs, boobs.use-overlayfs pikeun boot maké Overlay FS, boobs.search-rootfs pikeun milih sumber kalawan sistem, boobs.copy-to-ram pikeun nyalin sistem kana mémori teras mareuman alat.
  • Hiji-hijina katergantungan anu diperyogikeun pikeun boobstrap damel nyaéta cpio. Sésana katergantungan opsional: grub2, syslinux diperyogikeun pikeun nyiptakeun média bootable, cdrkit atanapi xorriso pikeun dipilih - pikeun nyiptakeun ISO, squashfs-tools pikeun nyiptakeun SquashFS, tapi teu aya anu nyegah anjeun nganggo pilihan -cpio tinimbang - squashfs pikeun ngarangkep distribusi anjeun kana arsip. busybox ngan bakal dianggo upami dipasang, tapi upami henteu, sadaya utilitas anu diperyogikeun tina sistem anjeun bakal disalin. Janten, boobstrap dijamin tiasa dianggo ampir di mana waé.

Contona, paréntah di handap bakal nyieun hiji gambar initrd kaasup gentoo-chroot / sistem rangkep salaku gambar SquashFS, nu bakal boot suksés sanggeus initrd sorangan geus dimuat. Hayu atuh ngingetan yén dina urutan ngagunakeun Overlay FS bareng jeung SquashFS, anjeun kudu lulus pilihan boobs.use-overlayfs kana kernel, disebutkeun sistem bakal unpacked kana tmpfs. Sadaya setélan tambahan tiasa dilakukeun dina diréktori anu misah, contona gentoo-settings/

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

Gambar initrd kalawan sistem di jero merenah mun anjeun kudu gancang nyebarkeun sistem, contona, via PXE, atawa dina switch sistem dimuat kana initrd maké paréntah kexec -l /boot/vmlinuz-* —initrd=./initrd && kexec -e, ogé atawa, keur dina panganteur mesin virtual QEMU (mungkin malah Proxmox), boot ti sumber jauh ngagunakeun tilu paréntah IPXE: kernel http://[...]/vmlinuz, initrd http://[ ...]/initrd, boot. Sakumaha anjeun tiasa tingali, sanajan initrd biasa sareng sistem anjeun di jero ngagaduhan seueur kagunaan.

Pikeun nyiptakeun drive sareng gambar anu tiasa bootable, paréntah mkbootisofs dianggo, contona, ieu mangrupikeun anu nyiptakeun gambar ISO nganggo pilihan -iso-9660 sapertos nganggo syslinux pikeun boot kana Legacy-mode (BIOS) sareng grub2 pikeun boot kana EFI- modeu (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

Anjeun tiasa netepkeun salah sahiji modeu boot, atanapi henteu netepkeunana, gambar ISO anu saluyu bakal suksés didamel.

Pamasangan dina drive naon waé sareng booting salajengna ti éta dilaksanakeun nganggo pilihan --bootable. Anjeun kudu nyieun partisi dina drive sorangan (fdisk) jeung pormat aranjeunna (mkdosfs, mke2fs, jsb), lajeng Gunung alat kana diréktori a.

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

Awas Pilihan --bootable nangtukeun mana blok alat diréktori nu dipasang na install bootloader dina alat ieu. Lamun poho pikeun Gunung alat atawa salah nangtukeun hiji diréktori anu lokasina, contona, on / dev / sda, bootloader on / dev / sda bakal overwritten sasuai. Anggo --bootable kalayan ati-ati.

Masang sagala sistem GNU/Linux diréduksi jadi ngan hiji paréntah. Pamasangan tiasa dilakukeun dina HDD, SSD, sareng sajabana. Perlu diinget yén ieu masih sistem anu ngajalankeun ti Overlay FS / SquashFS, atanapi ngamuat sadayana kana tmpfs, pilihan anjeun.

Diantara hal séjén, boobstrap ngabogaan sajumlah fitur metot jeung kamampuhan tambahan!

Contona, Anjeun bisa nyieun hiji boobstrap initrd proprietary jeung paréntah mkinitramfs `mktemp -d` > /boot/initrd jeung boot kana sistem Anjeun nganggo initrd ieu, nangtukeun pilihan kernel boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. Dina hal ieu, / dev / sda1, dimana sistem asal anjeun dipasang, bakal disambungkeun salaku lapisan FS Overlay baca-hijina, sarta sagala parobahan nu Anjeun jieun bakal ditulis ngan samentara ka tmpfs. Anjeun tiasa nambahkeun pilihan boobs.copy-to-ram lajeng sakabéh sistem anjeun bakal disalin ka RAM, sarta hard drive bisa dipegatkeun tina komputer. Merenah mun anjeun kudu megatkeun hal, sarta anjeun bisa gulung deui parobahan saukur ku rebooting. 🙂

Tapi kumaha upami anjeun masih kedah nyimpen sadaya parobihan dina sistem? Contona, Anjeun masang software atawa hal sejenna. Nalika damel di tmpfs murni, hanjakalna teu mungkin, tapi upami anjeun boot nganggo Overlay FS, maka sadaya parobihan anu aya dina sistem disimpen dina diréktori tmpfs anu misah: /mnt/overlayfs/rootfs-changes! Skenario pamakean saderhana pisan. Anjeun booted kana sistem Anjeun tina alat USB, ngalakukeun sababaraha pagawean, sarta hayang ngahemat sagalana nu dirobah, lajeng nyieun arsip cpio teras nahan dieu, dina alat USB sarua.

# cd /mnt/overlayfs/rootfs-changes
# manggih . -print0 | cpio --create --format "newc" --null --quiet> /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

Anjeun tiasa nempatkeun arsip di gigireun "lapisan" SquashFS sareng cpio anu sanés, teras saatos ngamuat arsip bakal dihubungkeun salaku lapisan ngan ukur dibaca. Pikeun neruskeun gawé bareng parobahan, make pilihan unggah boobs.rootfs-changes=/rootfs-changes.cpio. Pilihan boobs.rootfs-changes ngamungkinkeun lapisan anu ditangtukeun kalayan aksés perobahan. Lapisan tiasa janten alat blok, contona anjeun tiasa netepkeun / dev / sdb1, teras sadaya parobihan anu dilakukeun dina Overlay FS ngan saukur disimpen kana / dev / sdb1.

Boobstrap, sanaos seueur kamungkinan anu sayogi, masih dina tahap pangembangan, sadaya koméntar sareng saran anjeun diperhatoskeun!

sumber: linux.org.ru

Tambahkeun komentar