Bootstrap v1.2-images maken


Bootstrap v1.2-images maken

na slechts een maand Na een rustige ontwikkeling is boobstrap v1.2 uitgebracht: een set hulpmiddelen op de POSIX-shell voor het maken van opstartbare images en schijven.

Met Boobstrap kunt u slechts één commando uitvoeren:

  • Maak een initramfs-image aan, inclusief alle GNU-distributies.Linux.
  • Maak opstartbare ISO-images met elke GNU/Linux-distributie.Linux.
  • Maak opstartbare USB-sticks, harde schijven en SSD's met elke GNU/Linux-distributie.Linux.

Het bijzondere is dat na het laden van GNU/Linux Het werkt volledig op een pure tmpfs-schijf of met Overlay FS- en SquashFS-images, de keuze is aan u. U kunt elke GNU/Linux-distributie installeren.Linux Ga naar een map, maak alle benodigde instellingen (dit kan in een aparte map) en creëer vervolgens met één commando een opstartbaar apparaat, of het nu een ISO-image, USB-stick, HDD of SSD is. Je kunt ook een initrd-image met het systeem maken. Het systeem bevindt zich altijd in dezelfde staat en als er iets vastloopt, kun je het met één druk op de resetknop terugzetten naar de oorspronkelijke staat. Wil je het systeem naar een andere host verplaatsen of een systeem maken vanuit een bestaande container? Boobstrap kan het.

Belangrijke wijzigingen zijn:

  • Ondersteuning toegevoegd voor de syslinux bootloader, naast de bestaande grub2. U kunt nu kiezen om grub2, syslinux of beide te gebruiken bij het maken van een opstartapparaat of ISO-image. Dit wordt beheerd via de opties --legacy-boot syslinux en --efi grub2. U kunt ook kiezen welke opstartmodi de ISO-image ondersteunt.
  • Optie --bootable toegevoegd waardoor elk blokapparaat opstartbaar wordt. Om ISO-images te maken, moet de optie --iso-9660 worden gebruikt.
  • Kernel-opstartopties toegevoegd: boobs.use-shmfs om de inhoud van alle overlays naar tmpfs te kopiëren, boobs.use-overlayfs om op te starten met Overlay FS, boobs.search-rootfs om de bron met het systeem te selecteren, boobs.copy-to-ram om het systeem naar het geheugen te kopiëren en vervolgens het apparaat los te koppelen.
  • De enige vereiste afhankelijkheid voor boobstrap om te werken is cpio. De overige afhankelijkheden zijn optioneel: grub2 en syslinux zijn vereist om opstartbare media te maken, cdrkit of xorriso van uw keuze om een ​​ISO te maken, squashfs-tools om SquashFS te maken, maar niets verhindert u om de optie --cpio te gebruiken in plaats van --squashfs om uw distributie in een archief te pakken. busybox wordt alleen gebruikt als het is geïnstalleerd. Is dit niet het geval, dan worden alle benodigde hulpprogramma's van uw systeem gekopieerd. Daarom is het zeker dat boobstrap bijna overal werkt.

Met de volgende opdracht wordt bijvoorbeeld een initrd-image gemaakt met een gentoo-chroot/ systeem, verpakt als een SquashFS-image, die succesvol zal opstarten nadat de initrd zelf is opgestart. Ik wil u eraan herinneren dat u, om Overlay FS samen met SquashFS te kunnen gebruiken, de optie boobs.use-overlayfs aan de kernel moet doorgeven. Anders wordt het systeem uitgepakt in tmpfs. Alle aanvullende instellingen kunnen in een aparte map worden gemaakt, bijvoorbeeld gentoo-settings/

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

Een initrd-image met een systeem erin is handig als u snel een systeem moet implementeren, bijvoorbeeld via PXE, of als u op een geladen systeem naar initrd moet overschakelen met de opdracht kexec -l /boot/vmlinuz-* —initrd=./initrd && kexec -e, of, terwijl u zich in de QEMU-interface voor virtuele machines bevindt (mogelijk zelfs Proxmox), moet opstarten vanaf een externe bron met behulp van drie IPXE-opdrachten: kernel http://[…]/vmlinuz , initrd http://[…]/initrd , boot. Zoals u kunt zien, kent zelfs een eenvoudige initrd met uw systeem erin veel toepassingsmogelijkheden.

Om opstartbare schijven en images te maken, wordt de opdracht mkbootisofs gebruikt. Zo ziet het maken van een ISO-image met de optie --iso-9660 eruit als u syslinux gebruikt om op te starten in de Legacy-modus (BIOS) en grub2 om op te starten in de EFI-modus (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-instellingen/ --squashfs

U kunt één van de opstartmodi opgeven, of helemaal geen opstartmodus opgeven. De bijbehorende ISO-image wordt dan met succes gemaakt.

Installatie op een willekeurig opslagapparaat en vervolgens opstarten vanaf dat apparaat wordt uitgevoerd met de optie --bootable. U moet zelf partities op de schijf maken (fdisk) en deze formatteren (mkdosfs, mke2fs, enz.). Vervolgens moet u het apparaat in een directory koppelen.

# koppel /dev/sdb1 /mnt/schijf/
# mkbootisofs /mnt/drive/ --opstartbaar --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-instellingen/ --squashfs

Let op! Met de optie --bootable wordt bepaald vanaf welk blok-apparaat de directory wordt gemount en wordt de bootloader op dat apparaat geïnstalleerd. Als u vergeet het apparaat te koppelen of per ongeluk een directory opgeeft die zich bijvoorbeeld op /dev/sda bevindt, wordt de bootloader op /dev/sda overschreven. Gebruik --bootable met voorzichtigheid.

Het installeren van GNU/Linux Het systeem kan met slechts één commando worden geïnstalleerd. Installatie kan worden uitgevoerd op elke HDD, SSD, enzovoort. Het is belangrijk om te weten dat dit nog steeds een systeem is dat draait vanaf Overlay FS / SquashFS, of volledig opstart vanaf tmpfs, afhankelijk van uw voorkeur.

Naast dit alles heeft boobstrap nog een aantal interessante eigenschappen en extra mogelijkheden!

U kunt bijvoorbeeld een gepatenteerde boobstrap initrd genereren met de opdracht mkinitramfs `mktemp -d` > /boot/initrd en uw systeem opstarten met deze initrd, waarbij u de kernelopties boobs.use-overlayfs boobs.search-rootfs=/dev/sda1 opgeeft. In dit geval wordt /dev/sda1, waar uw thuissysteem is geïnstalleerd, gekoppeld als een alleen-lezen Overlay FS-laag en worden alle wijzigingen die u aanbrengt tijdelijk naar tmpfs geschreven. U kunt de optie boobs.copy-to-ram toevoegen. Uw hele systeem wordt dan naar het RAM-geheugen gekopieerd en de harde schijf kan van de computer worden losgekoppeld. Dit is handig als u iets wilt wijzigen. U kunt de wijzigingen eenvoudig terugdraaien door opnieuw op te starten. 🙂

Maar wat als u toch alle wijzigingen in het systeem moet opslaan? U hebt bijvoorbeeld software of iets anders geïnstalleerd. Als u in een pure tmpfs-omgeving werkt, is dit helaas niet mogelijk. Als u echter opstart met Overlay FS, worden alle wijzigingen die in het systeem worden aangebracht, opgeslagen in een aparte tmpfs-map: /mnt/overlayfs/rootfs-changes! Het gebruiksscenario is heel eenvoudig. Je hebt je systeem opgestart vanaf een USB-apparaat, het werkte en je wilde alle wijzigingen opslaan. Vervolgens wilde je hiervan een CPIO-archief maken en dat hier op hetzelfde USB-apparaat plaatsen.

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

U kunt het archief naast andere SquashFS- en cpio-"lagen" plaatsen. Bij de volgende keer opstarten wordt het archief dan verbonden als een extra alleen-lezen-laag. Als u wilt blijven werken met de wijzigingen, gebruikt u de opstartoptie boobs.rootfs-changes=/rootfs-changes.cpio. Met de optie boobs.rootfs-changes wordt de opgegeven laag ingeschakeld met wijzigingsrechten. De laag kan een blok-apparaat zijn. U kunt bijvoorbeeld /dev/sdb1 opgeven. Alle wijzigingen die in Overlay FS worden gemaakt, worden dan eenvoudigweg opgeslagen in /dev/sdb1.

Boobstrap is, ondanks de uitgebreide mogelijkheden, nog in de ontwikkelingsfase. Wij houden rekening met al uw opmerkingen en suggesties!

Bron: linux.org.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster