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
|
||||
|
||||
check:
|
||||
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'
|
||||
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)
|
||||
- `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`
|
||||
- des composants NVIDIA tirés du dépôt Ubuntu (drivers/modules)
|
||||
- d’autres composants NVIDIA tirés du dépôt CUDA NVIDIA (libs driver, utilitaires)
|
||||
- et, en parallèle, le toolkit CUDA
|
||||
|
||||
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..
|
||||
|
||||
## Solution testée (choix d’architecture)
|
||||
|
||||
Une règle simple -> **une seule source par “famille” de composants**.
|
||||
|
||||
- **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
|
||||
|
||||
|
|
@ -42,6 +65,21 @@ sudo ./setup-rtx5070ti-ubuntu2404.sh
|
|||
|
||||
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
|
||||
|
||||
```
|
||||
|
|
@ -75,17 +113,6 @@ sudo ./install.sh
|
|||
- `make install` : exécute `sudo ./install.sh`
|
||||
- `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
|
||||
|
||||
- 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
|
||||
which nvcc
|
||||
nvcc --version
|
||||
```
|
||||
```
|
||||
|
||||
#
|
||||
Loading…
Reference in a new issue