Projektübersicht
- Ziel: Ein kleines, erweiterbares Debootstrap-basiertes System-Builder-Skript, das aus einer minimalen Basis ein komplettes System mit meinen Einstellungen aufbaut.
- Architektur (vereinfacht): tempfs <- debootstrap (--variant=minbase) <- template (Ordner) <- chroot (bash /debootstrap/install.sh) <- Installation & Konfiguration (base, bootloader, desktop, user)
Schnellstart
- Voraussetzungen: Root/Sudo, Internetzugang,
debootstrapauf Host. - Anpassungen: Editiere config.env (Zielpartitionen, Install-Steps, Variablen).
- Ausführen (aus dem Projektordner):
cd /media/storage/Dateien/Dokus/Linux/scripts/debootstrap
./debootstrap.shHinweis: debootstrap.sh mountet/bindet /dev,/proc,/sys und führt chroot $target_root /debootstrap/install.sh aus.
Wichtige Dateien
- Konfiguration: config.env
- Starter: debootstrap.sh
- Template (chroot): template/debootstrap/install.sh
- Basis-Tasks: template/debootstrap/base/
- Bootloader-Tasks: template/debootstrap/bootloader/
- Desktop-Tasks: template/debootstrap/desktop/
- Paketlisten:
packages-*.txtim Projektroot undtemplate/.../*.txt
Wichtige Konfig-Variablen (in config.env)
target_root— Arbeitsverzeichnis / chroot-ZielINSTALL_STEPS— Komma-getrennte Steps (z. B. base,bootloader,desktop,user)- Bootloader:
INSTALL_BOOTLOADER= none | grub-efi | grub-pcBOOTLOADER_EFI_PARTITION(z. B. /dev/sdx3)BOOTLOADER_BIOS_DEVICE(z. B. /dev/sdx)FORMART_EFI_PARTITION(true/false) — Achtung: Name im Repo steht so
- Fstab-Einträge:
FSTAB_ROOT_DEVICE(UUID=...)FSTAB_ROOT_DEVICE_TYPE(z. B. btrfs)FSTAB_ROOT_MOUNT_OPTIONSFSTAB_BOOT_EFI_DEVICE,FSTAB_BOOT_EFI_DEVICE_MOUNTPOINTFSTAB_BOOT_BIOS_DEVICE,FSTAB_BOOT_BIOS_DEVICE_MOUNTPOINT
- Logging:
/debootstrap/install.log(wird vom Skript beschrieben)
Non-interactive APT (empfohlen für Automatisierung)
- Setze vor Paketinstallationen im chroot:
export DEBIAN_FRONTEND=noninteractive
export DEBIAN_PRIORITY=critical
# debconf-set-selections für keyboard-configuration wenn nötigTroubleshooting (häufige Fallen)
grub-install/grub-probemeckert wenn/devnicht eingebunden ist — Host muss /dev,/proc,/sys in den Chroot binden.- Wenn
grub-installauf UEFI lesen/ schreiben soll: stelle sicher, dass/boot/efigemountet (FAT32) ist. - Fehlende Tools:
zstdundbtrfs-progswerden fürinitramfsund btrfs-Unterstützung benötigt; füge sie zur Kernel-Paketliste hinzu. - Interaktive Abfragen (z. B. keyboard-configuration) mit
DEBIAN_FRONTEND=noninteractive+debconf-set-selectionslösen.
Erweiterbarkeit
- Neue Installations-Schritte: leg ein neues Verzeichnis unter
template/debootstrap/an und füge Shell-Skripte hinzu; setzeINSTALL_STEPSentsprechend. - Paketlisten: Ergänze
template/.../*.txtoder die rootpackages-*.txt. - Anpassungen:
install.shsourcedconfig.envund führt die angegebenen Step-Skripte mit.aus (Scope bleibt erhalten).
Kurz: Mein kurzes Custom-System-Skript erlaubt es, ein aktuelles System mit meinen Programmen und Einstellungen in wenigen Sekunden automatisiert aufzubauen — modular, erweiterbar und einfach zu pflegen.
Wenn du willst, schreibe ich noch eine kurze Checkliste für UEFI vs. BIOS-Installationen oder ein Beispiel config.env für eine typische Installation.