Stefan Strobl 667453596a fix(rollback): cleanup bind mounts on failure
Add cleanup for bind mounts (/dev, /proc, /sys, /run) created
during post-install phase. Without this, failures in post-install
leave bind mounts active, preventing subsequent cleanup of the
main filesystem mounts.

Clean bind mounts first (innermost to outermost), then regular
mounts, then LUKS mapping to ensure proper teardown order.

Decision: Check each bind mount individually rather than relying
on umount -R to handle everything, for better error reporting and
partial cleanup capability.

Context: Bind mounts are only created if post-install phase is
reached, but rollback must handle cleanup from any failure point.
2025-12-24 15:28:05 +01:00

Void Bootstrapp Wrapper

Ein Bash-Wrapper, der die kritischen Vorarbeiten fuer eine verschluesselte Void-Linux-Installation erledigt und danach den offiziellen void-installer nutzt.

Ablauf

  1. Sanity Checks (Root, UEFI, Zielplatte)
  2. Partitionierung (GPT, ESP + Root)
  3. LUKS-Verschluesselung und Mapping
  4. Dateisysteme (btrfs oder ext4)
  5. Mounts fuer den Installer
  6. Installer-Handoff (manuelle Mountpoints, kein Reformat)
  7. Post-Install (crypttab, dracut, GRUB, optional Swapfile)

Usage

sudo ./src/main.sh [--dry-run] [--skip-installer]

Flags

  • --dry-run: Zeigt die Konfiguration und bricht ohne Aenderungen ab.
  • --skip-installer: Laesst den Start von void-installer aus (manuell starten).

Installer Bedienung nach dem Script

Im void-installer musst du die vorbereiteten Mounts uebernehmen und darfst nichts formatieren.

  1. Waehle die manuelle Partitionierung.
  2. Setze nur die Mountpoints, ohne Formatierung.
  3. Root:
    • Device: /dev/mapper/cryptroot
    • Label: void-root (btrfs und ext4)
    • Mountpoint: /
    • Format: aus
  4. ESP:
    • Device: erste Partition der Disk (meist ...1)
    • Label: EFI
    • Mountpoint: /boot/efi
    • Format: aus

Wenn Labels nicht angezeigt werden, pruefe mit lsblk -f, welches Device void-root bzw. EFI traegt. Bei btrfs sind Subvolumes bereits angelegt und gemountet: @, @home, @var, @log, @snapshots, @swap. Der Installer soll keine neuen Subvolumes anlegen oder formatieren, sondern die vorhandenen Mounts unveraendert lassen. Es reicht, im Installer nur / und /boot/efi zu setzen; die Subvolumes werden im Post-Install in /etc/fstab eingetragen. Mapping der Subvolumes (gesetzt durch den Wrapper/Post-Install):

  • @ -> /
  • @home -> /home
  • @var -> /var
  • @log -> /var/log
  • @snapshots -> /.snapshots
  • @swap -> /swap

Hinweise

  • Der Wrapper ist destruktiv und loescht die Zielplatte nach expliziter Bestaetigung.
  • UEFI ist Pflicht; BIOS-Installationen sind nicht unterstuetzt.
  • Logs landen unter /tmp/void-wrapper-YYYY-MM-DD-HHMMSS.log.
Description
No description provided
Readme 141 KiB
Languages
Shell 100%