Stefan Strobl b2031eae4b feat(main): integrate new modules and remove installer phase
Remove dependency on void-installer by integrating new modules:
- Source packages.sh, locale.sh, users.sh, services.sh
- Remove installer.sh sourcing
- Add 4 new phases after mounts: packages, locale, users, services
- Remove run_installer() phase
- Remove SKIP_INSTALLER flag and --skip-installer option

Decision: Execute new phases in logical order.
Packages must install before locale (needs glibc-locales package).
Locale before users (user shell may depend on locale).
Users before services (services may need user context).

Workflow change:
Before: Mounts → void-installer (manual) → Post-Install
After:  Mounts → Packages → Locale → Users → Services → Post-Install

Alternative considered: Keep installer.sh as optional fallback
rejected. Clean break eliminates maintenance burden and reduces
complexity. Users who need custom package selection can modify
packages.sh directly.

Trade-off: Removes flexibility of void-installer's package
selection UI. Accepted because:
1. Requirements explicitly exclude GUI/TUI components
2. Config file support (future) will provide customization
3. Simpler codebase easier to maintain and debug

Module sourcing order preserves dependency chain:
logging → config → sanity → disk ops → installation → rollback
2025-12-24 20:45:07 +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%