Mencipta imej bootstrap v1.2


Mencipta imej bootstrap v1.2

Nanti baru sebulan Selepas pembangunan perlahan, boobstrap v1.2 dikeluarkan - satu set alat pada cangkerang POSIX untuk mencipta imej but dan pemacu.

Boobstrap membolehkan anda melakukan hanya satu arahan:

  • Cipta imej initramfs, termasuk sebarang pengedaran GNU/Linux di dalamnya.
  • Cipta imej ISO boleh boot dengan mana-mana pengedaran GNU/Linux.
  • Cipta pemacu USB, HDD, SSD boleh boot dengan mana-mana pengedaran GNU/Linux.

Keanehannya ialah selepas memuatkan GNU/Linux akan berfungsi sama ada sepenuhnya dalam tmpfs tulen, atau menggunakan imej Overlay FS dan SquashFS, pilihan anda. Anda memasang mana-mana pengedaran GNU/Linux dalam direktori, membuat semua tetapan yang diperlukan (mungkin dalam direktori berasingan), selepas itu anda mencipta peranti but dengan hanya satu arahan, sama ada imej ISO, USB, HDD, pemacu SSD, atau anda boleh membuat imej initrd dengan sistem. Sistem akan sentiasa berada dalam keadaan yang sama dan sekiranya berlaku kerosakan, anda boleh kembali ke keadaan asalnya dengan menekan satu butang Reset. Adakah anda mahu memindahkan sistem ke hos lain atau mencipta sistem daripada bekas sedia ada? Boobstrap akan melakukannya.

Antara perubahan utama:

  • Menambah sokongan untuk pemuat but syslinux, sebagai tambahan kepada grub2 yang sedia ada. Anda kini boleh memilih untuk menggunakan sama ada grub2, syslinux, atau kedua-duanya apabila mencipta peranti but atau imej ISO dengan pilihan --legacy-boot syslinux dan --efi grub2 masing-masing, dan anda juga boleh memilih mod yang mana Muat turun akan menyokong ISO gambar.
  • Pilihan --bootable ditambah, yang menjadikan mana-mana peranti blok boleh boot. Untuk mencipta imej ISO, pilihan --iso-9660 mesti digunakan.
  • Menambahkan pilihan but kernel boobs.use-shmfs untuk menyalin kandungan semua tindanan ke tmpfs, boobs.use-overlayfs untuk but menggunakan Overlay FS, boobs.search-rootfs untuk memilih sumber dengan sistem, boobs.copy-to-ram untuk menyalin sistem ke dalam memori dan kemudian mematikan peranti.
  • Satu-satunya kebergantungan yang diperlukan untuk boobstrap berfungsi ialah cpio. Kebergantungan selebihnya adalah pilihan: grub2, syslinux - diperlukan untuk mencipta media boleh boot, cdrkit atau xorriso untuk dipilih - untuk mencipta ISO, squashfs-tools untuk mencipta SquashFS, tetapi tiada apa yang menghalang anda daripada menggunakan pilihan -cpio dan bukannya - squashfs untuk membungkus pengedaran anda ke dalam arkib. busybox hanya akan digunakan jika ia dipasang, tetapi jika tidak, semua utiliti yang diperlukan daripada sistem anda akan disalin. Oleh itu, boobstrap dijamin berfungsi hampir di mana-mana.

Sebagai contoh, arahan berikut akan mencipta imej initrd termasuk gentoo-chroot/ sistem yang dibungkus sebagai imej SquashFS, yang akan berjaya but selepas initrd itu sendiri dimuatkan. Biar saya ingatkan anda bahawa untuk menggunakan Overlay FS bersama SquashFS, anda mesti melepasi pilihan kernel boobs.use-overlayfs, jika tidak, sistem akan dibongkar ke dalam tmpfs. Semua tetapan tambahan boleh dibuat dalam direktori yang berasingan, contohnya gentoo-settings/

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

Imej initrd dengan sistem di dalamnya adalah mudah apabila anda perlu menggunakan sistem dengan cepat, contohnya, melalui PXE, atau pada suis sistem yang dimuatkan ke initrd menggunakan perintah kexec -l /boot/vmlinuz-* β€”initrd=./initrd && kexec -e, baik atau, berada dalam antara muka mesin maya QEMU (mungkin juga Proxmox), but dari sumber jauh menggunakan tiga arahan IPXE: kernel http://[...]/vmlinuz, initrd http://[ ...]/initrd, but. Seperti yang anda lihat, walaupun initrd biasa dengan sistem anda di dalamnya mempunyai banyak kegunaan.

Untuk mencipta pemacu dan imej boleh boot, arahan mkbootisofs digunakan, sebagai contoh, ini adalah apa yang mencipta imej ISO dengan pilihan -iso-9660 kelihatan seperti menggunakan syslinux untuk boot ke mod Legacy (BIOS) dan grub2 untuk boot ke EFI- mod (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
--tindihan gentoo-chroot/ --tindihan gentoo-tetapan/ --squashfs

Anda boleh menentukan salah satu mod but, atau tidak menyatakannya sama sekali, imej ISO yang sepadan akan berjaya dibuat.

Pemasangan pada mana-mana pemacu dan but seterusnya daripadanya dilakukan menggunakan pilihan --bootable. Anda perlu membuat partition pada pemacu sendiri (fdisk) dan memformatkannya (mkdosfs, mke2fs, dll.), dan kemudian lekapkan peranti ke dalam direktori.

# mount /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --boot --legacy-boot grub2 --efi grub2
--tindihan gentoo-chroot/ --tindihan gentoo-tetapan/ --squashfs

Awas! Pilihan --bootable menentukan peranti blok mana direktori dipasang dan memasang pemuat but pada peranti ini. Jika anda terlupa untuk melekapkan peranti atau tersilap menentukan direktori yang terletak, contohnya, pada /dev/sda, pemuat but pada /dev/sda akan ditimpa dengan sewajarnya. Gunakan --bootable dengan berhati-hati.

Memasang mana-mana sistem GNU/Linux dikurangkan kepada hanya satu arahan. Pemasangan boleh dilakukan pada mana-mana HDD, SSD, dan sebagainya. Perlu diingat bahawa ini masih sistem yang dijalankan daripada Overlay FS / SquashFS, atau memuatkan sepenuhnya ke dalam tmpfs, pilihan anda.

Antara lain, boobstrap mempunyai beberapa ciri menarik dan keupayaan tambahan!

Sebagai contoh, anda boleh mencipta initrd boobstrap proprietari dengan perintah mkinitramfs `mktemp -d` > /boot/initrd dan but ke dalam sistem anda dengan initrd ini, dengan menyatakan pilihan kernel boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. Dalam kes ini, /dev/sda1, tempat sistem rumah anda dipasang, akan disambungkan sebagai lapisan FS Tindanan baca sahaja dan semua perubahan yang anda buat akan ditulis hanya buat sementara waktu kepada tmpfs. Anda boleh menambah pilihan boobs.copy-to-ram dan kemudian keseluruhan sistem anda akan disalin ke RAM, dan cakera keras boleh diputuskan sambungan daripada komputer. Mudah apabila anda perlu memecahkan sesuatu, dan anda boleh melancarkan semula perubahan hanya dengan but semula. πŸ™‚

Tetapi bagaimana jika anda masih perlu menyimpan semua perubahan dalam sistem? Sebagai contoh, anda memasang perisian atau sesuatu yang lain. Apabila bekerja dalam tmpfs tulen, ini malangnya mustahil, tetapi jika anda boot menggunakan Overlay FS, maka semua perubahan yang berlaku dalam sistem disimpan dalam direktori tmpfs yang berasingan: /mnt/overlayfs/rootfs-changes! Senario penggunaan adalah sangat mudah. Anda but ke dalam sistem anda daripada peranti USB, melakukan beberapa kerja dan ingin menyimpan semua yang telah diubah, kemudian buat arkib cpio dan letakkannya di sini, pada peranti USB yang sama.

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

Anda boleh meletakkan arkib di sebelah "lapisan" SquashFS dan cpio yang lain, kemudian selepas pemuatan berikutnya, arkib akan disambungkan sebagai satu lagi lapisan baca sahaja. Untuk terus bekerja dengan perubahan, gunakan pilihan muat naik boobs.rootfs-changes=/rootfs-changes.cpio. Pilihan boobs.rootfs-changes membolehkan lapisan yang ditentukan dengan akses perubahan. Lapisan boleh menjadi peranti blok, contohnya anda boleh menentukan /dev/sdb1, kemudian semua perubahan yang dibuat dalam Overlay FS hanya akan disimpan ke /dev/sdb1.

Boobstrap, walaupun terdapat banyak kemungkinan, masih dalam peringkat pembangunan, semua komen dan cadangan anda diambil kira!

Sumber: linux.org.ru

Tambah komen