Préparer les fichiers pour amorcer depuis le réseau avec TFTP
Si votre machine est connectée à un réseau local, vous pouvez l'amorcer
directement à partir d'une autre machine de ce réseau en utilisant
TFTP. Pour cela, les fichiers d'amorçage doivent être
placés à un endroit spécifique de cette machine et celle-ci doit savoir
amorcer votre machine.
Vous devez configurer un serveur TFTP et, pour beaucoup de machines,
un serveur DHCP, un serveur RARP
ou un serveur BOOTP.
Le protocole de recherche des adresses
inverses (Reverse address Resolution Protocol ou RARP)
indique à votre client l'adresse IP qu'il doit utiliser pour lui-même.
Une autre solution est d'utiliser le protocole BOOTP.
BOOTP est un protocole IP qui indique à un
ordinateur quelle est son adresse IP et lui dit où obtenir sur le réseau une
image d'amorçage.
Le protocole DHCP
(« Dynamic Host Configuration Protocole », Protocole de
configuration dynamique des hôtes) est une extension bien plus flexible
de BOOTP (et respectant la compatibilité ascendante). Certains systèmes ne
peuvent être configurés que par DHCP.
Pour les PowerPC, si vous avez une machine Power Macintosh NewWorld, il vaut
mieux utiliser DHCP plutôt que BOOTP. Certaines machines récentes ne peuvent pas
s'amorcer avec BOOTP.
Quelques vieilles machines HPPA (p. ex. 715/75) utilisent RBOOTD plutôt que
BOOTP. Un paquet rbootd est disponible dans l'archive &debian;.
Le protocole trivial de transfert de fichiers (Trivial File Transfert
Protocol, TFTP) est utilisé pour transférer l'image d'amorçage
au client. Théoriquement, tout serveur sur les plateformes qui
implémentent 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.
Pour un serveur &debian; nous recommandons tftpd-hpa.
C'est un logiciel écrit par l'auteur du programme
syslinux, ce qui est un gage de qualité. Une
autre possibilité est le programme atftpd.
&tftp-rarp.xml;
&tftp-dhcp.xml;
&tftp-bootp.xml;
Activer le serveur TFTP
Pour faire fonctionner le serveur TFTP, vous devez vous assurer au préalable
que tftpd est activé.
Pour tftpd-hpa, il y a deux façons de lancer le
service. Il peut être activé à la demande par le démon
inetd du système ou bien il peut être exécuté en
tant que démon indépendant. Le choix de la méthode se fait à
l'installation du paquet et peut être modifié en le reconfigurant.
Les serveurs TFTP utilisaient habituellement le répertoire /tftpboot pour
stocker les images. Cependant les paquets &debian-gnu; se servent d'autres répertoires
pour obéir au standard sur l'organisation des fichiers.
Par exemple, tftpd-hpa utilise par défaut
/srv/tftp. Vous aurez à modifier les exemples de cette section.
Toutes les alternatives à in.tftpd disponibles dans &debian;
doivent enregistrer les requêtes TFTP dans le journal du système. Quelques unes
acceptent une option -v qui augmente la quantité d'informations
enregistrées. En cas d'erreur d'amorçage, il est recommandé de consulter ces enregistrements
pour rechercher les causes des erreurs.
Si vous voulez installer &debian; sur une machine SGI et si votre serveur TFTP
est une machine GNU/Linux avec Linux 2.4.X, il vous faudra effectuer la
manœuvre suivante sur votre serveur :
# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
de façon à empêcher la détection du MTU, sinon la PROM de la machine SGI 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 TFTP peut utiliser.
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'amorçage
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 le client.
Malheureusement, le nom du fichier est déterminé par le client
TFTP et il n'y a pas vraiment de standard.
Sur les machines Power Macintosh NewWorld, vous devrez configurer le programme
d'amorçage yaboot comme une image d'amorçage TFTP.
Yaboot chargera les images du noyau et du disque virtuel à
travers TFTP. Vous devrez télécharger les fichiers suivants du répertoire netboot/ :
vmlinux
initrd.gz
yaboot
yaboot.conf
boot.msg
Pour le démarrage PXE, tout ce dont vous avez besoin est dans l'archive
netboot/netboot.tar.gz. Extrayez les fichiers dans le
répertoire de l'image tftpd. Assurez-vous que le serveur
DHCP donnera bien le fichier pxelinux.0 comme fichier
d'amorçage à tftpd.
Pour le démarrage PXE, tout ce dont vous avez besoin est dans l'archive
netboot/netboot.tar.gz. Extrayez les fichiers dans le
répertoire de l'image tftpd. Assurez-vous que le serveur
DHCP donnera bien le fichier
/debian-installer/ia64/elilo.efi comme fichier
d'amorçage à tftpd.
Amorçage TFTP pour SPARC
Certaines architectures SPARC ajoutent au nom de fichier la sous-architecture, comme
SUN4M
ou SUN4C
. Ainsi, si votre sous-architecture système
est SUN4C et que son adresseIP est 192.168.1.3, le nom de fichier sera
C0A80103.SUN4C. Cependant, pour certaines architectures, le fichier
recherché est simplement client-ip-en-hex.
Pour déterminer facilement ce nom et en supposant que l'adresse IP est
10.0.0.4, lancez un interpréteur de commandes et faites :
$ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4
Il suffira de mettre les lettres en majuscule et d'ajouter le nom de la sous-architecture
pour obtenir le nom du fichier.
Si tout a été fait correctement, la commande boot net
depuis l'OpenPROM devrait charger l'image. Si l'image n'est pas trouvée,
vérifiez dans les journaux du serveur tftp sous quel nom elle a été demandée.
Vous pouvez aussi forcer certains systèmes SPARC à rechercher un nom de
fichier spécifique en l'ajoutant à la fin de la commande d'amorçage de
OpenPROM, p. ex. boot net my-sparc.image.
Ce fichier doit bien sûr être présent dans un répertoire connu du serveur TFTP.
Amorçage TFTP pour SGI
Sur les machines 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 filename= dans
/etc/dhcpd.conf.