diff --git a/AGENTS.md b/AGENTS.md index 352d906..5543494 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -44,7 +44,7 @@ Dieses Repository ist ein modulares, automatisiertes Setup- und Konfigurations-F │ ├── 03-bootloader.sh # GRUB Kernel-Parameter, Vimix-Theme, Plymouth Solar │ ├── 04-packages.sh # Installation der thematischen Paketlisten │ ├── 05-fonts.sh # Download & Installation von Coding- & Nerd-Fonts -│ ├── 06-services.sh # Aktivierung von AppArmor, Docker, Libvirt, zram, Ollama, GameMode/CoreCtrl +│ ├── 06-services.sh # Aktivierung von AppArmor, Docker, Libvirt, zram, Ollama, GameMode/CoreCtrl, systemd-oomd │ ├── 07-skel-and-user.sh # /etc/skel Vorlagen, ZSH-Shell-Setzen, Dotfiles-Sync │ ├── 08-flatpaks.sh # Flathub Setup, Flatpak-Paketlisten-Installation │ ├── 09-apps.sh # Spotify, Waydroid, OpenDeck, Desktop-Starter, MIME-Types diff --git a/README.md b/README.md index 8234640..9417e9d 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,9 @@ Installiere nur bestimmte Phasen (z. B. nur Paketlisten und Schriften): - **MangoHud**: `data/skel/.config/MangoHud/MangoHud.conf` liefert ein vorkonfiguriertes Overlay (FPS, Frametime, CPU/GPU-Temperatur & -Takt, VRAM/RAM, GameMode-Indikator), das über `stages/07-skel-and-user.sh` automatisch für neue und bestehende Benutzer bereitgestellt wird. Umschalten mit `Shift+F12` (Position mit `Shift+F11`). - **CoreCtrl**: Für Fankurven, Power-States und Undervolting von AMD-CPU/GPU. Eine PolicyKit-Regel (`90-corectrl.rules`) erlaubt Mitgliedern der `sudo`-Gruppe den Start ohne wiederholte Passwortabfrage. +### systemd-oomd (Out-of-Memory-Schutz) +- Wird aktiviert, um Einfrieren des Systems bei gleichzeitiger Speicher-/Swap-Auslastung (Spiel + Discord + Browser) zu verhindern – ergänzt das bestehende zram-Swap. + ### CPU P-State & Kernel-Parameter In `stages/03-bootloader.sh` wird der CPU-Hersteller automatisch ermittelt und in `/etc/default/grub` eingetragen: - **AMD CPUs**: `amd_pstate=active` diff --git a/config/packages/01-base.list b/config/packages/01-base.list index a483e85..9308709 100644 --- a/config/packages/01-base.list +++ b/config/packages/01-base.list @@ -69,6 +69,7 @@ ripgrep rpi-imager shellcheck sl +systemd-oomd systemd-timesyncd tar tealdeer diff --git a/stages/06-services.sh b/stages/06-services.sh index 3fd838a..89add4a 100755 --- a/stages/06-services.sh +++ b/stages/06-services.sh @@ -190,4 +190,11 @@ if [[ -f "$SCRIPT_DIR/data/etc/polkit-1/rules.d/90-corectrl.rules" ]]; then log_success "CoreCtrl PolicyKit rule installed for the 'sudo' group." fi +# 10. systemd-oomd Out-of-Memory Protection +log_substep "Enabling systemd-oomd out-of-memory protection..." +if command_exists systemctl; then + systemctl enable --now systemd-oomd.service 2>/dev/null || log_warn "Could not enable systemd-oomd.service." + log_success "systemd-oomd enabled (protects against freezes under heavy memory/swap pressure)." +fi + log_success "Stage 06: System services configuration completed successfully!"