után csak egy hónap Lassú fejlesztés után megjelent a boobstrap v1.2 - a POSIX shell eszközkészlete rendszerindító lemezképek és meghajtók létrehozásához.
A Boobstrap egyetlen parancs végrehajtását teszi lehetővé:
- Initramfs kép létrehozása, beleértve az esetleges GNU disztribúciókat is.Linux.
- Készítsen bootolható ISO-képeket bármilyen GNU/Linux disztribúcióval.Linux.
- Hozzon létre bootolható USB, HDD, SSD meghajtókat bármilyen GNU/Linux disztribúcióvalLinux.
A sajátossága, hogy a GNU/ betöltése utánLinux Működni fog teljes egészében egy tiszta tmpfs meghajtón, vagy Overlay FS és SquashFS lemezképekkel, a te választásod szerint. Bármely GNU/Linux disztribúciót telepíthetsz.Linux egy könyvtárba, végezd el az összes szükséges beállítást (ezt egy külön könyvtárban is megteheted), majd hozz létre egy bootolható eszközt egyetlen paranccsal, legyen az ISO-kép, USB, HDD vagy SSD-meghajtó. Initrd-képet is létrehozhatsz a rendszerrel. A rendszer mindig ugyanabban az állapotban lesz, és ha valami összeomlik, a Reset gomb egyetlen megnyomásával visszaállíthatod az eredeti állapotába. Át szeretnéd helyezni a rendszert egy másik hosztra, vagy egy meglévő konténerből szeretnél rendszert létrehozni? A Boobstrap meg tudja csinálni.
A legfontosabb változások közül:
- Hozzáadott támogatás a syslinux rendszerbetöltőhöz a már meglévő grub2 mellett. Mostantól választhat, hogy a grub2-t, a syslinux-ot vagy mindkettőt használja-e rendszerindító eszköz vagy ISO-kép létrehozásához a --legacy-boot syslinux és --efi grub2 opciókkal, és azt is kiválaszthatja, hogy mely módok A letöltés támogatja az ISO-t. kép.
- Hozzáadott --bootable opció, amely bármely blokkeszközt indíthatóvá tesz. Az ISO-képek létrehozásához az --iso-9660 kapcsolót kell használni.
- Hozzáadtuk a kernel rendszerindítási beállításait: boobs.use-shmfs az összes overlay tartalmának tmpfs fájlba másolásához, boobs.use-overlayfs az Overlay FS segítségével történő rendszerindításhoz, boobs.search-rootfs a forrás kiválasztásához a rendszerrel, boobs.copy-to-ram a rendszer memóriába másolásához, majd kikapcsolja az eszközt.
- A boobstrap működéséhez az egyetlen szükséges függőség a cpio. A többi függőség nem kötelező: grub2, syslinux - szükséges a rendszerindító adathordozó létrehozásához, cdrkit vagy xorriso közül választhat - ISO létrehozásához, squashfs-tools a SquashFS létrehozásához, de semmi sem akadályozza meg, hogy a -cpio kapcsolót használja helyett - squashfs, hogy a terjesztését egy archívumba csomagolja. busybox csak akkor lesz használatban, ha telepítve van, de ha nem, akkor a rendszer minden szükséges segédprogramját átmásolja. Így a boobstrap szinte mindenhol garantáltan működik.
Például a következő parancs létrehoz egy initrd képfájlt, amely egy gentoo-chroot/rendszert tartalmaz, SquashFS képfájlként csomagolva, amely sikeresen elindul, miután maga az initrd betöltődött. Hadd emlékeztesselek arra, hogy az Overlay FS és a SquashFS együttes használatához át kell adni a boobs.use-overlayfs kernel opciót, különben a rendszer tmpfs-be lesz csomagolva. Minden további beállítás külön könyvtárban adható meg, például gentoo-settings/
# mkdir initramfs/
# mkinitramfs initramfs/ --overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs > initrd
A rendszert tartalmazó initrd lemezkép akkor hasznos, ha gyorsan telepíteni kell egy rendszert, például PXE-n keresztül, vagy egy betöltött rendszeren át kell váltania az initrd-re a kexec -l /boot/vmlinuz-* —initrd=./initrd paranccsal && kexec -e, nos, vagy a QEMU virtuális gép felületén (esetleg a Proxmoxon) távoli forrásból indítsa el három IPXE-parancs segítségével: kernel http://[...]/vmlinuz, initrd http://[ ...]/initrd, boot. Amint látja, még egy normál initrd-nek is sok haszna van, amelyben a rendszered van.
Rendszerindító meghajtók és lemezképek létrehozásához az mkbootisofs parancsot használják, például így néz ki egy ISO-kép létrehozása az -iso-9660 kapcsolóval, ha a syslinuxot használja a Legacy-mode (BIOS) és a grub2 segítségével az EFI-be. mód (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
Megadhatja az egyik rendszerindítási módot, vagy egyáltalán nem adja meg, a megfelelő ISO-kép sikeresen létrejön.
Bármely meghajtóra történő telepítés és az azt követő rendszerindítás a --bootable kapcsolóval történik. Saját magának kell partíciókat létrehoznia a meghajtón (fdisk), és formáznia kell azokat (mkdosfs, mke2fs stb.), majd csatolnia kell az eszközt egy könyvtárba.
# mount /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --bootable --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs
Vigyázat! A --bootable paraméter határozza meg, hogy a könyvtár melyik blokkeszközről van felcsatolva, és telepíti a rendszerbetöltőt erre az eszközre. Ha elfelejti csatlakoztatni az eszközt, vagy tévedésből olyan könyvtárat ad meg, amely például a /dev/sda könyvtárban található, a /dev/sda fájl rendszerbetöltője ennek megfelelően felülíródik. Óvatosan használja a --bootable-t.
Bármely GNU/ telepítéseLinux A rendszer egyetlen paranccsal telepíthető. A telepítés bármilyen HDD-re, SSD-re stb. elvégezhető. Érdemes megjegyezni, hogy ez továbbra is egy olyan rendszer, amely Overlay FS / SquashFS-ből fut, vagy teljesen tmpfs-ből indul, a preferenciáktól függően.
Többek között a boobstrap számos érdekes funkcióval és további képességekkel rendelkezik!
Például létrehozhat egy szabadalmaztatott boobstrap initrd-t az mkinitramfs `mktemp -d` > /boot/initrd paranccsal, és ezzel az initrd-vel indíthatja el a rendszert a boobs.use-overlayfs boobs.search-rootfs=/dev kernelbeállítások megadásával. /sda1. Ebben az esetben a /dev/sda1, amelyre az otthoni rendszer telepítve van, csak olvasható Overlay FS-rétegként csatlakozik, és minden változtatás csak ideiglenesen kerül beírásra a tmpfs-be. Hozzáadhatja a boobs.copy-to-ram opciót, és a rendszer a teljes rendszert a RAM-ba másolja, és a merevlemez leválasztható a számítógépről. Kényelmes, ha meg kell törnie valamit, és egyszerűen újraindítással visszaállíthatja a változtatásokat. 🙂
De mi van akkor, ha mégis el kell mentenie a rendszer összes módosítását? Például szoftvert vagy valami mást telepített. Tiszta tmpfs-ben dolgozva ez sajnos lehetetlen, de ha Overlay FS-el bootoltál, akkor a rendszerben előforduló összes változás egy külön tmpfs könyvtárba kerül: /mnt/overlayfs/rootfs-changes! A használati forgatókönyv nagyon egyszerű. USB-eszközről indította el a rendszert, dolgozott egy kicsit, és el akart menteni mindent, ami megváltozott, majd létrehozta a cpio archívumot, és idetette, ugyanarra az USB-eszközre.
# cd /mnt/overlayfs/rootfs-changes
# megtalálja . -print0 | cpio --create --format "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD
Az archívumot elhelyezheti más SquashFS és cpio „rétegek” mellé, majd a későbbi betöltéskor az archívum csak egy újabb csak olvasható rétegként csatlakozik. A módosításokkal való munka folytatásához használja a boobs.rootfs-changes=/rootfs-changes.cpio feltöltési lehetőséget. A boobs.rootfs-changes opció engedélyezi a megadott fóliát változtatási hozzáféréssel. A fólia lehet blokkeszköz, például megadhatja a /dev/sdb1 fájlt, majd az Overlay FS-ben végrehajtott összes módosítás egyszerűen a /dev/sdb1 mappába kerül.
A Boobstrap a széles körű lehetőségek ellenére még fejlesztési szakaszban van, minden észrevételt és javaslatot figyelembe veszünk!
Forrás: linux.org.ru

