Około lutego 2025 openmediavault7 dostał kernel 6.12 zamiast kernela 6.1 domyślnego dla Debiana 12. Oczywiście jak zwykle w przypadku openmediavault, sprawa jest zrobiona po macoszemu, nie ma żadnego metapakietu dla nagłówków kernela, więc dzieje się co następuje:
- Sterownik nvidia 535 jest kompatybilny z kernelem 6.1
- Potrzebna jest kompilacja modułu nvidia za pomocą dkms aby działał z kernelem 6.12
- Jako że nie ma metapakietu z nagłówkami kernela, trzeba każdorazowo doinstalować pakiet z nagłówkami dla wersji która akurat się zainstalowała
- Na koniec trzeba zrestartować usługi które korzystają z GPU
Oto zestaw który wypluł mi chatgpt, a który powinien zautomatyzować proces:
📁 Krok 1: Skrypt check-kernel-headers.sh
Utwórz plik:
sudo nano /usr/local/sbin/check-kernel-headers.sh
Wklej:
#!/bin/bash
set -e
KERNEL="$(uname -r)"
HEADERS_DIR="/lib/modules/$KERNEL/build"
echo "[INFO] Sprawdzam nagłówki dla kernela $KERNEL..."
if [ ! -d "$HEADERS_DIR" ]; then
echo "[INFO] Brak nagłówków dla $KERNEL. Instaluję..."
apt update
apt install -y -t bookworm-backports "linux-headers-$KERNEL"
echo "[INFO] Instalacja nagłówków zakończona. Wywołuję DKMS..."
dkms autoinstall
else
echo "[OK] Nagłówki już zainstalowane dla $KERNEL."
fi
Nadaj uprawnienia do uruchamiania:
sudo chmod +x /usr/local/sbin/check-kernel-headers.sh
⚙️ Krok 2: Jednostka systemd
Utwórz plik jednostki:
sudo nano /etc/systemd/system/check-kernel-headers.service
Wklej:
[Unit]
Description=Sprawdź i doinstaluj nagłówki kernela + uruchom DKMS
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/check-kernel-headers.sh
⏲️ Krok 3: Timer systemd
Utwórz timer:
sudo nano /etc/systemd/system/check-kernel-headers.timer
Wklej:
[Unit]
Description=Automatyczne sprawdzanie nagłówków kernela i DKMS po starcie
[Timer]
OnBootSec=5min
OnUnitActiveSec=1d
Persistent=true
[Install]
WantedBy=timers.target
🚀 Krok 4: Aktywacja
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now check-kernel-headers.timer
✅ Gotowe!
Efekt:
- Timer uruchamia się 5 minut po starcie systemu.
- Sprawdza, czy są nagłówki dla aktualnego kernela.
- Jeśli brakuje – doinstaluje i uruchomi
dkms autoinstall
. - Odpala się też raz dziennie, gdy masz system uruchomiony dłużej.