Bootstrap v1.2 պատկերների ստեղծում


Bootstrap v1.2 պատկերների ստեղծում

Հետո ընդամենը մեկ ամիս Դանդաղ զարգացումից հետո թողարկվեց boobstrap v1.2-ը՝ POSIX shell-ի վրա տեղադրված գործիքների հավաքածու՝ բեռնախցիկի պատկերներ և կրիչներ ստեղծելու համար:

Boobstrap-ը թույլ է տալիս կատարել ընդամենը մեկ հրաման.

  • Ստեղծեք initramfs պատկեր, ներառյալ ցանկացած GNU/Linux բաշխում դրանում:
  • Ստեղծեք bootable ISO պատկերներ ցանկացած GNU/Linux բաշխմամբ:
  • Ստեղծեք bootable USB, HDD, SSD կրիչներ ցանկացած GNU/Linux բաշխման միջոցով:

Առանձնահատկությունն այն է, որ GNU/Linux-ը բեռնելուց հետո կամ ամբողջությամբ կաշխատի մաքուր tmpf-ներով, կամ օգտագործելով Overlay FS և SquashFS պատկերները՝ ձեր ընտրությամբ։ Դուք տեղադրում եք ցանկացած GNU/Linux բաշխում գրացուցակում, կատարում եք բոլոր անհրաժեշտ կարգավորումները (հնարավոր է առանձին գրացուցակում), որից հետո ստեղծում եք բեռնման սարք ընդամենը մեկ հրամանով, լինի դա ISO պատկեր, USB, HDD, SSD կրիչ կամ դուք կարող եք ստեղծել initrd պատկեր համակարգով: Համակարգը միշտ կլինի նույն վիճակում և խափանման դեպքում կարող եք վերադառնալ իր սկզբնական վիճակին՝ սեղմելով մեկ Վերականգնել կոճակը: Ցանկանու՞մ եք համակարգը փոխանցել մեկ այլ հոսթին, թե՞ համակարգ ստեղծել գոյություն ունեցող կոնտեյներից: Boobstrap-ը դա կանի:

Հիմնական փոփոխությունների թվում.

  • Ավելացվել է աջակցություն syslinux bootloader-ին, ի լրումն արդեն գոյություն ունեցող grub2-ի: Այժմ կարող եք ընտրել օգտագործել grub2, syslinux կամ երկուսն էլ՝ բեռնման սարք կամ ISO պատկեր ստեղծելիս՝ համապատասխանաբար --legacy-boot syslinux և --efi grub2 տարբերակներով, և կարող եք նաև ընտրել, թե որ ռեժիմները Ներբեռնումը կաջակցի ISO-ին: պատկեր.
  • Ավելացվեց --bootable տարբերակ, որը ցանկացած բլոկ սարքը դարձնում է bootable: ISO պատկերներ ստեղծելու համար պետք է օգտագործվի --iso-9660 տարբերակը:
  • Ավելացվել է միջուկի բեռնման ընտրանքներ boobs.use-shmfs՝ բոլոր ծածկույթների բովանդակությունը tmpfs-ում պատճենելու համար, boobs.use-overlayfs՝ օգտագործելով Overlay FS, boobs.search-rootfs՝ համակարգով աղբյուր ընտրելու համար, boobs.copy-to-ram համակարգը պատճենելու հիշողության մեջ և այնուհետև անջատելու սարքը:
  • Boobstrap-ի աշխատանքի միակ պարտադիր կախվածությունը cpio-ն է: Մնացած կախվածությունները կամընտիր են. grub2, syslinux - պահանջվում է bootable media ստեղծելու համար, cdrkit կամ xorriso՝ ընտրելու համար՝ ստեղծելու ISO, squashfs-գործիքներ SquashFS ստեղծելու համար, բայց ոչինչ չի խանգարում ձեզ օգտագործել -cpio տարբերակը -ի փոխարեն: squashfs՝ ձեր բաշխումը արխիվի մեջ փաթեթավորելու համար: busybox-ը կօգտագործվի միայն այն դեպքում, եթե այն տեղադրված է, բայց եթե ոչ, ձեր համակարգից բոլոր անհրաժեշտ կոմունալ ծառայությունները կպատճենվեն: Այսպիսով, boobstrap-ը երաշխավորված է աշխատել գրեթե ամենուր:

Օրինակ, հետևյալ հրամանը կստեղծի initrd պատկեր, որը ներառում է gentoo-chroot/ համակարգ, որը փաթեթավորված է որպես SquashFS պատկեր, որը հաջողությամբ կբեռնվի այն բանից հետո, երբ ինքը բեռնվի initrd-ը: Հիշեցնեմ, որ Overlay FS-ը SquashFS-ի հետ համատեղ օգտագործելու համար պետք է անցնել boobs.use-overlayfs միջուկի տարբերակը, հակառակ դեպքում համակարգը կբացվի tmpfs-ի: Բոլոր լրացուցիչ կարգավորումները կարող են կատարվել առանձին գրացուցակում, օրինակ՝ gentoo-settings/

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

Ներսում համակարգ ունեցող initrd պատկերը հարմար է, երբ անհրաժեշտ է արագ տեղակայել համակարգը, օրինակ՝ PXE-ի միջոցով կամ բեռնված համակարգի անջատիչի վրա դեպի initrd՝ օգտագործելով kexec -l /boot/vmlinuz-* —initrd=./initrd հրամանը: && kexec -e, լավ կամ, լինելով QEMU վիրտուալ մեքենայի միջերեսում (հնարավոր է նույնիսկ Proxmox), բեռնեք հեռավոր աղբյուրից՝ օգտագործելով երեք IPXE հրամաններ՝ միջուկ http://[...]/vmlinuz, initrd http://[ ...]/initrd, boot. Ինչպես տեսնում եք, նույնիսկ սովորական initrd-ը, որի ներսում կա ձեր համակարգը, ունի բազմաթիվ կիրառումներ:

Բեռնվող կրիչներ և պատկերներ ստեղծելու համար օգտագործվում է mkbootisofs հրամանը, օրինակ, սա այն է, ինչ -iso-9660 տարբերակով ISO պատկեր ստեղծելը նման է syslinux-ի օգտագործմանը՝ Legacy-mode-ի (BIOS) և grub2-ի՝ EFI-ում բեռնելու համար: ռեժիմ (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
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

Կարող եք նշել բեռնման ռեժիմներից մեկը, կամ ընդհանրապես չնշել դրանք, համապատասխան ISO պատկերը հաջողությամբ կստեղծվի:

Ցանկացած սկավառակի վրա տեղադրումը և դրանից հետո բեռնումը կատարվում է --bootable տարբերակի միջոցով: Դուք պետք է ինքներդ ստեղծեք միջնորմներ սկավառակի վրա (fdisk) և ֆորմատավորեք դրանք (mkdosfs, mke2fs և այլն), այնուհետև սարքը տեղադրեք գրացուցակի մեջ:

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

Զգուշացեք --bootable տարբերակը որոշում է, թե որ բլոկ սարքից է տեղադրվում գրացուցակը և տեղադրում է bootloader-ը այս սարքի վրա: Եթե ​​մոռանում եք տեղադրել սարքը կամ սխալմամբ նշել եք գրացուցակ, որը գտնվում է, օրինակ, /dev/sda-ում, ապա /dev/sda-ի բեռնիչը համապատասխանաբար կվերագրվի: Օգտագործեք --bootable-ը զգուշությամբ:

Ցանկացած GNU/Linux համակարգի տեղադրումը կրճատվում է ընդամենը մեկ հրամանով: Տեղադրումը կարող է կատարվել ցանկացած HDD-ի, SSD-ի վրա և այլն: Հարկ է հիշել, որ սա դեռ համակարգ է, որն աշխատում է Overlay FS / SquashFS-ից կամ ամբողջությամբ բեռնվում է tmpfs-ի մեջ՝ ձեր ընտրությամբ:

Ի թիվս այլ բաների, boobstrap-ն ունի մի շարք հետաքրքիր առանձնահատկություններ և լրացուցիչ հնարավորություններ:

Օրինակ, դուք կարող եք ստեղծել սեփական boobstrap initrd mkinitramfs `mktemp -d` > /boot/initrd հրամանով և բեռնել ձեր համակարգ այս initrd-ով` նշելով միջուկի ընտրանքները boobs.use-overlayfs boobs.search-rootfs=/dev: /sda1. Այս դեպքում /dev/sda1-ը, որտեղ տեղադրված է ձեր տան համակարգը, կմիանա որպես միայն կարդալու Overlay FS շերտ, և ձեր կատարած բոլոր փոփոխությունները միայն ժամանակավորապես կգրվեն tmpfs-ում: Դուք կարող եք ավելացնել boobs.copy-to-ram տարբերակը, այնուհետև ձեր ամբողջ համակարգը կպատճենվի RAM-ում, և կոշտ սկավառակը կարող է անջատվել համակարգչից: Հարմար է, երբ ինչ-որ բան կոտրելու կարիք ունեք, և դուք կարող եք հետ փոխել փոփոխությունները պարզապես վերագործարկման միջոցով: 🙂

Բայց ի՞նչ անել, եթե դեռ պետք է պահպանել համակարգի բոլոր փոփոխությունները: Օրինակ, դուք տեղադրել եք ծրագրակազմ կամ այլ բան: Մաքուր tmpfs-ում աշխատելիս դա, ցավոք, անհնար է, բայց եթե դուք բեռնել եք Overlay FS-ի միջոցով, ապա համակարգում տեղի ունեցող բոլոր փոփոխությունները պահվում են առանձին tmpfs գրացուցակում՝ /mnt/overlayfs/rootfs-changes: Օգտագործման սցենարը շատ պարզ է. Դուք մուտք գործեցիք ձեր համակարգ USB սարքից, որոշ աշխատանք կատարեցիք և ցանկացաք պահպանել այն ամենը, ինչ փոխվել է, ապա ստեղծել cpio արխիվ և տեղադրել այն այստեղ՝ նույն USB սարքի վրա:

# cd /mnt/overlayfs/rootfs-changes
#գտնել. -տպել0 | cpio --create --format "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# CD $OLDPWD

Դուք կարող եք տեղադրել արխիվը SquashFS-ի և cpio-ի այլ «շերտերի» կողքին, այնուհետև հետագա բեռնումից հետո արխիվը կմիացվի որպես մեկ այլ միայն կարդալու շերտ: Փոփոխությունների հետ աշխատելը շարունակելու համար օգտագործեք վերբեռնման տարբերակը boobs.rootfs-changes=/rootfs-changes.cpio: Boobs.rootfs-changes տարբերակը հնարավորություն է տալիս նշված շերտին փոփոխության հասանելիությամբ: Շերտը կարող է լինել բլոկ սարք, օրինակ՝ կարող եք նշել /dev/sdb1, ապա Overlay FS-ում կատարված բոլոր փոփոխությունները պարզապես կպահվեն /dev/sdb1-ում:

Boobstrap-ը, չնայած առկա լայն հնարավորություններին, դեռ մշակման փուլում է, ձեր բոլոր դիտողություններն ու առաջարկությունները հաշվի են առնվում:

Source: linux.org.ru

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