Bootstrap v1.2 şəkillərinin yaradılması


Bootstrap v1.2 şəkillərinin yaradılması

Daha sonra cəmi bir ay Yavaş inkişafdan sonra, boobstrap v1.2 buraxıldı - yükləmə şəkilləri və diskləri yaratmaq üçün POSIX qabığında alətlər dəsti.

Boobstrap sizə yalnız bir əmr etməyə imkan verir:

  • GNU/Linux paylanması daxil olmaqla initramfs şəkli yaradın.
  • İstənilən GNU/Linux paylanması ilə yüklənə bilən ISO şəkilləri yaradın.
  • İstənilən GNU/Linux paylanması ilə yüklənə bilən USB, HDD, SSD diskləri yaradın.

Xüsusiyyət ondadır ki, GNU/Linux yükləndikdən sonra ya tamamilə təmiz tmpf-lərdə, ya da Overlay FS və SquashFS şəkillərindən istifadə etməklə, sizin seçiminiz olacaq. Siz hər hansı bir GNU/Linux paylanması qovluğuna quraşdırırsınız, bütün lazımi parametrləri (ola bilsin ki, ayrıca qovluqda) edirsiniz, bundan sonra yalnız bir əmrlə yükləmə cihazı yaradırsınız, istər ISO şəkli, USB, HDD, SSD sürücüsü və ya sistemlə initrd şəkli yarada bilərsiniz. Sistem həmişə eyni vəziyyətdə olacaq və nasazlıq baş verərsə, bir Sıfırla düyməsini sıxaraq orijinal vəziyyətinə qayıda bilərsiniz. Sistemi başqa hosta köçürmək və ya mövcud konteynerdən sistem yaratmaq istəyirsiniz? Boobstrap bunu edəcək.

Əsas dəyişikliklər arasında:

  • Artıq mövcud grub2-ə əlavə olaraq syslinux yükləyicisi üçün əlavə dəstək. İndi siz müvafiq olaraq --legacy-boot syslinux və --efi grub2 seçimləri ilə yükləmə cihazı və ya ISO təsviri yaratarkən grub2, syslinux və ya hər ikisindən istifadə etməyi seçə bilərsiniz, həmçinin yükləmənin ISO-nu dəstəkləyəcəyini də seçə bilərsiniz. şəkil.
  • İstənilən blok cihazını yüklənə bilən --bootable seçimi əlavə edildi. ISO şəkilləri yaratmaq üçün --iso-9660 seçimindən istifadə edilməlidir.
  • Bütün örtüklərin məzmununu tmpfs-ə köçürmək üçün boobs.use-shmfs, Overlay FS-dən istifadə etməklə yükləmək üçün boobs.use-overlayfs, sistemlə mənbə seçmək üçün boobs.search-rootfs, boobs.copy-to-ram funksiyaları əlavə edilib. sistemi yaddaşa köçürmək və sonra cihazı söndürmək üçün.
  • Boobstrap-ın işləməsi üçün tələb olunan yeganə asılılıq cpio-dur. Qalan asılılıqlar isteğe bağlıdır: grub2, syslinux - yüklənə bilən media, cdrkit və ya xorriso yaratmaq üçün tələb olunur - ISO yaratmaq üçün, SquashFS yaratmaq üçün squashfs-tools, lakin heç bir şey sizə -cpio seçimindən istifadə etməyə mane olmur - squashfs, paylamanızı arxivə yığmaq üçün. busybox yalnız quraşdırılıbsa istifadə olunacaq, lakin olmasa, sisteminizdən bütün lazımi yardım proqramları kopyalanacaq. Beləliklə, boobstrap demək olar ki, hər yerdə işləməsinə zəmanət verilir.

Məsələn, aşağıdakı əmr SquashFS şəkli kimi paketlənmiş gentoo-chroot/ sistemi daxil olmaqla initrd təsviri yaradacaq və initrd özü yükləndikdən sonra uğurla yüklənəcək. Nəzərinizə çatdırım ki, Overlay FS-dən SquashFS ilə birlikdə istifadə etmək üçün siz boobs.use-overlayfs kernel seçimini keçməlisiniz, əks halda sistem tmpfs-ə açılacaq. Bütün əlavə parametrlər ayrı bir kataloqda edilə bilər, məsələn, gentoo-settings/

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

Sistemin içərisində sistemi olan initrd təsviri, məsələn, PXE vasitəsilə və ya yüklənmiş sistemdə kexec -l /boot/vmlinuz-* —initrd=./initrd əmrindən istifadə edərək initrd-ə keçid etmək üçün sistemi tez bir zamanda yerləşdirmək lazım olduqda əlverişlidir. && kexec -e, yaxşı və ya QEMU virtual maşın interfeysində (ehtimal ki, hətta Proxmox) olmaqla, üç IPXE əmrindən istifadə edərək uzaq mənbədən yükləyin: kernel http://[...]/vmlinuz, initrd http://[ ...]/initrd, yükləmə. Gördüyünüz kimi, sisteminiz içərisində olan adi bir initrd belə bir çox istifadəyə malikdir.

Yüklənə bilən disklər və şəkillər yaratmaq üçün mkbootisofs əmrindən istifadə olunur, məsələn, -iso-9660 seçimi ilə ISO şəklinin yaradılması Legacy rejiminə (BIOS) yükləmək üçün syslinux və EFI-yə yükləmək üçün grub2-dən istifadə kimi görünür. rejimi (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 —boot.iso çıxışı
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

Yükləmə rejimlərindən birini təyin edə bilərsiniz və ya onları ümumiyyətlə göstərə bilməzsiniz, müvafiq ISO təsviri uğurla yaradılacaqdır.

İstənilən sürücüyə quraşdırma və ondan sonrakı yükləmə --bootable seçimi ilə həyata keçirilir. Sürücüdə özünüz (fdisk) arakəsmələr yaratmalı və onları formatlaşdırmalısınız (mkdosfs, mke2fs və s.), sonra cihazı qovluğa quraşdırmalısınız.

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

Diqqət! --bootable seçimi kataloqun hansı blok cihazından quraşdırıldığını müəyyənləşdirir və yükləyicini bu cihazda quraşdırır. Cihazı quraşdırmağı unutsanız və ya səhvən, məsələn, /dev/sda-da yerləşən kataloqu göstərsəniz, /dev/sda-da yükləyici müvafiq olaraq üzərinə yazılacaq. Ehtiyatla --bootable istifadə edin.

İstənilən GNU/Linux sisteminin quraşdırılması yalnız bir əmrə endirilir. Quraşdırma istənilən HDD, SSD və s.-də edilə bilər. Xatırladaq ki, bu hələ də Overlay FS / SquashFS-dən işləyən və ya tamamilə tmpfs-ə yüklənən bir sistemdir, seçiminizdir.

Digər şeylər arasında, boobstrap bir sıra maraqlı xüsusiyyətlərə və əlavə imkanlara malikdir!

Məsələn, siz mkinitramfs `mktemp -d` > /boot/initrd əmri ilə xüsusi boobstrap initrd yarada və nüvə seçimlərini boobs.use-overlayfs boobs.search-rootfs=/dev göstərərək bu initrd ilə sisteminizi yükləyə bilərsiniz. /sda1. Bu halda, ev sisteminizin quraşdırıldığı /dev/sda1, yalnız oxunan Overlay FS təbəqəsi kimi qoşulacaq və etdiyiniz bütün dəyişikliklər yalnız müvəqqəti olaraq tmpfs-ə yazılacaq. Siz boobs.copy-to-ram seçimini əlavə edə bilərsiniz və sonra bütün sisteminiz RAM-a kopyalanacaq və sabit disk kompüterdən ayrıla bilər. Bir şeyi sındırmaq lazım olduqda rahatdır və sadəcə yenidən yükləməklə dəyişiklikləri geri qaytara bilərsiniz. 🙂

Bəs sistemdəki bütün dəyişiklikləri hələ də saxlamalısan? Məsələn, proqram təminatı və ya başqa bir şey quraşdırmısınız. Təmiz tmpfs-də işləyərkən, bu, təəssüf ki, mümkün deyil, lakin Overlay FS-dən istifadə edərək yükləmisinizsə, sistemdə baş verən bütün dəyişikliklər ayrıca tmpfs kataloqunda saxlanılır: /mnt/overlayfs/rootfs-changes! İstifadə ssenarisi çox sadədir. Siz USB cihazından sisteminizə yüklədiniz, bir az işlədiniz və dəyişdirilmiş hər şeyi saxlamaq, sonra cpio arxivi yaradıb onu bura, eyni USB cihazına yerləşdirmək istədiniz.

# cd /mnt/overlayfs/rootfs-dəyişikliklər
#tapmaq. -print0 | cpio --yarat --format "yeni" --null --sakit > /mnt/drive/rootfs-changes.cpio
# CD $OLDPWD

Arxivi digər SquashFS və cpio "qatlarının" yanında yerləşdirə bilərsiniz, sonra yükləndikdən sonra arxiv yalnız oxumaq üçün başqa bir təbəqə kimi birləşdiriləcəkdir. Dəyişikliklərlə işləməyə davam etmək üçün boobs.rootfs-changes=/rootfs-changes.cpio yükləmə seçimindən istifadə edin. boobs.rootfs-changes seçimi dəyişdirmə girişi ilə göstərilən təbəqəyə imkan verir. Qat blok cihazı ola bilər, məsələn, /dev/sdb1-i təyin edə bilərsiniz, sonra Overlay FS-də edilən bütün dəyişikliklər sadəcə olaraq /dev/sdb1-də yadda saxlanılacaq.

Boobstrap, mövcud geniş imkanlara baxmayaraq, hələ də inkişaf mərhələsindədir, bütün şərh və təklifləriniz nəzərə alınır!

Mənbə: linux.org.ru

Добавить комментарий