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)
est une solution pour indiquer à 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.
Il existe désormais une autre solution pour les systèmes
VMEbus : l'adresse IP peut être configurée manuellement dans la ROM
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.
À la différence du microprogramme Open Firmware que l'on trouve sur les
machines SPARC et PowerPC, la console SRM n'utilisera
pas RARP pour obtenir les adresses IP ; vous devrez
donc utiliser BOOTP pour amorcer votre Alpha
Les systèmes Alpha peuvent aussi s'amorcer depuis le réseau en utilisant
MOP DECNet (« Maintenance Operations Protocol », protocole des
opérations de maintenance), mais l'on n'en dira rien ici. Il est
vraisemblable que votre opérateur local OpenVMS sera ravi de vous assister si
vous ne pouvez résister à l'envie d'utiliser MOP pour amorcer Linux sur votre
Alpha.
depuis le réseau. Vous pouvez aussi entrer directement depuis la console VRM
la configuration IP des interfaces réseau.
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 des fichiers (« Trivial File Transfert
Protocol » ou 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 utiliser la méthode de démarrage par l'exécution d'un environnement de
pré-amorçage (PXE) de TFTP, vous avez besoin d'un serveur TFTP avec
tsize. Sur un serveur &debian;, les paquets
atftpd et tftpd-hpa
sont bons ; nous vous conseillons tftpd-hpa.
&tftp-rarp.xml;
&tftp-bootp.xml;
&tftp-dhcp.xml;
Activer le serveur TFTP
Pour faire fonctionner le 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
Les paquets Debian, quand ils sont installés, placent correctement cette
ligne.
Les serveurs TFTP utilisaient habituellement le répertoire /tftpboot pour
stocker les images. Cependant les paquets &debian; se servent d'autres répertoires
pour obéir au standard sur l'organisation des fichiers.
Par exemple, tftpd-hpa utilise par défaut
/var/lib/tftpboot. Vous aurez à modifier les exemples de cette section.
Lisez le fichier /etc/inetd.conf et mémorisez le répertoire
passé en argument à in.tftpd
L'option -l autorise certaines versions de
in.tftpd à enregistrer toutes les requêtes dans le journal
du système ; c'est extrêmement pratique en cas d'erreur d'amorçage.
; vous en aurez besoin ultérieurement.
Si vous avez dû modifier /etc/inetd.conf, vous devrez le
signaler au processus inetd. Sur une machine Debian,
lancez /etc/init.d/inetd reload ; sur les autres
machines, retrouvez le numéro de processus de inetd et
tuez-le avec la commande
kill -HUP inetd-pid.
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. Pour amorcer sur le réseau, utilisez
yaboot-netboot.conf. Renommez-le simplement en
yaboot.conf dans le répertoire TFTP.
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.
Images TFTP pour les DECstation
Pour les DECstation, il y a des fichiers tftpimage pour chaque
sous-architecture ; ils contiennent à la fois un noyau et un
installateur en un seul fichier. La convention
de nommage est subarchitecture/netboot-boot.img.
Copiez l'image tftp que vous allez utiliser dans
/tftpboot/tftpboot.img si vous travaillez avec
l'exemple de configuration de BOOTP/DHCP décrit plus haut.
Le microprogramme des DECstation autorise l'amorçage via TFTP par
la commande boot #/tftp
où # est le numéro de périphérique
« TurboChannel » sur lequel amorcer. Sur la plupart des DECstation,
c'est le numéro 3
. Si le serveur BOOTP/DHCP ne fournit pas le
nom du fichier ou si vous avez besoin de passer des paramètres
supplémentaires, cela peut se faire avec la syntaxe suivante :
boot #/tftp/filename param1=value1 param2=value2 ...
Plusieurs révisions des microprogrammes des DECstation ont un problème avec
l'amorçage sur le réseau : le transfert débute mais après un certain
temps, il s'arrête avec a.out err.
Il peut y avoir plusieurs causes :
Le microprogramme ne répond pas à une requête ARP durant un transfert TFTP.
Cela conduit à un timeout
d'ARP et le transfert s'arrête. La solution est
d'ajouter l'adresse MAC de la carte Ethernet dans la table
ARP du serveur TFTP. On peut le faire avec
arp -s IP-address
MAC-address en tant que root sur la
machine serveur TFTP. On peut lire l'adresse MAC de la DECstation en entrant
cnfg à l'invite du microprogramme de la DECstation.
Le microprogramme impose une taille limite aux fichiers utilisés pour amorcer par TFTP.
Il y aussi des révisions de microprogramme qui ne peuvent pas s'amorcer du
tout par TFTP, voyez
les pages web de NetBSD.
Amorçage TFTP pour Alpha
Sur Alpha, vous devez spécifier le nom de fichier (le chemin étant
relatif au répertoire de l'image d'amorçage) en utilisant l'argument
-file de la commande boot
de SRM ou en configurant la variable d'environnement
BOOT_FILE. Vous pouvez aussi passer le nom de fichier
via BOOTP (pour dhcpd ISC, utilisez la directive
filename). À la différence d'Open Firmware, il n'y a
pas de nom de fichier par défaut dans SRM et vous
devez utiliser l'une de ces méthodes pour spécifier un nom
de fichier.
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 BVM/Motorola
Pour BVM et les systèmes VMEbus Motorola, recopiez les fichiers
&bvme6000-tftp-files; dans /tftpboot/.
Ensuite, configurez votre ROM d'amorçage et votre serveur BOOTP pour charger
en premier les fichiers tftplilo.bvme ou
tftplilo.mvme du serveur TFTP. Reportez-vous au fichier
tftplilo.txt de votre sous-architecture pour obtenir
des informations supplémentaires sur la configuration de votre système.
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.
Amorcer avec TFTP les cartes Broadcom BCM91250A et BCM91480B
Il n'est pas utile de configurer DHCP car vous indiquerez à CFE l'adresse
exacte du fichier qui doit être chargé.