1.3. Préparation du démarrage du système cible

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.

1.3.1. Configuration d'un serveur DHCP

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.

1.3.1.1. Configuration manuelle d'un serveur DHCP

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.

  1. Loguez-vous en tant qu'utilisateur root à la machine qui héberge le serveur DHCP.

  2. 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_tftp par l'adresse IP réelle du serveur TFTP.

    Pour plus d'informations sur les options disponibles dansdhcpd.conf, reportez-vous à la page d'aide dhcpd.conf.

  3. 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.

1.3.2. Configuration d'un serveur TFTP

Configurez 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.

1.3.2.1. Configuration d'un serveur TFTP à l'aide de YaST

  1. Loguez-vous en tant qu'utilisateur root.

  2. Sélectionnez YaST+Services réseau+Serveur TFTP et installez le paquetage demandé.

  3. Cliquez sur Activer 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.

  4. Cliquez sur Ouvrir port dans pare-feu 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.

  5. Cliquez sur Parcourir pour rechercher le répertoire de l'image de démarrage.

    Le répertoire par défaut /tftpboot est créé et sélectionné automatiquement.

  6. Cliquez sur Terminer pour appliquer vos paramètres et démarrer le serveur.

1.3.2.2. Configuration manuelle d'un serveur TFTP

  1. Loguez-vous en tant qu'utilisateur root, et installez les paquetages tftp et xinetd.

  2. S'ils ne sont pas disponibles, créez les répertoires /srv/tftpboot et /srv/tftpboot/pxelinux.cfg.

  3. Ajoutez les fichiers nécessaires à l'image de démarrage, comme décrit à la Section 1.3.3, « Démarrage PXE ».

  4. Modifiez la configuration de xinetd, situé sous /etc/xinetd.d/, pour vous assurer que le serveur tftp démarre à l'amorçage :

    1. 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.

    2. 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 
      }
      
    3. Enregistrez le fichier et redémarrez xinetd en exécutant rcxinetd restart.

1.3.3. Démarrage PXE

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.

  1. 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
  2. Installez le paquetage syslinux directement à partir de vos CD ou DVD d'ins­tallation, à l'aide de YaST.

  3. 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
         
  4. 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
         
  5. Modifiez le fichier /srv/tftpboot/pxelinux.cfg/default et supprimez les lignes commençant par gfxboot, readinfo et framebuffer.

  6. 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]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 install. Pour obtenir une présentation des paramètres, accompagnée de quelques exemples, reportez-vous à la Section 1.4, « Démarrage du système cible pour l'installation ».

    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, ou ssh 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
            
    # default 
    label linux 
      kernel linux 
            append initrd=initrd ramdisk_size=65536 insmod=e100 \ 
            install=nfs://ip_instserver/path_instsource/product 
    	    
    # failsafe 
    libellé de type failsafe 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \ 
      insmod=e100 install=nfs://ip_serveurinst/chemin_sourceinst/produit
    
    # apic
    libellé de type apic 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 apic insmod=e100 \ 
      install=nfs://ip_serveurinst/chemin_sourceinst/produit
    
    # manual
    libellé manuel 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 manual=1
    
    # secours rescue
    libellé de secours rescue 
      kernel linux append initrd=initrd ramdisk_size=65536 rescue=1
    
    #  test mémoire 
    libellé de memtest 
      kernel memtest
    
    # hard disk
    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, reportez-vous à la documentation du paquetage syslinux, située sous /usr/share/doc/packages/syslinux/.

1.3.4. Options de configuration PXELINUX

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 
  kernel mon_kernel mes_options_kernel     
  initrd mon_initrd 

tandis que PXELINUX utilise la syntaxe ci-dessous :

 
label monlibellé 
  kernel monkernel 
  append mesoptions 
      

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.

APPEND -

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.

Argument

Description

0

Effectue un démarrage normal.

4

Effectue un démarrage local avec le pilote UNDI (Universal Network Driver Interface - Interface de pilote réseau universelle) qui réside toujours en mémoire.

5

Effectue un démarrage local avec l'intégralité de la pile PXE, y compris le pilote UNDI, qui réside toujours en mémoire.

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 Shift 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.

 
F2  nomfichier 
F1  nomfichier 
..etc...  F9  nomfichier 
F10  nomfichier

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.

1.3.5. Préparation du système cible pour le démarrage PXE

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.

[Warning]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.

1.3.6. Préparation du système cible pour la fonction Wake on LAN (réveil à distance)

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.

1.3.7. Wake on LAN (réveil à distance)

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]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.

1.3.8. Fonction Wake on LAN (réveil à distance) manuelle

  1. Loguez-vous en tant qu'utilisateur root.

  2. Sélectionnez YaST+Installer et supprimer des logiciels, puis installez le paquetage netdiag.

  3. Ouvrez une fenêtre de terminal et entrez la commande suivante en tant qu'utilisateur root pour réveiller la cible :

     
    ether-wake mac_cible

    Remplacez mac_cible par l'adresse MAC réelle de la cible.