Le cdrom de mon portable étant naze, pas de boot sur usb, il ne restait que la mystérieuse option "boot from network".
Le serveur dhcp
Le premier élément nécessaire est un serveur dhcp. Il fournira une ip, et précisera ou trouver les fichiers nécessaires au démarrage.
/etc/dhcp/dhcpd.conf authoritative; ddns-update-style interim; ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.250; option domain-name-servers 192.168.1.2; option domain-name "glu"; option routers 192.168.1.1; option subnet-mask 255.255.255.0; default-lease-time 43200; max-lease-time 86400; server-name "PXE"; next-server 192.168.1.1; filename "/srv/tftp/pxe/pxelinux.0"; }
L'option "next-server" sert à préciser l'ip du serveur tftp si celui-ci n'est pas le même que le serveur dhcp.
Le serveur tftp
Trivial ftp : on fait dans le simple, pas d'authentification, on lui demande un fichier, il nous le donne. Le serveur atftp fait très bien l'affaire.
L'installateur créé un nouveau répertoire : /srv/tftp. Ce répertoire contiendra les fichiers.
/etc/default/atftp USE_INETD=false OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --bind-address 192.168.1.10 --no-multicast --maxthread 100 --verbose=10 /srv/tftp"
Le serveur PXE
- Installer pxe et syslinux.
- Créer le répertoire /srv/tftp/pxe
- Téléchargement des images netbook : http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/netboot.tar.gz
- Décompression de l'archive.
- Création de l'arborescence tftp
mkdir -p /srv/tftp/pxe/boot-screens/ mkdir -p /srv/tftp/pxe/pxelinux.cfg/
- Copie des fichiers de boot dans l'arborescence du serveur tftp
cp netboot-debian-squeeze-i386/debian-installer/i386/pxelinux.0 /srv/tftp/pxe/ cp netboot-debian-squeeze-i386/debian-installer/i386/boot-screens/splash.png /srv/tftp/pxe/boot-screens/ cp netboot-debian-squeeze-i386/debian-installer/i386/boot-screens/vesamenu.c32 /srv/tftp/pxe/boot-screens/ cp netboot-debian-squeeze-i386/debian-installer/i386/initrd.gz /srv/tftp/pxe/debian-squeeze/i386/ cp netboot-debian-squeeze-i386/debian-installer/i386/linux /srv/tftp/pxe/debian-lenny/i386/
- Création du fichier /srv/tftp/pxe/prelinux.cfg/default
include /boot-screens/menu.cfg default /boot-screens/vesamenu.c32 prompt 0 timeout 0
- Création du fichier /srv/tftp/pxe/boot-screens/menu.cfg
menu color border * #00000000 #00000000 none menu color sel * #ffffffff #76a1d0ff * menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * menu color tabmsg * #ffffffff #00000000 * menu vshift 12 menu rows 10 menu tabmsgrow 16 menu timeoutrow 17 menu tabmsg Press ENTER to boot or TAB to edit a menu entry menu autoboot Starting Local System in # seconds prompt 0 label bootlocal menu label ^Boot from local disk menu default localboot 0 timeout 200 #timeout which is displayed, Wait 10 seconds unless the user types somethin totaltimeout 1200 #timeout which executes the default definitely, always boot after 2 minutes menu begin debian menu title Debian label mainmenu menu label ^Back.. menu exit menu begin debian-squeeze menu title Debian Squeeze label mainmenu menu label ^Back.. menu exit menu begin debian-squeeze-i386 menu title Debian Squeeze i386 label mainmenu menu label ^Back.. menu exit DEFAULT install LABEL install kernel debian-squeeze/i386/linux append vga=normal initrd=debian-squeeze/i386/initrd.gz -- LABEL expert kernel debian-squeeze/i386/linux append priority=low vga=normal initrd=debian-squeeze/i386/initrd.gz -- LABEL rescue kernel debian-squeeze/i386/linux append vga=normal initrd=debian-squeeze/i386/initrd.gz rescue/enable=true -- LABEL auto kernel debian-squeeze/i386/linux append auto=true priority=critical vga=normal initrd=debian-squeeze/i386/initrd.gz -- menu end menu end menu end
Rien de trop compliqué, en somme. Ca permet de se sortir de problèmes matériels, de déployer à grande échelle et à peu de frais.