Skapande av bootbara bilder med boobstrap v1.2


Skapande av bootbara bilder med boobstrap v1.2

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

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster