Makefile amélioré
This commit is contained in:
parent
e1dace42bd
commit
d223bd4abb
2 changed files with 83 additions and 27 deletions
31
Makefile
31
Makefile
|
|
@ -1,9 +1,36 @@
|
||||||
.PHONY: install check
|
.PHONY: help prereq setup apply check status
|
||||||
|
|
||||||
install:
|
help:
|
||||||
|
@echo "Cibles disponibles :"
|
||||||
|
@echo " make prereq - Mise à jour + full-upgrade (baseline OS). Redémarrage requis après."
|
||||||
|
@echo " make setup - Installation complète (driver + CUDA + pinning). Redémarre en fin de script."
|
||||||
|
@echo " make apply - Déploie seulement les artefacts /etc (pinning + env CUDA)."
|
||||||
|
@echo " make check - Vérifications rapides : pinning APT, nvcc, nvidia-smi."
|
||||||
|
@echo " make status - Résumé : versions clés, chemin nvcc, nvidia-smi."
|
||||||
|
|
||||||
|
prereq:
|
||||||
|
sudo apt update
|
||||||
|
sudo apt full-upgrade -y
|
||||||
|
@echo
|
||||||
|
@echo "Terminé. Redémarrage recommandé maintenant :"
|
||||||
|
@echo " sudo reboot"
|
||||||
|
|
||||||
|
setup:
|
||||||
|
sudo ./setup-rtx5070ti-ubuntu2404.sh
|
||||||
|
|
||||||
|
apply:
|
||||||
sudo ./install.sh
|
sudo ./install.sh
|
||||||
|
|
||||||
check:
|
check:
|
||||||
apt-cache policy libnvidia-gl-580 libnvidia-egl-gbm1 nvidia-driver-580-open nvidia-utils-580 | sed -n '1,220p'
|
apt-cache policy libnvidia-gl-580 libnvidia-egl-gbm1 nvidia-driver-580-open nvidia-utils-580 | sed -n '1,220p'
|
||||||
bash -lc 'source /etc/profile.d/cuda-12-8.sh; which nvcc; nvcc --version'
|
bash -lc 'source /etc/profile.d/cuda-12-8.sh; which nvcc; nvcc --version'
|
||||||
nvidia-smi
|
nvidia-smi
|
||||||
|
|
||||||
|
status:
|
||||||
|
@echo "Noyau (kernel) : $$(uname -r)"
|
||||||
|
@echo
|
||||||
|
dpkg -l | egrep 'nvidia-driver-580-open|nvidia-utils-580|libnvidia-gl-580|cuda-toolkit-12-8' || true
|
||||||
|
@echo
|
||||||
|
@bash -lc 'source /etc/profile.d/cuda-12-8.sh 2>/dev/null || true; which nvcc || true; nvcc --version || true'
|
||||||
|
@echo
|
||||||
|
@nvidia-smi || true
|
||||||
|
|
|
||||||
79
README.md
79
README.md
|
|
@ -1,19 +1,42 @@
|
||||||
# Ubuntu 24.04.x + RTX 5070 Ti — Setup stable (Driver Ubuntu 580-open + CUDA 12.8)
|
# Procédure pour habiliter Ubuntu 24.04.x à piloter correctement une RTX 5070 Ti
|
||||||
|
|
||||||
## Objectif
|
## Description du problème
|
||||||
|
|
||||||
Obtenir un environnement reproductible, maintenable par APT, et résistant aux régressions :
|
Dans un contexte “Ubuntu vanille”, l’installation NVIDIA/CUDA peut facilement devenir instable si l’on mélange des sources de paquets :
|
||||||
|
|
||||||
- Driver NVIDIA provenant d’Ubuntu (stack cohérent avec le kernel Ubuntu)
|
- des composants NVIDIA tirés du dépôt Ubuntu (drivers/modules)
|
||||||
- `nvidia-driver-580-open`
|
- d’autres composants NVIDIA tirés du dépôt CUDA NVIDIA (libs driver, utilitaires)
|
||||||
- `linux-modules-nvidia-580-open-$(uname -r)`
|
- et, en parallèle, le toolkit CUDA
|
||||||
- `libnvidia-gl-580`
|
|
||||||
- `nvidia-utils-580`
|
Ce mélange peut produire des conflits APT (ex. `libnvidia-gl-580` vs `libnvidia-egl-gbm1`) ou des mises à jour qui brisent des dépendances..
|
||||||
- CUDA Toolkit provenant du dépôt NVIDIA
|
|
||||||
- `cuda-toolkit-12-8` → `/usr/local/cuda-12.8`
|
## Solution testée (choix d’architecture)
|
||||||
- Protection APT (pinning)
|
|
||||||
- Empêche le dépôt CUDA NVIDIA de remplacer `nvidia-*` / `libnvidia-*` lors d’un `apt upgrade`
|
Une règle simple -> **une seule source par “famille” de composants**.
|
||||||
- Évite notamment le conflit `libnvidia-gl-580` ↔ `libnvidia-egl-gbm1`
|
|
||||||
|
- **Driver NVIDIA (kernel modules + libs + utils)** : **Ubuntu**
|
||||||
|
- cohérence maximale avec le kernel Ubuntu
|
||||||
|
- intégration APT standard
|
||||||
|
- **CUDA Toolkit** : **NVIDIA**
|
||||||
|
- `/usr/local/cuda-12.8`
|
||||||
|
- toolchain CUDA stable et explicite
|
||||||
|
|
||||||
|
Et pour empêcher les régressions lors des upgrades :
|
||||||
|
|
||||||
|
- **Pinning APT** : autoriser le dépôt NVIDIA pour `cuda-*`, mais **empêcher** qu’il prenne la main sur `nvidia-*` et `libnvidia-*`.
|
||||||
|
|
||||||
|
## Contenu du dépôt
|
||||||
|
|
||||||
|
- `setup-rtx5070ti-ubuntu2404.sh`
|
||||||
|
Installe le driver Ubuntu 580-open + CUDA Toolkit 12.8 + pinning APT
|
||||||
|
- `apt/99-nvidia-from-ubuntu-cuda-from-nvidia.pref`
|
||||||
|
Pinning APT (driver/libs depuis Ubuntu; `cuda-*` depuis NVIDIA)
|
||||||
|
- `env/cuda-12-8.sh`
|
||||||
|
Variables d’environnement (PATH + LD_LIBRARY_PATH)
|
||||||
|
- `install.sh`
|
||||||
|
Déploie `apt/99-...pref` et `env/cuda-12-8.sh` dans `/etc/...`
|
||||||
|
- `Makefile`
|
||||||
|
install / check
|
||||||
|
|
||||||
## Prérequis
|
## Prérequis
|
||||||
|
|
||||||
|
|
@ -42,6 +65,21 @@ sudo ./setup-rtx5070ti-ubuntu2404.sh
|
||||||
|
|
||||||
Note : le script écrit un log dans `/tmp/rtx5070ti-ubuntu2404-setup.<timestamp>.log`.
|
Note : le script écrit un log dans `/tmp/rtx5070ti-ubuntu2404-setup.<timestamp>.log`.
|
||||||
|
|
||||||
|
## Résultat attendu
|
||||||
|
|
||||||
|
Obtenir un environnement reproductible, maintenable par APT, et résistant aux régressions :
|
||||||
|
|
||||||
|
- Driver NVIDIA provenant d’Ubuntu (stack cohérent avec le kernel Ubuntu)
|
||||||
|
- `nvidia-driver-580-open`
|
||||||
|
- `linux-modules-nvidia-580-open-$(uname -r)`
|
||||||
|
- `libnvidia-gl-580`
|
||||||
|
- `nvidia-utils-580`
|
||||||
|
- CUDA Toolkit provenant du dépôt NVIDIA
|
||||||
|
- `cuda-toolkit-12-8` → `/usr/local/cuda-12.8`
|
||||||
|
- Protection APT (pinning)
|
||||||
|
- Empêche le dépôt CUDA NVIDIA de remplacer `nvidia-*` / `libnvidia-*` lors d’un `apt upgrade`
|
||||||
|
- Évite notamment le conflit `libnvidia-gl-580` ↔ `libnvidia-egl-gbm1`
|
||||||
|
|
||||||
## Validation
|
## Validation
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -75,17 +113,6 @@ sudo ./install.sh
|
||||||
- `make install` : exécute `sudo ./install.sh`
|
- `make install` : exécute `sudo ./install.sh`
|
||||||
- `make check` : checks rapides (APT policy, nvcc, nvidia-smi)
|
- `make check` : checks rapides (APT policy, nvcc, nvidia-smi)
|
||||||
|
|
||||||
## Contenu du dépôt
|
|
||||||
|
|
||||||
- `setup-rtx5070ti-ubuntu2404.sh`
|
|
||||||
Installe le driver Ubuntu 580-open + CUDA Toolkit 12.8 + pinning APT
|
|
||||||
- `apt/99-nvidia-from-ubuntu-cuda-from-nvidia.pref`
|
|
||||||
Pinning APT (driver/libs depuis Ubuntu; `cuda-*` depuis NVIDIA)
|
|
||||||
- `env/cuda-12-8.sh`
|
|
||||||
Variables d’environnement (PATH + LD_LIBRARY_PATH)
|
|
||||||
- `install.sh`
|
|
||||||
Déploie `apt/99-...pref` et `env/cuda-12-8.sh` dans `/etc/...`
|
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- La ligne “CUDA Version: …” affichée par `nvidia-smi` représente la capacité exposée par le driver, pas la version du toolkit installé.
|
- La ligne “CUDA Version: …” affichée par `nvidia-smi` représente la capacité exposée par le driver, pas la version du toolkit installé.
|
||||||
|
|
@ -95,4 +122,6 @@ sudo ./install.sh
|
||||||
source /etc/profile.d/cuda-12-8.sh
|
source /etc/profile.d/cuda-12-8.sh
|
||||||
which nvcc
|
which nvcc
|
||||||
nvcc --version
|
nvcc --version
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#
|
||||||
Loading…
Reference in a new issue