Bootstrap v1.2 attēlu izveide


Bootstrap v1.2 attēlu izveide

Vēlāk tikai mēnesis Pēc lēnas izstrādes tika izlaists boobstrap v1.2 ā€” rÄ«ku komplekts POSIX apvalkā sāknÄ“Å”anas attēlu un disku izveidei.

Boobstrap ļauj izpildīt tikai vienu komandu:

  • Izveidojiet initramfs attēlu, iekļaujot tajā jebkuru GNU/Linux izplatÄ«Å”anu.
  • Izveidojiet sāknējamus ISO attēlus ar jebkuru GNU/Linux izplatÄ«Å”anu.
  • Izveidojiet sāknējamus USB, HDD, SSD diskus ar jebkuru GNU/Linux izplatÄ«Å”anu.

ÄŖpatnÄ«ba ir tāda, ka pēc ielādes GNU/Linux darbosies vai nu pilnÄ«bā tÄ«rā tmpfs, vai arÄ« izmantojot Overlay FS un SquashFS attēlus, pēc jÅ«su izvēles. JÅ«s instalējat jebkuru GNU/Linux izplatÄ«Å”anu direktorijā, veiciet visus nepiecieÅ”amos iestatÄ«jumus (iespējams atseviŔķā direktorijā), pēc tam izveidojiet sāknÄ“Å”anas ierÄ«ci tikai ar vienu komandu, vai tas bÅ«tu ISO attēls, USB, HDD, SSD disks vai jÅ«s varat izveidot initrd attēlu ar sistēmu. Sistēma vienmēr bÅ«s tajā paŔā stāvoklÄ«, un bojājumu gadÄ«jumā jÅ«s varat atgriezties sākotnējā stāvoklÄ«, nospiežot vienu pogu Reset. Vai vēlaties pārsÅ«tÄ«t sistēmu uz citu resursdatoru vai izveidot sistēmu no esoÅ”a konteinera? Boobstrap to izdarÄ«s.

Starp galvenajām izmaiņām:

  • Papildus jau esoÅ”ajam grub2 ir pievienots atbalsts syslinux bootloader. Tagad varat izvēlēties izmantot vai nu grub2, syslinux vai abus, veidojot sāknÄ“Å”anas ierÄ«ci vai ISO attēlu ar attiecÄ«gi opcijām --legacy-boot syslinux un --efi grub2, kā arÄ« varat izvēlēties, kurus režīmus Lejupielāde atbalstÄ«s ISO. attēlu.
  • Pievienota opcija --bootable, kas padara jebkuru bloka ierÄ«ci sāknējamu. Lai izveidotu ISO attēlus, ir jāizmanto opcija --iso-9660.
  • Pievienotas kodola sāknÄ“Å”anas opcijas boobs.use-shmfs, lai kopētu visu pārklājumu saturu uz tmpfs, boobs.use-overlayfs, lai sāknētu, izmantojot Overlay FS, boobs.search-rootfs, lai atlasÄ«tu avotu ar sistēmu, boobs.copy-to-ram lai kopētu sistēmu atmiņā un pēc tam izslēgtu ierÄ«ci.
  • VienÄ«gā nepiecieÅ”amā atkarÄ«ba, lai boobstrap darbotos, ir cpio. Pārējās atkarÄ«bas nav obligātas: grub2, syslinux - nepiecieÅ”ams, lai izveidotu sāknējamu datu nesēju, cdrkit vai xorriso, no kuriem izvēlēties - lai izveidotu ISO, squashfs-tools, lai izveidotu SquashFS, taču nekas neliedz izmantot -cpio opciju, nevis - squashfs, lai iesaiņotu savu izplatÄ«Å”anu arhÄ«vā. Busybox tiks izmantots tikai tad, ja tas ir instalēts, bet, ja nē, visas nepiecieÅ”amās utilÄ«tas no jÅ«su sistēmas tiks kopētas. Tādējādi tiek garantēts, ka boobstrap darbosies gandrÄ«z visur.

Piemēram, Ŕī komanda izveidos initrd attēlu, kurā iekļauts gentoo-chroot/ system, kas iepakots kā SquashFS attēls, kas tiks veiksmÄ«gi palaists pēc paÅ”a initrd ielādes. AtgādināŔu, ka, lai izmantotu Overlay FS kopā ar SquashFS, ir jānokārto kodola opcija boobs.use-overlayfs, pretējā gadÄ«jumā sistēma tiks izpakota tmpfs. Visus papildu iestatÄ«jumus var veikt atseviŔķā direktorijā, piemēram, gentoo-settings/

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

Initrd attēls ar sistēmu ir ērts, ja nepiecieÅ”ams ātri izvietot sistēmu, piemēram, izmantojot PXE, vai ielādētā sistēmā pārslēdzieties uz initrd, izmantojot komandu kexec -l /boot/vmlinuz-* ā€”initrd=./initrd && kexec -e, labi vai, atrodoties QEMU virtuālās maŔīnas saskarnē (iespējams, pat Proxmox), sāknējiet no attālā avota, izmantojot trÄ«s IPXE komandas: kodols http://[...]/vmlinuz, initrd http://[ ...]/initrd, sāknÄ“Å”ana. Kā redzat, pat parastam initrd ar jÅ«su sistēmu ir daudz lietojumu.

Lai izveidotu sāknējamus diskus un attēlus, tiek izmantota komanda mkbootisofs, piemēram, Ŕādi izskatās ISO attēla izveide ar opciju -iso-9660, izmantojot syslinux, lai sāknētu mantoto režīmu (BIOS) un grub2, lai palaistu EFI-. režīms (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

Varat norādÄ«t vienu no sāknÄ“Å”anas režīmiem vai nenorādÄ«t tos vispār, tiks veiksmÄ«gi izveidots atbilstoÅ”ais ISO attēls.

InstalÄ“Å”ana jebkurā diskdzinÄ« un sekojoÅ”a sāknÄ“Å”ana no tā tiek veikta, izmantojot opciju --bootable. Jums paÅ”am ir jāizveido diska nodalÄ«jumi (fdisk) un jāformatē tie (mkdosfs, mke2fs utt.), Pēc tam ierÄ«ce jāmontē direktorijā.

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

UzmanÄ«bu! Opcija --bootable nosaka, no kuras blokierÄ«ces direktorijs ir uzstādÄ«ts, un instalē sāknÄ“Å”anas ielādētāju Å”ajā ierÄ«cē. Ja aizmirstat pievienot ierÄ«ci vai kļūdaini norādāt direktoriju, kas atrodas, piemēram, /dev/sda, sāknÄ“Å”anas ielādētājs vietnē /dev/sda tiks attiecÄ«gi pārrakstÄ«ts. Izmantojiet --bootable piesardzÄ«gi.

Jebkuras GNU/Linux sistēmas instalÄ“Å”ana tiek samazināta lÄ«dz vienai komandai. InstalÄ“Å”anu var veikt uz jebkura HDD, SSD utt. Ir vērts atgādināt, ka Ŕī joprojām ir sistēma, kas darbojas no Overlay FS / SquashFS vai pilnÄ«bā tiek ielādēta tmpfs, pēc jÅ«su izvēles.

Cita starpā, boobstrap ir vairākas interesantas funkcijas un papildu iespējas!

Piemēram, varat izveidot patentētu boobstrap initrd ar komandu mkinitramfs `mktemp -d` > /boot/initrd un ielādēt sistēmu ar Å”o initrd, norādot kodola opcijas boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. Å ajā gadÄ«jumā /dev/sda1, kurā ir instalēta jÅ«su mājas sistēma, tiks savienots kā tikai lasāms pārklājuma FS slānis, un visas jÅ«su veiktās izmaiņas tiks ierakstÄ«tas tikai Ä«slaicÄ«gi tmpfs. Varat pievienot opciju boobs.copy-to-ram, un tad visa sistēma tiks kopēta RAM, un cieto disku var atvienot no datora. Ērti, ja jums ir nepiecieÅ”ams kaut ko sabojāt, un jÅ«s varat atsaukt izmaiņas, vienkārÅ”i pārstartējot. šŸ™‚

Bet ko darÄ«t, ja jums joprojām ir jāsaglabā visas izmaiņas sistēmā? Piemēram, jÅ«s instalējāt programmatÅ«ru vai kaut ko citu. Strādājot tÄ«rā tmpfs formātā, tas diemžēl nav iespējams, bet, ja bootējāt, izmantojot Overlay FS, tad visas izmaiņas, kas notiek sistēmā, tiek saglabātas atseviŔķā tmpfs direktorijā: /mnt/overlayfs/rootfs-changes! LietoÅ”anas scenārijs ir ļoti vienkārÅ”s. JÅ«s sākāt savu sistēmu no USB ierÄ«ces, veicāt kādu darbu un gribējāt saglabāt visu, kas tika mainÄ«ts, pēc tam izveidojāt cpio arhÄ«vu un ievietojāt to Å”eit, tajā paŔā USB ierÄ«cē.

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

ArhÄ«vu var novietot blakus citiem SquashFS un cpio ā€œslāņiemā€, tad pēc sekojoÅ”as ielādes arhÄ«vs tiks savienots kā vēl viens tikai lasāms slānis. Lai turpinātu darbu ar izmaiņām, izmantojiet augÅ”upielādes opciju boobs.rootfs-changes=/rootfs-changes.cpio. Opcija boobs.rootfs-changes iespējo norādÄ«to slāni ar piekļuvi izmaiņām. Slānis var bÅ«t blokierÄ«ce, piemēram, jÅ«s varat norādÄ«t /dev/sdb1, tad visas Overlay FS veiktās izmaiņas tiks vienkārÅ”i saglabātas /dev/sdb1.

Boobstrap, neskatoties uz plaÅ”ajām iespējām, joprojām ir izstrādes stadijā, visi jÅ«su komentāri un ieteikumi tiek ņemti vērā!

Avots: linux.org.ru

Pievieno komentāru