Démarrer SysRescueCD en PXE avec iPXE

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 iPXE1, 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.


  1. Voir la documentation de SYSAPPEND sur le wiki de PXELINUX