4.3. Préparer les fichiers pour amorcer depuis le réseau en TFTP

Si votre machine est connectée à un réseau local, vous pouvez l'amorcer directement à travers le réseau à partir d'une autre machine en utilisant TFTP. Si vous décidez de le faire, les fichiers d'amorçage doivent être placés à un endroit spécifique sur cette machine et elle doit être configurée pour supporter l'amorçage de votre propre machine.

Vous devez configurer un serveur TFTP et, pour les machines CATS, un serveur BOOTP .

Le protocole de transfert de fichiers trivial (« Trivial Transfert File Protocol » ou TFTP, NdT) est utilisé pour transférer l'image d'amorçage au client. Théoriquement, n'importe quel serveur sur n'importe quelle plate-forme qui implémente ces protocoles peut être utilisé. Dans les exemples qui vont suivre, on donnera les commandes pour SunOS 4.x, SunOS 5.x (mieux connu sous le nom de Solaris) et GNU/Linux.

4.3.1. Activer le serveur TFTP

Pour s'assurer du bon fonctionnement du serveur TFTP, vous devez vous assurer au préalable que tftpd est activé. Ce dernier est généralement activé grâce à la ligne suivante dans /etc/inetd.conf :


tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot

Jetez un oeil dans ce fichier et rappelez-vous le répertoire passé en argument de in.tftpd ; vous en aurez besoin ultérieurement. L'option -l autorise certaines versions de in.tftpd à journaliser toutes les requêtes vers le journal du système ; c'est extrêmement pratique en cas d'erreur d'amorçage. Si vous devez changer /etc/inetd.conf, vous devrez le signaler au processus inetd. Sur une machine Debian, lancez /etc/init.d/inetd reload (pour une Potato 2.2 et système plus récent, utilisez /etc/init.d/netbase reload) ; sur les autres machines, retrouvez le numéro de processus de inetd et tuez-le avec la commande kill -HUP inetd-pid.

Si votre serveur TFTP est une machine utilisant Linux 2.4.x, il vous faudra effectuer la manoeuvre suivante sur votre serveur :


echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc

de façon à détourner la détection du MTU sinon la PROM de l'Indy ne pourra pas télécharger le nouveau noyau. En outre, assurez-vous que les paquets TFTP transitent par un port source inférieur à 32767 ou bien le téléchargement s'arrêtera après le premier paquet. Vous pouvez toujours contourner ce bogue de la PROM grâce au noyau 2.4.x en ajustant


echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range

pour fixer l'intervalle des ports source que le serveur Linux TFTP peut utiliser.

4.3.2. Mettre les images TFTP en place

Ensuite, placez les images TFTP dont vous avez besoin (décrites dans la ???) dans le répertoire des images d'amorce de tftpd. Généralement, ce répertoire s'appelle /tftpboot. Vous aurez à faire un lien depuis ce fichier vers le fichier que tftpd utilisera pour amorcer un client particulier. Malheureusement, le nom du fichier est déterminé par le client TFTP et il n'y a pas vraiment de standard.

Souvent, le fichier que le client TFTP recherchera est client-ip-in-hexclient-architecture. Pour calculer client-ip-in-hex, prenez chaque octet de l'adresse IP du client et convertissez-la en hexadécimal. Si vous avez une machine à portée de main avec le programme bc, vous pouvez l'utiliser. En premier, utilisez la commande obase=16 pour configurer la sortie en hexadécimal, puis entrez les composants individuels du client IP un par un. Et pour client-architecture, essayez quelques valeurs.

4.3.2.1. SGI Indys TFTP Booting

Sur les Indy de SGI, vous pouvez compter sur bootpd pour obtenir le nom du fichier TFTP. Il est donné soit par bf= dans /etc/bootptab ou bien par l'option de filename= dans /etc/dhcpd.conf.

4.3.3. Installation de TFTP sur système avec peu de mémoire

Sur certains systèmes, le disque virtuel d'installation standard, combiné avec les exigences en mémoire de l'image d'amorçage TFTP, ne peuvent tenir en mémoire. Dans ce cas, vous pouvez quand même utiliser TFTP mais vous aurez à passer par une étape supplémentaire pour monter votre répertoire racine à travers le réseau. Ce type de configuration est aussi approprié pour les clients sans disque et les clients sans données.

Commencez par suivre toutes les étapes ci-dessus dans Section 4.3, « Préparer les fichiers pour amorcer depuis le réseau en TFTP ».

  1. Copiez l'image du noyau Linux sur votre serveur TFTP en utilisant l'image a.out de l'architecture sur laquelle vous êtes en train d'amorcer.

  2. « Détarez » l'archive de root sur votre serveur NFS (qui peut être le même que votre serveur TFTP) :

    
    # cd /tftpboot
    # tar xvzf root.tar.gz
    
    

    Assurez-vous d'utiliser le tar de GNU (les autres programmes, comme celui de SunOS, manipulent incorrectement certains périphériques comme les fichiers ordinaires).

  3. Exportez votre répertoire /tftpboot/debian-sparc-root avec les accès root pour votre client. Vous devez ajouter la ligne suivante à /etc/exports (syntaxe GNU/Linux, cela devrait être similaire pour SunOS jusqu'à la version 4.1.x) :

    
    /tftpboot/debian-sparc-root client(rw,no_root_squash)
    
    

    Note : « client » est le nom d'hôte ou bien l'adresse IP reconnue par le serveur pour le système que vous allez amorcer.

  4. Créez un lien symbolique depuis votre adresse IP cliente sous forme de nombres séparés par des points dans le fichier debian-sparc-root du répertoire /tftpboot. Par exemple, si l'adresse IP client est 192.168.1.3, faites :

    
    # ln -s debian-sparc-root 192.168.1.3
    
    

4.3.4. Installation avec une racine TFTP et NFS

C'est très proche de l'installation pour système avec peu de mémoire Section 4.3.3, « Installation de TFTP sur système avec peu de mémoire » parce que vous ne voulez pas charger le disque virtuel mais amorcer depuis le système de fichier nfs-root créé il y a peu. Vous n'avez qu'à remplacer le lien vers l'image tftpboot par un lien vers l'image du noyau (p. ex. linux-a.out).

RARP/TFTP requires all daemons to be running on the same server (the workstation is sending a TFTP request back to the server that replied to its previous RARP request).

Pour amorcer la machine cliente, allez à Section 5.1.1, « Amorcer avec TFTP ».