Implement locale, timezone, and keyboard configuration for internationalization support: - Locale generation via /etc/default/libc-locales - Timezone symlink to /usr/share/zoneinfo - Keyboard layout in /etc/rc.conf Decision: Default to en_US.UTF-8 for broadest compatibility. Use standard Void Linux configuration methods (libc-locales, rc.conf) instead of systemd-localed (Void uses runit). Alternative considered: Generate all locales rejected - wastes disk space and time. Only generate selected locale. Trade-off: Timezone validation checks if file exists and falls back to UTC if not found. This prevents installation failure but may surprise users if they mistype timezone name. Fallback behavior ensures installation completes even with invalid timezone input, prioritizing robustness over strictness.
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
- Sanity Checks (Root, UEFI, Zielplatte)
- Partitionierung (GPT, ESP + Root)
- LUKS-Verschluesselung und Mapping
- Dateisysteme (btrfs oder ext4)
- Mounts fuer den Installer
- Installer-Handoff (manuelle Mountpoints, kein Reformat)
- 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 vonvoid-installeraus (manuell starten).
Installer Bedienung nach dem Script
Im void-installer musst du die vorbereiteten Mounts uebernehmen und darfst nichts formatieren.
- Waehle die manuelle Partitionierung.
- Setze nur die Mountpoints, ohne Formatierung.
- Root:
- Device:
/dev/mapper/cryptroot - Label:
void-root(btrfs und ext4) - Mountpoint:
/ - Format: aus
- Device:
- ESP:
- Device: erste Partition der Disk (meist
...1) - Label:
EFI - Mountpoint:
/boot/efi - Format: aus
- Device: erste Partition der Disk (meist
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.