Principe de base
Si l'on en croit la doc de clic.mandrakesoft.com/documentation/pxe, un
boot PXE comporte les étapes suivantes :
- la carte réseau effectue une requête DHCP
- un serveur lui fournit en réponse une configuration IP et
l'adresse d'un serveur PXE
- la carte récupère un menu auprès du serveur
PXE
- suite au choix de l'utilisateur, elle récupère un
fichier de bootPXE auprès d'un serveur tftp
- ce fichier de boot prendre le relais et charge les autres
éléments auprès du serveur tftp
En pratique, toutes les cartes ne supportent pas ce schéma (les
doc sont contradictoires : est-ce 3Com ou intel qui supporte ou pas le
serveur pxe ?) et on a un schéma plus simple sans serveur pxe :
- la carte réseau effectue une requête DHCP
- un serveur lui fournit en réponse une configuration IP,
l'adresse d'un serveur tftp et le nom d'un fichier de boot à
charger
- elle récupère un fichier de bootPXE auprès
d'un serveur tftp (en deux fois pour adapter la taille de bloc, cf doc
mandrake)
- ce fichier de boot prendre le relais, propose
éventuellement un menu et charge les autres
éléments auprès du serveur tftp
Le schéma suivant tiré de la doc de clic.mandrakesoft.com
illustre le processus. L'étape finale de chargement
d'un noyau est générique car, avec PXELinux, le
chargement d'une image de disquette
passe par le chargement d'un pseudo noyau qui prendre l'image de
disquette en argument :
Les fichiers de bootPXE usuels :
Les briques logicielles nécessaires :
- un serveur dhcp (isc-dhcpd version 3, la version 2 ne convient
pas)
- un serveur tftp
- le package pxelinux : pxelinux.0 et memdisk (de tête: pour
charger des images de disquettes bootables)
- les images des disquettes à charger
- ou les noyaux linux
Serveur DHCP:
Il faut un serveur dhcp version 3. Mon fichier de
configuration de test.
L'intégration de tout ça au fichier dhcpd.conf d'alto n'a pas posé de
problème autre que de commenter des résidus de tests
d'etherboot et notamment les noms de fichiers de boot (filename
...) et les vendor-encapsulated-options telles que :
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
Serveur TFTP
Il suffit d'installer un serveur tftp de base. La racine du serveur
tftp est traditionnellement /tftpboot. Dans /tftpboot, on trouve sur ma
config de test :
- pxelinux.0
- memdisk (pour charger des images de disquettes)
- messages (un fichier texte affiché au boot par pxelinux
comme indiqué dans la configuration de texte (voir contenu
dossier pxelinux.cfg)
- pxelinux.cfg: le dossier de configuration de pxelinux
- les images de disquettes (dans le dossier images pour moi)
PXELinux
Les fichiers de configuration de pxelinux sont dans pxelinux.cfg.
Chaque client peut avoir son fichier de configuration. Par
défaut, pxelinux cherche un fichier de configuration ayant comme
nom (ràf) l'adresse mac du client, son adresse ip, des bouts de
son adresse ip ou default (pxelinux les essaie dans cet ordre et charge
le premier qu'il trouve). Pour ma configuration de test, je me suis
contenté d'un fichier default. (puis d'un fichier C soit
le premier caractère de l'adresse ip en hexa de mon client). Mon
fichier de configuration de test. (minimal) :
PROMPT 1
DEFAULT ghost
DISPLAY messages
TIMEOUT 600
label local
LOCALBOOT 0
label linux
KERNEL memdisk
APPEND
initrd=images/linux/boot.img
label ghost
KERNEL memdisk
APPEND
initrd=images/dos/ghost8-amd28.ima
label ghost2
KERNEL memdisk
APPEND
initrd=images/dos/ghost8-amd.ima
F1 messages
F2 messages
F3 messages
La doc suivantes contient une description de ce fichiers : http://clic.mandrakesoft.com/documentation/pxe/ch06.html#id2818098
Création d'une disquette de boot ghost de 2,8Mo
A moins d'avoir un lecteur 2,8Mo, le plus simple consiste
- à faire un jeu de disquettes 1,44Mo avec l'assistant
d'amorçage de ghost. (dsk1: bootable, dsk2: contient ghost.exe)
- ouvrir dsk1 dans winimage
- sauver l'image sous la forme d'un fichier
- passer le format de l'image en 2,88Mo (Image/changer le
format/2,88Mo)
- sauver l'image (qui fait alors 2,88Mo)
- injecter avec winimage le fichier ghost.exe dans le dossier ghost
- retoucher l'autoexec.bat pour éviter la pause d'attente de
la seconde disquette
Question: comment faire ce changement de format avec un outil autre que
winimage ?
Activé pxe sur les pc
sur les dell-260
C'est caché dans le bios : (de tête) :
périphériques intégrés/carte réseau:
la bascule a au moins 3 valeurs possibles dont ON, ON with PXE
(celle qui nous intéresse) et OFF
De même, le réglage WakeOnLan a au moins 3 valeurs: ON,
OFF et On with PXE Boot (celui qui nous intéresse).
Ressources