Ceci est une ancienne révision du document !
Table des matières
Boot PXE
ebauche de document, plus un reminder qu'un vrai howto pour le moment
Pourquoi ?
Le boot PXE a plein d'avantage : on peut boter a peu pres tout et n'importe quoi, sans lecteur CD, disquette ou disque dur et cela sur n'importe quelle machine pas trop vieille (qui supporte le boot PXE)
Installation du serveur de boot PXE
2 parties :
Configuration du serveur TFTP
Pour servir les images, il faut un serveur TFTP (Trivial File Transfert Protocol)
TODO
Configuration du serveur DHCP
next-server
TODO
Mise en place de l'arborescence pour le boot PXE
L'ensemble des fichiers de boot PXE seront stockés dans le repertoire /tftpboot comme vu plus haut. Si tel n'etait pas le cas chez vous, il faudrait bien sur adapter les chemins dans la suite.
- Télécharger le dernier SysLinux à l'adresse suivante : http://www.kernel.org/pub/linux/utils/boot/syslinux/ (il s'agit de la version 3.84 a l'heure ou j'ecris ces lignes)
- decompresser certains (ceux utiles dans notre cas) fichiers de l'archive, puis les copier en place :
cp core/pxelinux.0 /tftpboot/syslinux-3.84/
cp memdisk/memdisk /tftpboot/syslinux-3.84/
cp com32/menu/menu.c32 /tftpboot/syslinux-3.84/
- Créer les répertoires suivants :
- /tftpboot/img (contiendra les images de disquettes)
- /tftpboot/pxelinux.cfg (contiendra la configuration)
- /tftpboot/menuconf (contiendra la configuration d'éventuels sous-menus)
mkdir /tftpboot/img /tftpboot/pxelinux.cfg /tftpboot/menuconf
- Création des liens symboliques (pour faciliter les eventuelles mises a jour de syslinux) :
ln -s /tftpboot/syslinux-3.84 /tftpboot/syslinux ln -s /tftpboot/syslinux/* /tftpboot/
Vous devriez avoir dans le repertoire /tftpboot quelque chose qui ressemble à :
t# ls -l /tftpboot/ total 26876 drwxr-xr-x 2 root root 4096 jan 7 00:16 img lrwxrwxrwx 1 root root 26 jan 6 23:47 memdisk -> /tftpboot/syslinux/memdisk lrwxrwxrwx 1 root root 27 jan 6 23:47 menu.c32 -> /tftpboot/syslinux/menu.c32 drwxr-xr-x 2 root root 4096 jan 7 00:16 menuconf lrwxrwxrwx 1 root root 29 jan 6 23:47 pxelinux.0 -> /tftpboot/syslinux/pxelinux.0 drwxr-xr-x 2 root root 4096 jan 7 00:16 pxelinux.cfg lrwxrwxrwx 1 root root 13 jan 6 23:45 syslinux -> syslinux-3.84 drwxr-xr-x 2 root root 4096 jan 7 00:15 syslinux-3.84
Test du transfert TFTP
Test de transfert de fichier :
Depuis un autre poste sur le réseau (ca marche meme sous windows ;p) ou depuis le serveur lui-même :
tftp monserveurtftp.mondomaine.com GET pxelinux.0
ou bien :
tftp 192.168.0.1 GET pxelinux.0
devrait donner quelque chose de similaire a :
Transfert réussi : 13454 octets en 1 seconde, 13454 octets/s
Maintenant que tout ca marche, il est temps de mettre a dispostion des images de boot.
Mise a disposition d'une image de boot
Il existe plusieurs formats d'image :
- images binaires
- images de disquettes
- images ISO de CDROM
Fichiers images
Ca tombe bien c'est les plus simples car elles sont directement bootables :
Par exemple nous allons proposer le boot de l'utilitaire MemTest86+ qui permet de tester la RAM d'une machine et qui peut s'avérer tres utile
- Allez sur le site http://www.memtest.org/#downiso et téléchargez la derniere version du “Pre-Compiled Bootable Binary” (en .gz ou .zip, comme vous préférez)
- Décompresser l'archive obtenue et placez le fichier .bin obtenue dans le repertoire 'img' a la racine du serveur TFTP (/tftpboot) :
cp memtest86+-4.00.bin /tftpboot/img/
- Nous pouvons maintenant booter sur MemTest+ depuis un client PXE en tapant au prompt de boot :
img/memtest86+-4.00.bin
cette invite est en qwerty
Images de disquettes
Les images de disquettes ne sont pas directement bootables, il faut donc utiliser l'image binaire “memdisk” à laquelle nous passerons en argument le nom du fichier image (disquette) a démarrer. Les images pouvant être passées à ce module peuvent être de tous les formats standards, même si l'ordinateur client ne dispose pas de ce type de lecteur disquette, voir pas de lecteur disquette du tout.
- Placer l'image de votre disquette test.img dans le repertoire img, et vous pouvez ensuite booter dessus depuis un client PXE en tapant au prompt de boot :
memdisk initrd=img/test.img
Entrée de menu nécessaire pour démarrer une image disquette (stockée dans le répertoire “img” des images et nommée “fichier.img”) :
- Entrée de menu classiques pour les disquettes :
LABEL monImageDeDisquette MENU LABEL Mon image de disquette kernel memdisk append initrd=img/fichier.img
- Ou pour certaines images de disquette ne fonctionnant pas totalement, ajouter “raw” fin de ligne append :
append initrd=images/fichier.img raw
- Ou encore :
append initrd=images/fichier.img bigraw
- Ou enfin pour une image de disquette Ghost, nécessitant le driver UNDI :
append keeppxe initrd=images/fichier.img