Pour démarrer des machines via le réseau en PXE, j’utilise iPXE. J’en avais déjà parlé lors du paramétrage dnsmasq en tant que serveur DHCP avec iPXE.
J’utilise de temps à autres SysRescueCD que je démarre donc via le réseau. J’avais une configuration qui fonctionnait bien, mais en voulant passer à la version 6 de ce couteau suisse de diagnostic et de la réparation, impossible de démarrer car la distribution de base a changé.
La nouvelle arborescence
Précédement, les fichiers étaient organisés comme ceci dans mon répersoire
srcd
sur le partage NFS ou sont stockés les fichiers :
.
├── initram.igz
├── rescue32
├── rescue64
├── sysrcd.dat
└── sysrcd.md5
Le live CD, basé sur Gentoo était compatible avec les arcihectures 32 et 64
bits. Avec la version 6 fini le support 32 bits, et l’arborescence est celle
utilisée par archiso
:
.
├── boot
│ ├── amd_ucode.img
│ ├── amd_ucode.LICENSE
│ ├── intel_ucode.img
│ ├── intel_ucode.LICENSE
│ └── x86_64
│ ├── sysresccd.img
│ └── vmlinuz
├── pkglist.x86_64.txt
└── x86_64
├── airootfs.sfs
└── airootfs.sha512
La nouvelle configuration
Voici les options nécessaires au démarrage de SysRescueCD via iPXE
, je ne mets
ici que l’extrait de la configuration qui nous intéresse :
:srcd
kernel nfs://${server_ip}/${nfs_path}/srcd/boot/x86_64/vmlinuz
initrd nfs://${server_ip}/${nfs_path}/srcd/boot/intel_ucode.img
initrd nfs://${server_ip}/${nfs_path}/srcd/boot/amd_ucode.img
initrd nfs://${server_ip}/${nfs_path}/srcd/boot/x86_64/sysresccd.img
imgargs vmlinuz initrd=sysresccd.img ip=dhcp archisobasedir=srcd archiso_nfs_srv=${server_ip}:/${nfs_path} checksum
Les variables $server_ip
et $nfs_path
contiennent respectivement l’IP (ou le
nom d’hôte) de mon serveur NFS et le chemin pointant vers les “images” de démarrage.
configurer le réseau au démarrage
Les informations données sur le wiki d’archlinux parlent de la
commande SYSAPPEND 3
mais celle-ci ne semble pas disponible sur
iPXE
1, le réseau ne sera donc pas initialisé lors du démarrage,
empêchant le montage du dossier NFS. Le paramètre noyau ip=dhcp
permet de
forcer le système à obtenir une adresse IP lors du démarrage.
Les autres options
le reste des options parlent d’elle-même :
archiso_nfs_srv
: donne l’adresse de la ressource NFS utilisée.archisobasedir
: le répertoire de base contenant l’arborescence d’archiso.
Il est possible de trouver les options disponibles sur le
README dans le dépôt git archiso
.
-
Voir la documentation de
SYSAPPEND
sur le wiki de PXELINUX ↩