Stefan Strobl c303a75192 fix(filesystems): add cleanup trap for temp btrfs mount
Add trap to ensure temp mount is cleaned up if btrfs subvolume
creation fails. Without this, failures leave mounted filesystems
and orphaned directories, blocking retry attempts.

Use mountpoint -q for robust mount detection before cleanup.

Decision: Use local trap within format_filesystems to avoid
interfering with main error handler. Reset trap after successful
completion to prevent double cleanup.

Trade-off: Slightly more complex code vs guaranteed cleanup on
error paths.
2025-12-24 15:24:29 +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%