Makefile amélioré

This commit is contained in:
Daniel Allaire 2026-01-05 15:38:49 -05:00
parent e1dace42bd
commit d223bd4abb
2 changed files with 83 additions and 27 deletions

View file

@ -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

View file

@ -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”, linstallation NVIDIA/CUDA peut facilement devenir instable si lon mélange des sources de paquets :
- Driver NVIDIA provenant dUbuntu (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 dun `apt upgrade`
- Évite notamment le conflit `libnvidia-gl-580``libnvidia-egl-gbm1`
- des composants NVIDIA tirés du dépôt Ubuntu (drivers/modules)
- dautres 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 darchitecture)
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** quil 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 denvironnement (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 dUbuntu (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 dun `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 denvironnement (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
```
```
#