NetBoot

De ClissXXI.

Pour démarrer un ordinateur à partir du réseau, vous devez mettre en place un serveur disposant de DHCP et the TFTP, puis fournir une image exécutale PXE.

Sommaire

Sur le serveur

Paquets à installer:

aptitude install dhcp3-server tftpd-hpa

Installation de l'image PXE:

mkdir /var/lib/tftpboot
cd /var/lib/tftpboot
wget http://ftp.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/netboot.tar.gz
# version gtk&AMD64: http://ftp.fr.debian.org/debian/dists/lenny/main/installer-amd64/current/images/netboot/gtk/netboot.tar.gz
tar xzf netboot.tar.gz

Configuration minimaliste du DHCP, dans /etc/dhcp3/dhcpd.conf:

#option routers 192.168.1.1;
#option domain-name-servers 192.168.1.1;
#option domain-name-servers some.other.name.server;

filename "pxelinux.0";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.201 192.168.1.210;
}

En cas de déplacement de /var/lib/tftpboot (pour passer d'une version à la suivante, par ex.), relancer tftpd:

/etc/init.d/tftpd-hpa restart

Sur l'ordinateur à installer

Paramétrez le BIOS pour que l'ordinateur démarre sur le réseau.

La procédure est différente pour chaque type de BIOS. Certains BIOS ne gèrent pas cette fonctionnalité.

Pour tester

On peut tester ça facilement avec QEMU.

Avec Fedora 7

Tout n'est pas fourni, il faut bricoler la fin à la main. Récupérer:

mkdir /var/lib/tftpboot.f7
cd /var/lib/tftpboot.f7

# Get kernel and init ram-disk
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/images/pxeboot/initrd.img
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/images/pxeboot/vmlinuz
# (actually those are the same than in i386/os/isolinux/)

# Get the pxelinux "boot sector"
aptitude install syslinux
cp /usr/lib/syslinux/pxelinux.0 .

# Install default pxelinux configuration file:
mkdir pxelinux.cfg
cd pxelinux.cfg
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/isolinux.cfg -O default
cd ..

# Graphical splash
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/vesamenu.c32
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/splash.jpg

# F1-F5 messages (optional; if you want to see them, press Esc from the graphical prompt)
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/boot.msg
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/general.msg
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/options.msg
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/param.msg
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/isolinux/rescue.msg

# Activate this PXE boot 
cd /var/lib
ln -sf tftpboot.f7 tftpboot
/etc/init.d/openbsd-inetd restart

N'oubliez pas de tester avec QEMU si nécessaire :)

Liens

Outils personnels