This commit is contained in:
2026-09-09 09:08:13 +02:00
parent 3e98a56607
commit 3f50049e17
3 changed files with 33 additions and 7 deletions
+5
View File
@@ -0,0 +1,5 @@
# Spécifique à la machine qui héberge le serveur PXE (UUID disque, etc.)
# généré via `nixos-generate-config`, jamais partagé. C'est aussi pour ça
# que le rebuild sur cette machine a besoin de --impure (voir README) :
# un flake pur ne voit que les fichiers suivis par git.
pxe-server/hardware-configuration.nix
+17 -7
View File
@@ -146,7 +146,15 @@ git clone https://gitea.miniclic.net/Damien/Nixos_Fleet.git /etc/nixos-fleet
cd /etc/nixos-fleet
```
## Étape 3 — Éditer 3 valeurs
## Étape 3 — Générer le fichier matériel
Propre à cette machine, jamais commité (voir `.gitignore`).
```bash
sudo nixos-generate-config --show-hardware-config > pxe-server/hardware-configuration.nix
```
## Étape 4 — Éditer 3 valeurs
Fichier : `pxe-server/configuration.nix`
@@ -160,13 +168,15 @@ Fichier : `pxe-server/configuration.nix`
$EDITOR pxe-server/configuration.nix
```
## Étape 4 — Construire
## Étape 5 — Construire
`hardware-configuration.nix` est gitignored, donc invisible à un flake pur → `--impure` obligatoire ici (même raison que `nixos_cinnamon`).
```bash
sudo nixos-rebuild switch --flake .#pxe-server
sudo nixos-rebuild switch --flake .#pxe-server --impure
```
## Étape 5 — Publier l'image
## Étape 6 — Publier l'image
```bash
sudo systemctl start pxe-publish
@@ -175,7 +185,7 @@ sudo systemctl status pxe-publish
Doit finir en "success". Première fois : plusieurs minutes.
## Étape 6 — Vérifier
## Étape 7 — Vérifier
```bash
sudo systemctl status dnsmasq caddy
@@ -186,7 +196,7 @@ curl -I http://<serverIp>/netboot.ipxe
Tout doit répondre sans erreur.
## Étape 7 — Tester sur 1 PC
## Étape 8 — Tester sur 1 PC
Démarrer un seul PC en PXE.
@@ -219,7 +229,7 @@ sudo systemctl start pxe-publish
Appliquer une modif de `pxe-server/configuration.nix` :
```bash
sudo nixos-rebuild switch --flake .#pxe-server
sudo nixos-rebuild switch --flake .#pxe-server --impure
```
Voir les logs DHCP/TFTP :
+11
View File
@@ -25,6 +25,17 @@ let
tftpRoot = "/var/lib/tftpboot";
in
{
imports = [
# Généré sur le serveur réel via `nixos-generate-config`, jamais
# committé (voir .gitignore) — spécifique à cette machine.
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Si le serveur est en BIOS legacy (pas UEFI), remplacer les deux lignes
# au-dessus par boot.loader.grub.device = "/dev/sdX";
networking.hostName = "pxe-server";
networking.firewall.allowedUDPPorts = [
67