Efter bara en mĂ„nad av en lugn utveckling har lanseringen av boobstrap v1.2 skett â ett verktygspaket pĂ„ POSIX-shell för att skapa startbilder och lagringsenheter.
Boobstrap gör det möjligt med bara ett kommando:
- Skapa en initramfs-bild som inkluderar vilken GNU/Linux-distribution som helst.
- Skapa startande ISO-bilder med vilken GNU/Linux-distribution som helst.
- Skapa startande USB-, HDD- och SSD-enheter med vilken GNU/Linux-distribution som helst.
Funktionen ligger i att efter att ha startat kommer GNU/Linux att fungera antingen helt i ren tmpfs eller med anvÀndning av Overlay FS och SquashFS-bilder, efter ditt val. Du installerar valfri GNU/Linux-distribution i en katalog, gör alla nödvÀndiga instÀllningar (kan göras i en separat katalog), och med bara ett kommando skapar du en startenhet, oavsett om det Àr en ISO-bild, USB, HDD eller SSD-enhet, och du kan Àven skapa en initrd-bild med systemet. Systemet kommer alltid att vara i ett och samma tillstÄnd, och i hÀndelse av ett fel kan du ÄtergÄ till det ursprungliga tillstÄndet genom att trycka pÄ en knapp för à terstÀllning. Vill du flytta systemet till en annan vÀrd eller skapa ett system frÄn en befintlig container? Boobstrap gör det.
FrÄn de viktigaste förÀndringarna:
- Stöd för bootloadern syslinux har lagts till, utöver det redan befintliga grub2. Nu kan du vĂ€lja att anvĂ€nda antingen grub2, syslinux eller bĂ„da tillsammans nĂ€r du skapar en startenhet eller ISO-bild, vilket styrs av alternativen âlegacy-boot syslinux och âefi grub2 respektive, och du kan Ă€ven vĂ€lja vilka startlĂ€gen ISO-bilden ska stödja.
- En âbootable-option har lagts till, som gör vilken blockenhet som helst startbar. För att skapa ISO-bilder ska alternativet âiso-9660 anvĂ€ndas.
- Alternativ för kÀrnstart har lagts till: boobs.use-shmfs för att kopiera innehÄllet i alla overlays till tmpfs, boobs.use-overlayfs för att starta med anvÀndning av Overlay FS, boobs.search-rootfs för att vÀlja kÀllan med systemet, boobs.copy-to-ram för att kopiera systemet till minnet med att senare avaktivera enheten.
- Det enda obligatoriska beroendet för att fĂ„ boobstrap att fungera Ă€r cpio. Ăvriga beroenden Ă€r valfria: grub2, syslinux - behövs för att skapa startbara medier, cdrkit eller xorriso som val för att skapa ISO, squashfs-tools för att skapa SquashFS, men ingenting hindrar anvĂ€ndning av alternativet --cpio istĂ€llet för --squashfs för att paketera din distribution i ett arkiv. busybox kommer att anvĂ€ndas endast om det Ă€r installerat, annars kommer alla nödvĂ€ndiga verktyg att kopieras frĂ„n ditt system. SĂ„ledes garanteras boobstrap att fungera nĂ€stan överallt.
Till exempel kommer följande kommando att skapa en initrd-avbildning som inkluderar gentoo-chroot/ systemet, paketera som SquashFS-bild, vilken kommer att laddas framgÄngsrikt efter att initrd har laddats. Jag pÄminner om att för att anvÀnda Overlay FS tillsammans med SquashFS mÄste alternativet till kÀrnan boobs.use-overlayfs, annars kommer systemet att packas upp i tmpfs. Alla ytterligare instÀllningar kan göras i en separat katalog, till exempel gentoo-settings/
# mkdir initramfs/
# mkinitramfs initramfs/ âoverlay gentoo-chroot/ âoverlay gentoo-settings/ âsquashfs > initrd
En initrd-avbildning med systemet inuti Ă€r bekvĂ€m nĂ€r man snabbt behöver starta systemet, till exempel via PXE, eller att vĂ€xla till initrd frĂ„n ett körande system med kommandot kexec -l /boot/vmlinuz-* --initrd=./initrd && kexec -e, eller medan man Ă€r i grĂ€nssnittet för en virtuell maskin QEMU (möjligen Ă€ven Proxmox) starta frĂ„n en fjĂ€rrplats med hjĂ€lp av tre kommandon IPXE: kernel http://[âŠ] /vmlinuz , initrd http://[âŠ] /initrd , boot. Som du ser har Ă€ven en vanlig initrd med ditt system inuti mĂ„nga anvĂ€ndningsomrĂ„den.
För att skapa startbara medier och avbilder anvÀnds kommandot mkbootisofs, till exempel ser skapandet av en ISO-bild med alternativet --iso-9660 ut sÄ hÀr, med syslinux för att starta i Legacy-lÀge (BIOS) och grub2 för att starta i EFI-lÀge (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
Du kan ange ett av de tvÄ startlÀgena, eller inte ange nÄgot alls, den motsvarande ISO-bilden kommer att skapas framgÄngsrikt.
Installation pÄ vilken lagring som helst med efterföljande start frÄn den görs med alternativet --bootable. Du mÄste sjÀlv skapa partitioner pÄ lagringen (fdisk) och formatera dem (mkdosfs, mke2fs osv.), och sedan montera enheten i en katalog.
# mount /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ âbootable âlegacy-boot grub2 âefi grub2
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs
Var försiktig! Alternativet âbootable definierar frĂ„n vilken blockenhet katalogen har monterats och installerar bootloadern pĂ„ denna enhet. Om du glömmer att montera enheten eller felaktigt anger en katalog som ligger, till exempel, pĂ„ /dev/sda, kommer bootloadern pĂ„ /dev/sda att skrivas över. AnvĂ€nd âbootable med försiktighet.
Installation av valfritt GNU/Linux-system kan sammanfattas i en enda kommando. Installation kan utföras pÄ vilken HDD, SSD och sÄ vidare som helst. Det Àr vÀrt att pÄminna om att detta fortfarande Àr ett system som fungerar frÄn Overlay FS / SquashFS, eller helt laddas i tmpfs, beroende pÄ val.
Förutom allt annat har bootstrap ett antal intressanta funktioner och ytterligare möjligheter!
Till exempel kan du skapa ett anpassat bootstrap initrd med kommandot mkinitramfs `mktemp -d` > /boot/initrd och starta ditt system med detta initrd genom att ange kĂ€rnans alternativ boobs.use-overlayfs boobs.search-rootfs=/dev/sda1. I sĂ„ fall kommer /dev/sda1, dĂ€r ditt hemssystem Ă€r installerat, att kopplas som ett read-only lager av Overlay FS, och alla Ă€ndringar du gör kommer att sparas temporĂ€rt i tmpfs. Du kan lĂ€gga till alternativet boobs.copy-to-ram och dĂ„ kommer hela ditt system att kopieras till RAM, och hĂ„rddisken kan kopplas bort frĂ„n datorn. Det Ă€r praktiskt nĂ€r du behöver förstöra nĂ„got, och du kan enkelt Ă„terstĂ€lla Ă€ndringar genom att helt enkelt starta om. đ
Men vad hÀnder om du ÀndÄ behöver spara alla Àndringar i systemet? Till exempel om du har installerat mjukvara eller nÄgot annat. NÀr du arbetar i ren tmpfs Àr detta tyvÀrr omöjligt, men om du har startat med anvÀndning av Overlay FS, kommer alla Àndringar som sker i systemet att sparas i en separat tmpfs-katalog: /mnt/overlayfs/rootfs-changes! AnvÀndningsscenariot Àr mycket enkelt. Du har startat ditt system frÄn en USB-enhet, arbetat, och vill spara allt som Àndrats, dÄ skapar du ett cpio-arkiv och lÀgger det hÀr, pÄ samma USB-enhet.
# cd /mnt/overlayfs/rootfs-changes
# find . -print0 | cpio âcreate âformat "newc" ânull âquiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD
Du kan placera arkivet bredvid andra SquashFS och cpio "lager", sÄ att det kommer att bli anslutet som ett ytterligare read-only lager vid nÀsta boot. För att fortsÀtta arbeta med förÀndringar, anvÀnd alternativet för boot boobs.rootfs-changes=\/rootfs-changes.cpio. Alternativet boobs.rootfs-changes ansluter det angivna lagret med skrivÄtkomst. Lagret kan vara en blockenhet, till exempel kan du ange \/dev\/sdb1, sÄ att alla förÀndringar som görs i Overlay FS kommer att sparas pÄ \/dev\/sdb1.
Boobstrap Àr fortfarande under utveckling trots dess mÄnga möjligheter, alla dina kommentarer och förslag beaktas!
KĂ€lla: linux.org.ru

