Cette section expose les tâches de configuration nécessaires pour les scénarios de démarrage complexes. Elle contient des exemples de configuration « prêts à l'emploi » pour le protocole DHCP, le démarrage PXE, le protocole TFTP et la fonction Wake on LAN.
Pour configurer un serveur DHCP sur SUSE Linux, vous devez modifier manuellement les fichiers de configuration appropriés. Cette section explique également comment étendre une configuration de serveur DHCP existante dans le but de fournir les données nécessaires à un environnement TFTP, PXE et WOL.
Le serveur DHCP n'a qu'une chose à faire, à part fournir une allocation d'adresse automatique aux clients du réseau : déclarer l'adresse IP du serveur TFTP et le fichier qui doit être utilisé par les routines d'installation sur la machine cible.
Loguez-vous en tant qu'utilisateur root à la machine qui héberge le serveur DHCP.
Ajoutez les lignes suivantes dans le fichier de configuration du serveur DHCP situé sous /etc/dhcpd.conf :
group {
# Informations relatives à PXE
#
# "serveur suivant" définit le serveur tftp qui sera utilisé
après le serveur ip_serveur_tftp:
#
# "nom de fichier" indique l'image pxelinux sur le serveur tftp
# le serveur s'exécute en mode chroot sous /srv/tftpboot
filename "pxelinux.0";
}Remplacez ip_du_serveur_tftpr par l'adresse IP réelle du serveur TFTP.
Pour plus d'informations sur les options disponibles dansdhcpd.conf, consultez la page d'aide dhcpd.conf.
Redémarrez le serveur DHCP en exécutant la commande rcdhcpd restart
Si vous avez l'intention d'utiliser le protocole SSH pour le contrôle distant d'une installation PXE et Wake on LAN, indiquez de manière explicite l'adresse IP que le protocole DHCP doit fournir à la cible d'installation. Pour ce faire, modifiez la configuration DHCP mentionnée ci-dessus, conformément à l'exemple suivant :
group {
# Informations relatives à PXE
#
# "serveur suivant" définit le serveur tftp qui sera utilisé
après le serveur ip_serveur_tftp:
#
# "nom de fichier" indique l'image pxelinux sur le serveur tftp
# le serveur s'exécute en mode chroot sous /srv/tftpboot
filename "pxelinux.0";
host test { hardware ethernet adresse_mac;
fixed-address une_adresse_ip; }
}
L'instruction d'hôte présente le nom d'hôte de la cible d'installation. Pour lier le nom d'hôte et l'adresse IP à un hôte particulier, vous devez connaître et indiquer l'adresse matérielle du système (MAC). Remplacez toutes les variables utilisées dans cet exemple par les valeurs réelles qui correspondent à votre environnement.
Une fois le serveur DHCP redémarré, une adresse IP statique est fournie à l'hôte spécifié ; vous pouvez ainsi vous connecter au système via la fonctionnalité SSH.
Vous pouvez configurer un serveur TFTP en utilisant YaST ou manuellement sur tout autre système d'exploitation Linux qui prend en charge xinetd et tftp. Le serveur TFTP fournit l'image de démarrage au système cible lorsque ce dernier démarre et envoie une requête à ce sujet.
Loguez-vous en tant qu'utilisateur root.
Sélectionnez ++ et installez le paquetage demandé.
Cliquez sur pour vous assurer que le serveur est démarré et inclus dans les routines de démarrage. Aucune autre action de votre part n'est nécessaire pour vérifier la réussite de cette opération. xinetd démarre tftpd au moment de l'amorçage.
Cliquez sur pour ouvrir le port approprié dans le pare-feu exécuté sur votre machine. Si aucun pare-feu n'est en cours d'exécution sur votre serveur, cette option n'est pas disponible.
Cliquez sur pour rechercher le répertoire de l'image de démarrage.
Le répertoire par défaut /tftpboot est créé et sélectionné automatiquement.
Cliquez sur pour appliquer vos paramètres et démarrer le serveur.
Loguez-vous en tant qu'utilisateur root, et installez les paquetages tftp et xinetd.
S'ils ne sont pas disponibles, créez les répertoires /srv/tftpboot et /srv/tftpboot/pxelinux.cfg.
Ajoutez les fichiers nécessaires à l'image de démarrage, comme décrit dans la Section 1.3.3, « Démarrage PXE ».
Modifiez la configuration de xinetd, situé sous /etc/xinetd.d/, pour vous assurer que le serveur tftp démarre à l'amorçage :
S'il n'existe pas, créez dans ce répertoire un fichier nommé tftp, à l'aide de la commande touch tftp. Exécutez ensuite chmod 755 tftp.
Ouvrez le fichier tftp et ajoutez les lignes suivantes :
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
Enregistrez le fichier et redémarrez xinetd en exécutant rcxinetd restart.
Certaines informations techniques de base, ainsi que les spécifications PXE complètes, sont disponibles dans la spécification de l'environnement PXE (Preboot Execution Environment), à l'adresse ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf.
Accédez au répertoire du référentiel de l'installation, et copiez les fichiers linux, initrd, message et memtest dans le répertoire /srv/tftpboot en entrant la commande suivante :
cp -a boot/loader/linux boot/loader/initrd boot/loader/message boot/loader/memtest /srv/tftpboot
Installez le paquetage syslinux directement à partir de vos CD ou DVD d'installation, à l'aide de YaST.
Copiez le fichier /usr/share/syslinux/pxelinux.0 vers le répertoire/srv/tftpboot en entrant la commande suivante :
cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
Accédez au répertoire du référentiel de l'installation et copiez le fichier isolinux.cfg vers /srv/tftpboot/pxelinux.cfg/default en exécutant la commande suivante :
cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
Modifiez le fichier /srv/tftpboot/pxelinux.cfg/default et supprimez les lignes commençant par gfxboot, readinfo et framebuffer.
Insérez les entrées suivantes sur les lignes d'ajout des libellés failsafe et apic par défaut :
insmod=e100
Cette entrée permet de charger le module de kernel d'une carte réseau Intel 100 Mbits/s sur les clients PXE. Elle dépend du matériel du client et doit être adaptée en conséquence. Dans le cas d'une carte réseau Broadcom GigaBit, utilisez l'entrée suivante : insmod=bcm5700.
netdevice=eth0
Cette entrée définit l'interface réseau du client à utiliser pour l'installation du réseau. Elle n'est nécessaire que si le client est équipé de plusieurs cartes réseau et elle doit être adaptée en conséquence. Dans le cas d'une carte réseau unique, vous pouvez omettre cette entrée.
install=nfs://ip_serveurinst/chemin_sourceinst/CD1
Cette entrée définit le serveur NFS et la source de l'installation client. Remplacez la variable ip_serveurinst par l'adresse IP réelle du serveur d'installation. chemin_sourceinst correspond au chemin réel des sources d'installation. Les sources HTTP, FTP ou SMB sont désignées de manière semblable, à l'exception du préfixe de protocole, qui doit être ici http, ftp ou smb.
![]() | Important |
|---|---|
Si vous devez transmettre d'autres options de démarrage aux routines d'installation, telles que des paramètres de démarrage SSH ou VNC, ajoutez-les dans l'entrée | |
Retrouvez ci-dessous un exemple de fichier /srv/tftpboot/pxelinux.cfg/default. Ajustez le préfixe de protocole pour que la source d'installation corresponde à votre configuration réseau ; indiquez ensuite votre méthode préférée de connexion au programme d'installation en ajoutant à l'entrée install les options vnc et vncpassword, oussh et sshpassword. Les lignes séparées par une barre oblique inversée (\) doivent être entrées sous forme de ligne continue, sans saut de ligne ni barre oblique inversée (\).
default linux
# libellé par défaut
linux
kernel linux
append initrd=initrd ramdisk_size=65536 insmod=e100 \
install=nfs://ip_instserver/chemin_sourceinst/produit
# libellé de type failsafe
failsafe
kernel linux
append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \
insmod=e100 install=nfs://ip_serveurinst/chemin_sourceinst/produit
# libellé de type apic
apic
kernel linux
append initrd=initrd ramdisk_size=65536 apic insmod=e100 \
install=nfs://ip_serveurinst/chemin_sourceinst/produit
# libellé manuel
manual
kernel linux
append initrd=initrd ramdisk_size=65536 manual=1
# libellé de secours
rescue
kernel linux
append initrd=initrd ramdisk_size=65536 rescue=1
# libellé de test mémoire
memtest
kernel memtest
# libellé de disque dur
harddisk
kernel linux
append SLX=0x202
implicit 0
display message
prompt 1
timeout 100
Remplacez ip_serveurinst et chemin_sourceinst par les valeurs utilisées dans votre configuration.
La section suivante offre une brève référence aux options PXELINUX utilisées dans cette configuration. Pour plus d'informations sur les options disponibles, consultez la documentation du paquetage syslinux, située sous /usr/share/doc/packages/syslinux/.
Les options répertoriées ici constituent un sous-ensemble de toutes les options disponibles pour le fichier de configuration PXELINUX.
DEFAULT options kernel...
Définit la ligne de commande de kernel par défaut. Si PXELINUX démarre automatiquement, il agit comme si les entrées qui figurent après DEFAULT avaient été saisies à l'invite de démarrage, et ce à une exception près : l'option auto est ajoutée automatiquement, ce qui indique un démarrage automatique.
Si aucun fichier de configuration n'existe ou si l'entrée DEFAULT n'apparaît pas dans le fichier de configuration, la valeur par défaut est le nom de kernel « linux », sans autres options.
APPEND options...
Ajoute une ou plusieurs options à la ligne de commande du kernel. Celles-ci sont ajoutées pour les démarrages automatique et manuel. Les options sont ajoutées en tout début de ligne de commande du kernel ; en règle générale, elles peuvent être remplacées par les options de kernel entrées de manière explicite.
LABEL libellé KERNEL image APPEND options...
Indique que si le libellé est entré comme étant le kernel à démarrer, PXELINUX doit démarrer à la place l'image, et les options d'ajout APPEND spécifiées doivent être utilisées à la place de celles spécifiées dans la section principale du fichier (avant la première commande LABEL). La valeur par défaut de la variable image est identique à celle de libellé ; si aucune option APPEND n'est fournie, l'entrée globale (le cas échéant) est utilisée par défaut. Vous pouvez utiliser jusqu'à 128 entrées LABEL.
GRUB utilise la syntaxe suivante :
title mytitle kernelmon_kernelmes_options_kernelinitrdmon_initrd
tandis que PXELINUX utilise la syntaxe ci-dessous :
labelmonlibellékernelmonkernelappendmesoptions
Les libellés sont tronqués comme s'il s'agissait de noms de fichier et ils doivent être uniques après cette opération. Par exemple, les deux libellés « v2.1.30 » et « v2.1.31 » ne pourraient pas être différenciés sous PXELINUX car, une fois tronqués, ils portent tous deux le même nom de fichier DOS.
Il n'est pas impératif d'utiliser un kernel Linux ; vous pouvez avoir recours à un secteur d'amorçage ou un fichier COMBOOT.
N'ajoute rien. Vous pouvez utiliser l'option APPEND suivie d'un seul trait d'union comme argument dans une section LABEL pour remplacer une option APPEND globale.
LOCALBOOT type
Sous PXELINUX, si vous remplacez une option KERNEL par LOCALBOOT 0, vous appelez ce libellé précis, et entraînez le démarrage du disque local et non du kernel.
Aucune autre valeur n'est définie. Si vous ne savez pas à quoi correspondent les piles UNDI et PXE, indiquez 0.
TIMEOUT timeout
Indique la durée d'attente (en 1/10e de seconde) dans l'invite de démarrage, avant que le démarrage automatique soit lancé. Le timeout est annulé dès que l'utilisateur commence à saisir des données ; le système considère que l'utilisateur termine la commande initiée. Un timeout de zéro désactive entièrement le timeout (il s'agit également de la valeur par défaut).
La valeur maximale de timeout est 35 996 (un peu moins d'une heure).
PROMPT val_drapeau
Si l'option val_drapeau a pour valeur 0, cet argument affiche l'invite de démarrage uniquement si vous appuyez sur les touches Maj ou Alt, ou si vous définissez les touches Verr. Maj. ou Défil (option par défaut). Si val_drapeau a la valeur 1, cet argument affiche toujours l'invite de démarrage.
F2nomfichierF1nomfichier..etc... F9nomfichierF10nomfichier
Affiche le fichier indiqué à l'écran lorsque vous appuyez sur une touche de fonction à l'invite de démarrage. Cette option peut être utilisée pour implémenter l'aide en ligne sur le pré-lancement (normalement pour les options de ligne de commande du kernel). Afin d'assurer une compatibilité avec les versions antérieures, vous pouvez également utiliser la touche F10 à la place de F0. Il n'y a actuellement aucun moyen de lier les noms de fichier aux touches F11 et F12.
Préparez le BIOS du système pour le démarrage de l'environnement PXE en incluant l'option PXE dans l'ordre de démarrage du BIOS.
![]() | Avertissement |
|---|---|
Ne placez pas l'option PXE avant l'option de démarrage du disque dur dans le BIOS. Le système essaierait sinon de se réinstaller chaque fois que vous le démarrez. | |
Pour la fonction Wake on LAN (WOL), vous devez activer l'option BIOS appropriée avant d'effectuer l'installation. Notez également l'adresse MAC du système cible. Ces informations sont nécessaires pour lancer la fonction Wake on LAN.
La fonction Wake on LAN permet à une machine d'être alimentée via l'envoi d'un paquet réseau spécial qui contient l'adresse MAC de la machine. Comme chaque machine au monde dispose d'un identificateur MAC unique, vous ne risquez pas de mettre par erreur la mauvaise machine sous tension.
![]() | Important |
|---|---|
Si la machine de contrôle n'est pas située sur le même segment réseau que la cible d'installation à réveiller, vous devez configurer les requêtes WOL afin qu'elles soient envoyées en mode multidiffusion ou contrôler à distance une machine de ce segment réseau afin qu'il joue le rôle de l'expéditeur de ces requêtes. | |