feat(ai-box): opt-in Treiber-Upgrade via trixie-backports (--upgrade-driver)
Fuer Voxtral/modernes CUDA: --upgrade-driver zieht einen neueren nvidia-driver aus trixie-backports, baut das DKMS-Modul (Kernel-Header sind da), und weist auf den noetigen Reboot hin. Ohne den Flag bleibt der laufende 550er unangetastet. Fallback-Hinweis auf NVIDIAs CUDA-Repo, falls backports nichts Neueres hat. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,8 @@
|
|||||||
#
|
#
|
||||||
# Optionen:
|
# Optionen:
|
||||||
# --up am Ende den xtts-Stack starten (Default-Profil, OHNE voxtral)
|
# --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 <TOK> RVS_TOKEN in xtts/.env eintragen (alternativ: env RVS_TOKEN=...)
|
# --token <TOK> RVS_TOKEN in xtts/.env eintragen (alternativ: env RVS_TOKEN=...)
|
||||||
# --rvs-host <H> RVS_HOST setzen (Default aus .env.example)
|
# --rvs-host <H> RVS_HOST setzen (Default aus .env.example)
|
||||||
#
|
#
|
||||||
@@ -21,11 +23,13 @@ set -euo pipefail
|
|||||||
|
|
||||||
# ── CLI ──
|
# ── CLI ──
|
||||||
DO_UP=0
|
DO_UP=0
|
||||||
|
DO_UPGRADE_DRIVER=0
|
||||||
RVS_TOKEN_ARG="${RVS_TOKEN:-}"
|
RVS_TOKEN_ARG="${RVS_TOKEN:-}"
|
||||||
RVS_HOST_ARG="${RVS_HOST:-}"
|
RVS_HOST_ARG="${RVS_HOST:-}"
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
--up) DO_UP=1; shift ;;
|
--up) DO_UP=1; shift ;;
|
||||||
|
--upgrade-driver) DO_UPGRADE_DRIVER=1; shift ;;
|
||||||
--token) RVS_TOKEN_ARG="${2:-}"; shift 2 ;;
|
--token) RVS_TOKEN_ARG="${2:-}"; shift 2 ;;
|
||||||
--rvs-host) RVS_HOST_ARG="${2:-}"; shift 2 ;;
|
--rvs-host) RVS_HOST_ARG="${2:-}"; shift 2 ;;
|
||||||
-h|--help) grep '^#' "$0" | sed 's/^# \{0,1\}//'; exit 0 ;;
|
-h|--help) grep '^#' "$0" | sed 's/^# \{0,1\}//'; exit 0 ;;
|
||||||
@@ -90,6 +94,45 @@ fi
|
|||||||
[[ $ENABLED_ANY -eq 0 ]] && ok "non-free schon aktiv"
|
[[ $ENABLED_ANY -eq 0 ]] && ok "non-free schon aktiv"
|
||||||
apt-get update -qq # immer neu einlesen, damit der Kandidat sicher da ist
|
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 <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 ──
|
# ── 3. NVIDIA-Treiber ──
|
||||||
step "NVIDIA-Treiber"
|
step "NVIDIA-Treiber"
|
||||||
if nvidia-smi >/dev/null 2>&1; then
|
if nvidia-smi >/dev/null 2>&1; then
|
||||||
|
|||||||
Reference in New Issue
Block a user