Implement user account creation and sudo configuration: - Interactive root password setup in chroot - Standard user creation with configurable groups - Automatic sudo configuration for wheel group - Password validation via visudo Decision: Set passwords interactively for security. Hash-based passwords rejected for initial implementation (complexity vs security trade-off). User groups: wheel (sudo), audio, video, storage, network. Provides hardware access without additional configuration. Alternative considered: Passwordless sudo rejected (security risk). Creating user without sudo rejected (user would be unable to administer system). Trade-off: Interactive password input requires TTY and manual entry. More secure than storing hashes but less convenient for automated installations. Future config file support can add hash option. Sudoers validation: Use visudo -c to validate syntax before committing changes. Rollback to backup if validation fails. This prevents lockout from broken sudoers file.
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.