Installer Proxmox VE 9 sur ZimaBoard¶
Guide d'installation de Proxmox VE 9 (Trixie) sur ZimaBoard, qui boot sur eMMC.
Prerequis¶
- Cle USB bootable avec l'ISO Proxmox VE 9
- Acces reseau (Ethernet)
- Un poste avec navigateur pour l'interface web
Probleme : l'installeur Proxmox ne supporte pas l'eMMC¶
L'installeur Proxmox ne reconnait pas les devices mmcblk (eMMC) comme cible d'installation.
Il faut patcher l'installeur avant de lancer l'installation.
Marche a suivre¶
1. Booter sur la cle USB Proxmox¶
Brancher la cle USB et booter dessus. A l'ecran de l'installeur, ne pas lancer l'installation.
2. Ouvrir un shell¶
Appuyer sur Ctrl+Alt+F2 pour acceder a un terminal, ou utiliser le bouton "Debug" de l'installeur graphique.
3. Appliquer le patch eMMC¶
Depuis le RPi (ou un autre poste), servir le script :
Depuis le shell de l'installeur Proxmox, activer le reseau puis appliquer le patch :
ip link set enp1s0 up
dhclient enp1s0
wget -O- <IP_DU_RPI>:8888/proxmox-fix-emmc.sh | sh
dhclient -r enp1s0
Pourquoi dhclient -r ?
Liberer le bail DHCP apres le patch pour que l'installeur Proxmox puisse configurer le reseau lui-meme proprement.
Le script patche Proxmox::Sys::Block.pm pour ajouter le support des devices mmcblk.
Que fait le patch ?
Il ajoute un pattern matching pour /dev/mmcblkX dans la fonction qui genere les noms de partitions, permettant a l'installeur de creer /dev/mmcblk0p1, /dev/mmcblk0p2, etc.
4. Lancer l'installation¶
Revenir a l'installeur (Ctrl+Alt+F1 ou via le terminal graphique) et proceder normalement. Selectionner le device eMMC comme cible.
5. Post-installation¶
Apres le reboot sur Proxmox, executer le script de post-installation :
Ce script :
- Supprime les repos enterprise (qui necessitent un abonnement payant)
- Nettoie les anciens fichiers
.list(evite le warning "old suite bookworm") - Ajoute le repo
pve-no-subscription(format.sourcesavecSigned-By) - Met a jour le systeme (
apt update && apt dist-upgrade) - Supprime le popup "No valid subscription" (patch du JS de l'interface web)
Deconnexion de l'interface web
En derniere etape, le script redemarre pveproxy pour appliquer le patch.
La session web sera coupee — il suffit de recharger la page et se reconnecter.
6. DNS et acces web¶
Chaque noeud est accessible de deux facons :
| Noeud | Acces direct (fallback) | Acces via Traefik |
|---|---|---|
| galahad | https://192.168.1.18:8006 |
https://galahad.home.gabin-simond.fr |
| lancelot | https://192.168.1.19:8006 |
https://lancelot.home.gabin-simond.fr |
La configuration se fait a trois endroits :
-
DNS (AdGuard) — rewrites vers le RPi (Traefik) :
galahad.home.gabin-simond.fr→192.168.1.28lancelot.home.gabin-simond.fr→192.168.1.28
-
Traefik — fichier
traefik/dynamic/proxmox.yml:- Route le trafic vers
https://<IP_NODE>:8006 - Certificat TLS Let's Encrypt via DNS challenge Cloudflare
- Route le trafic vers
-
Acces — local et Tailscale uniquement (pas de DNS public)
Fallback
Si le RPi/Traefik est down, les noeuds restent accessibles via https://IP:8006 (certificat auto-signe, warning navigateur).
Scripts¶
| Script | Emplacement | Role |
|---|---|---|
proxmox-fix-emmc.sh |
homelab-config/scripts/ |
Patch installeur pour support eMMC |
proxmox-post-install.sh |
homelab-config/scripts/ |
Repos, update, suppression nag popup |
7. Configurer l'authentification Authelia (OIDC)¶
Apres avoir configure Authelia sur le RPi (voir authelia.md), ajouter le realm OIDC sur un noeud du cluster :
pveum realm add authelia --type openid \
--issuer-url https://auth.home.gabin-simond.fr \
--client-id proxmox \
--client-key <CLIENT_SECRET> \
--username-claim preferred_username \
--autocreate
# Realm par defaut + nom affiche
pveum realm modify authelia --default 1
pveum realm modify authelia --comment 'Authelia'
# ACL admin
pveum acl modify / --user gabins@authelia --role Administrator
La config se propage automatiquement via /etc/pve/domains.cfg — pas besoin de repeter sur chaque noeud.
Trois realms conserves
Authelia (OIDC, defaut) pour le quotidien, Linux PAM pour l'acces d'urgence via root@pam, PVE pour les comptes de service/API. Ne jamais supprimer PAM — c'est le filet de securite si Authelia est down.
Repetition¶
Repeter les etapes 1 a 6 pour chaque ZimaBoard. L'etape 7 (realm OIDC) ne se fait qu'une seule fois, la config est partagee dans le cluster.