PXE - Pre-Execution Environment

PXE est un chargeur de boot qui permet de charger une image via TFTP. La contrainte majeure de pouvoir booter la machine via PXE soit au niveau de la ROM de sa carte réseau, soit au niveau du BIOS, voire même grâce à un outil de boot depuis une session lancé DOS.

On peut, via TFTP, télécharger une image de boot PXE; une fois en mémoire, cette image PXE permet de booter de manière sélective plusieurs images (locales, ou distantes), notamment celle présente sur le serveur TFTP.

Nota bene: les procédures illustrées ici ont été testées pour une distribution Debian Etch

# apt-get install atftpd syslinux

# cp -a /usr/lib/syslinux/pxelinux.0 /tftpboot/

default-lease-time 600;
max-lease-time 7200;
option domain-name "mon-domaine.com";
option domain-name-servers ns.mon-domaine.com;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
#ici, on déclare le nom du fichier à charger en mémoire par les clients via TFTP
   filename "pxelinux.0";
   next-server 192.168.1.1;
   option domain-name "domain.net";
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.1.255;
   option domain-name-servers ns.domain.net;
   option routers gw.domain.net;
   range 192.168.1.100 192.168.1.200;
}

#/etc/init.d/dhcp3-server restart

default linux
label linux
  kernel linux
  append load_ramdisk=1 initrd=initrd root=01:00
  ipappend 1