Hôtes aarch64 (Raspberry Pi)
DNF gère des nœuds aarch64 au même titre que les nœuds x86_64 : ils se
déclarent dans etc/config.yaml, se construisent et se déploient avec les mêmes
commandes. Le support matériel (noyau, firmware, bootloader) provient du flake
nixos-raspberrypi 🡕.
Déclarer un hôte aarch64
Section intitulée « Déclarer un hôte aarch64 »L’architecture d’un hôte se choisit avec le champ arch, au format
cpu[:board]. En l’absence de ce champ, l’hôte est un x86_64 classique.
Valeur de arch | Machine |
|---|---|
x86_64 (défaut) | PC / serveur x86_64 |
aarch64:rpi02 | Raspberry Pi Zero 2 W |
aarch64:rpi3 | Raspberry Pi 3 |
aarch64:rpi4 | Raspberry Pi 4 |
aarch64:rpi5 | Raspberry Pi 5 |
hosts: - hostname: "pi" name: "Raspberry Pi du salon" zone: "maison:1.20" arch: "aarch64:rpi5" profile: "server" users: ["alice"] services: homepage:Comment ça fonctionne
Section intitulée « Comment ça fonctionne »-
Génération —
just generatevalidearchpuis l’écrit tel quel dansvar/generated/hosts.nix. -
Interprétation — le framework éclate
cpu:boarden un système NixOS (aarch64-linux) et un modèle de carte (rpi5→raspberry-pi-5). -
Injection matérielle — pour une carte Raspberry Pi, les modules nixos-raspberrypi (noyau et firmware constructeur, bootloader, cache binaire) sont ajoutés automatiquement à la configuration du nœud.
-
Construction — Colmena construit ce nœud avec un
nixpkgsaarch64 dédié, transparent pour le reste du parc.
Prérequis de construction
Section intitulée « Prérequis de construction »Construire de l’aarch64 depuis une machine d’administration x86_64 demande l’une de ces trois approches :
- Construire sur la cible : déployer avec Colmena en
build-on-target, le Raspberry Pi compile lui-même (natif mais lent). - Builder distant aarch64 : déléguer la construction à une machine ARM (le plus rapide pour un parc conséquent).
Installer un Raspberry Pi
Section intitulée « Installer un Raspberry Pi »Une image SD bootable amorce le Pi, qui est ensuite intégré au parc comme n’importe quel nœud (cf. installation initiale).
-
Construire l’image SD (choisir l’attribut selon le modèle) :
Fenêtre de terminal nix build .#nixosConfigurations.sd-image-raspberry-pi-5.config.system.build.sdImage -
Écrire l’image sur la carte :
Fenêtre de terminal zstd -dc result/sd-image/*.img.zst | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync -
Premier démarrage — branché au réseau (Ethernet, ou Wi-Fi pour les cartes sans port filaire comme le Zero 2 W), le Pi prend une adresse en DHCP (nom
dnf-install), avec SSH actif et l’utilisateurnixautorisé par la clé d’administration (usr/secrets/nix.pub). -
Déclarer puis déployer — ajouter l’hôte dans
etc/config.yamlavec sonarch, lancerjust generate, puis déployer la configuration réelle (déploiement).