Opprette bootstrap v1.2-bilder


Opprette bootstrap v1.2-bilder

etter bare en måned Etter langsom utvikling ble boobstrap v1.2 utgitt - et sett med verktøy på POSIX-skallet for å lage oppstartsbilder og stasjoner.

Boobstrap lar deg gjøre bare én kommando:

  • Lag et initramfs-bilde, inkludert eventuell GNU/Linux-distribusjon i det.
  • Lag oppstartbare ISO-bilder med hvilken som helst GNU/Linux-distribusjon.
  • Lag oppstartbare USB-, HDD-, SSD-stasjoner med hvilken som helst GNU/Linux-distribusjon.

Det særegne er at etter lasting vil GNU/Linux fungere enten helt i ren tmpfs, eller bruke Overlay FS og SquashFS-bilder, ditt valg. Du installerer en hvilken som helst GNU/Linux-distribusjon i en katalog, gjør alle nødvendige innstillinger (eventuelt i en egen katalog), hvoretter du oppretter en oppstartsenhet med bare én kommando, enten det er et ISO-bilde, USB, HDD, SSD-stasjon, eller du kan lage et initrd-bilde med systemet. Systemet vil alltid være i samme tilstand og i tilfelle et sammenbrudd kan du gå tilbake til opprinnelig tilstand ved å trykke på én Tilbakestill-knapp. Ønsker du å overføre systemet til en annen vert, eller opprette et system fra en eksisterende container? Boobstrap vil gjøre det.

Blant de viktigste endringene:

  • Lagt til støtte for syslinux bootloader, i tillegg til den allerede eksisterende grub2. Du kan nå velge å bruke enten grub2, syslinux eller begge deler når du oppretter en oppstartsenhet eller ISO-bilde med henholdsvis --legacy-boot syslinux og --efi grub2 alternativene, og du kan også velge hvilke moduser Nedlastingen vil støtte ISO bilde.
  • Lagt til --bootable-alternativ, som gjør enhver blokkenhet oppstartbar. For å lage ISO-bilder må --iso-9660-alternativet brukes.
  • Lagt til kjerneoppstartsalternativer boobs.use-shmfs for å kopiere innholdet av alle overlegg til tmpfs, boobs.use-overlayfs for å starte opp med Overlay FS, boobs.search-rootfs for å velge en kilde med systemet, boobs.copy-to-ram for å kopiere systemet til minnet og deretter slå av enheten.
  • Den eneste nødvendige avhengigheten for at boobstrap skal fungere er cpio. Resten av avhengighetene er valgfrie: grub2, syslinux - nødvendig for å lage oppstartbare medier, cdrkit eller xorriso å velge mellom - for å lage en ISO, squashfs-verktøy for å lage SquashFS, men ingenting hindrer deg i å bruke -cpio-alternativet i stedet for - squashfs for å pakke distribusjonen din inn i et arkiv. busybox vil bare bli brukt hvis den er installert, men hvis ikke, vil alle nødvendige verktøy fra systemet bli kopiert. Dermed fungerer bryststrap garantert nesten overalt.

For eksempel vil følgende kommando lage et initrd-bilde inkludert et gentoo-chroot/system pakket som et SquashFS-bilde, som vil starte opp etter at selve initrd har lastet inn. La meg minne deg på at for å bruke Overlay FS sammen med SquashFS, må du passere kjernealternativet boobs.use-overlayfs, ellers vil systemet bli pakket ut i tmpfs. Alle tilleggsinnstillinger kan gjøres i en egen katalog, for eksempel gentoo-innstillinger/

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

Et initrd-bilde med et system inne er praktisk når du raskt trenger å distribuere et system, for eksempel via PXE, eller på en lastet systembryter til initrd ved å bruke kommandoen kexec -l /boot/vmlinuz-* —initrd=./initrd && kexec -e, vel eller, ved å være i QEMU virtuelle maskingrensesnitt (muligens til og med Proxmox), start opp fra en ekstern kilde ved å bruke tre IPXE-kommandoer: kjerne http://[...]/vmlinuz, initrd http://[ ...]/initrd, oppstart. Som du kan se, har selv en vanlig initrd med systemet ditt inne mange bruksområder.

For å lage oppstartbare stasjoner og bilder, brukes mkbootisofs-kommandoen, for eksempel er det slik å lage et ISO-bilde med -iso-9660-alternativet ved å bruke syslinux til å starte opp i Legacy-modus (BIOS) og grub2 for å starte opp i 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-innstillinger/ --squashfs

Du kan spesifisere en av oppstartsmodusene, eller ikke spesifisere dem i det hele tatt, det tilsvarende ISO-bildet vil bli opprettet.

Installasjon på en hvilken som helst stasjon og påfølgende oppstart fra den utføres ved å bruke alternativet --bootable. Du må lage partisjoner på stasjonen selv (fdisk) og formatere dem (mkdosfs, mke2fs, etc.), og deretter montere enheten i en katalog.

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

Forsiktig! Alternativet --bootable bestemmer hvilken blokkeringsenhet katalogen er montert fra og installerer oppstartslasteren på denne enheten. Hvis du glemmer å montere enheten eller feilaktig spesifiserer en katalog som er plassert, for eksempel på /dev/sda, vil oppstartslasteren på /dev/sda bli overskrevet tilsvarende. Bruk --bootable med forsiktighet.

Installering av et hvilket som helst GNU/Linux-system er redusert til bare én kommando. Installasjon kan gjøres på hvilken som helst HDD, SSD og så videre. Det er verdt å huske at dette fortsatt er et system som kjører fra Overlay FS / SquashFS, eller laster helt inn i tmpfs, ditt valg.

Blant annet har boobstrap en rekke interessante funksjoner og tilleggsmuligheter!

Du kan for eksempel lage en proprietær boobstrap initrd med kommandoen mkinitramfs `mktemp -d` > /boot/initrd og starte opp i systemet med denne initrd, og spesifisere kjernealternativene boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. I dette tilfellet vil /dev/sda1, der hjemmesystemet ditt er installert, kobles til som et skrivebeskyttet Overlay FS-lag, og alle endringer du gjør vil bare skrives midlertidig til tmpfs. Du kan legge til alternativet boobs.copy-to-ram og deretter kopieres hele systemet til RAM, og harddisken kan kobles fra datamaskinen. Praktisk når du trenger å bryte noe, og du kan rulle tilbake endringer ganske enkelt ved å starte på nytt. 🙂

Men hva om du fortsatt trenger å lagre alle endringene i systemet? Du har for eksempel installert programvare eller noe annet. Når du jobber i rene tmpfs er dette dessverre umulig, men hvis du startet opp med Overlay FS, så lagres alle endringer som skjer i systemet i en egen tmpfs-katalog: /mnt/overlayfs/rootfs-changes! Bruksscenariet er veldig enkelt. Du startet opp i systemet ditt fra en USB-enhet, gjorde litt arbeid og ønsket å lagre alt som ble endret, og deretter opprette et cpio-arkiv og legge det her, på den samme USB-enheten.

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

Du kan legge arkivet ved siden av andre SquashFS- og cpio-lag, så ved påfølgende lasting vil arkivet kobles til som bare et annet skrivebeskyttet lag. For å fortsette å jobbe med endringer, bruk opplastingsalternativet boobs.rootfs-changes=/rootfs-changes.cpio. Alternativet boobs.rootfs-changes aktiverer det angitte laget med endringstilgang. Laget kan være en blokkenhet, for eksempel kan du spesifisere /dev/sdb1, så vil alle endringer som gjøres i Overlay FS ganske enkelt lagres til /dev/sdb1.

Boobstrap, til tross for de brede mulighetene som er tilgjengelige, er fortsatt på utviklingsstadiet, alle dine kommentarer og forslag er tatt i betraktning!

Kilde: linux.org.ru

Legg til en kommentar