PXE : Pre-Execution Environment

PXE est un système de boot réseau, disponible sur quasiment toutes les machines modernes possédant une carte réseau Ethernet. Son fonctionnement est simple :

L'image pxelinux.0, fournie le paquet syslinux permet de booter de manière sélective plusieurs systèmes (locales, ou distantes), notamment celles présentes sur le serveur TFTP. La configuration se situe dans le répertoire pxelinux.cfg/ du serveur TFTP.

Mise en place sur Debian Lenny

Installer un serveur TFTP (atftp) et syslinux qui contient un code de démarrage PXE :

Vérifier l'existence du répertoire /tftpboot (le créer au besoin) ; y copier le fichier pxelinux.0 :

Editer le fichier de configuration du serveur dhcp /etc/dhcp/dhcpd.conf en y ajoutant les options next-server et filename, comme ici :

Créer la configuration par défaut de pxelinux.0 dans l'arborescence TFTP, /tftpboot/pxelinux.cfg/default (si besoin, créer le répertoire /tftpboot/pxelinux.cfg/) :

Il faut évidemment disposer des fichiers kernel et initrd correspondant dans /tfptboot.

C'est tout...

Applications classiques

Installateur réseau Debian/Ubuntu (netboot)

Le principe général est de récupérer le noyau (fichier en général appelé "linux") et le logiciel d'installation compris dans un disque d'initialisation initrd (init ram disk). Ces deux fichiers sont présents dans des archives nommées netboot.tar.gz :

Par exemple :

On prend ce qu'il faut dans le netboot.tar.gz et on le copie dans le /tftpboot. Par exemple pour Debian Lenny i386 :

Puis on indique les chemins au niveau de pxelinux.cfg/default :

Lancement de UDPCast (duplication de machines)

Voir la page UDPCast

Booter MSDOS en PXE (objectif : flasher un BIOS)

Copier l'image de la disquette dans /tftpboot. Vous trouverez de nombreuses images sur http://www.veder.com/nwdsk/ (l'image la plus classique est msubcd.img).

Pour démarrage une disquette, utiliser le système memdisk fourni avec syslinux :

Ajouter une section dans le fichier pxelinux.cfg/default :