diff --git a/ai-box/bootstrap.sh b/ai-box/bootstrap.sh index 502c827..47affb6 100755 --- a/ai-box/bootstrap.sh +++ b/ai-box/bootstrap.sh @@ -11,6 +11,8 @@ # # Optionen: # --up am Ende den xtts-Stack starten (Default-Profil, OHNE voxtral) +# --upgrade-driver NVIDIA-Treiber aus trixie-backports (modernes CUDA fuer Voxtral). +# Danach REBOOT noetig. Default-Bootstrap laesst 550 unangetastet. # --token RVS_TOKEN in xtts/.env eintragen (alternativ: env RVS_TOKEN=...) # --rvs-host RVS_HOST setzen (Default aus .env.example) # @@ -21,11 +23,13 @@ set -euo pipefail # ── CLI ── DO_UP=0 +DO_UPGRADE_DRIVER=0 RVS_TOKEN_ARG="${RVS_TOKEN:-}" RVS_HOST_ARG="${RVS_HOST:-}" while [[ $# -gt 0 ]]; do case "$1" in --up) DO_UP=1; shift ;; + --upgrade-driver) DO_UPGRADE_DRIVER=1; shift ;; --token) RVS_TOKEN_ARG="${2:-}"; shift 2 ;; --rvs-host) RVS_HOST_ARG="${2:-}"; shift 2 ;; -h|--help) grep '^#' "$0" | sed 's/^# \{0,1\}//'; exit 0 ;; @@ -90,6 +94,45 @@ fi [[ $ENABLED_ANY -eq 0 ]] && ok "non-free schon aktiv" apt-get update -qq # immer neu einlesen, damit der Kandidat sicher da ist +# ── 2b. (opt-in) Treiber-Upgrade via trixie-backports — fuer Voxtral/modernes CUDA ── +# Der Trixie-Standardtreiber (550, CUDA 12.4) ist zu alt fuer den modernen Stack +# (torch 2.13, vLLM). Backports bringt einen neueren, apt-verwalteten Treiber. +# NUR mit --upgrade-driver, damit ein laufendes Setup nicht ungewollt angefasst wird. +if [[ "$DO_UPGRADE_DRIVER" -eq 1 ]]; then + step "NVIDIA-Treiber-Upgrade (trixie-backports)" + BP_FILE="/etc/apt/sources.list.d/backports.sources" + if ! grep -rqs "trixie-backports" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null; then + cat > "$BP_FILE" <<'EOF' +Types: deb +URIs: http://deb.debian.org/debian +Suites: trixie-backports +Components: main contrib non-free non-free-firmware +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg +EOF + ok "trixie-backports hinzugefuegt" + else + ok "trixie-backports bereits aktiv" + fi + apt-get update + apt-get install -y linux-headers-amd64 || true + apt-get install -y "linux-headers-$(uname -r)" || true + if apt-get install -y -t trixie-backports nvidia-driver; then + dkms autoinstall >/dev/null 2>&1 || true + NEWV="$(dpkg-query -W -f='${Version}' nvidia-driver 2>/dev/null || echo '?')" + ok "nvidia-driver aus backports installiert: ${NEWV}" + echo + echo -e "${c_y}==> REBOOT noetig, damit der neue Treiber laedt:${c_0}" + echo -e "${c_y} sudo reboot && danach: cd ai-box && sudo ./bootstrap.sh --up --token ${c_0}" + echo -e "${c_y} (nvidia-smi zeigt dann die neue Version + CUDA-Level)${c_0}" + exit 0 + else + warn "backports-Install fehlgeschlagen — 550er bleibt aktiv." + warn "Alternative fuer den neuesten Treiber: NVIDIAs CUDA-Repo fuer debian13" + warn " (developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64) → Paket 'cuda-drivers'." + die "Treiber-Upgrade nicht moeglich — siehe oben." + fi +fi + # ── 3. NVIDIA-Treiber ── step "NVIDIA-Treiber" if nvidia-smi >/dev/null 2>&1; then