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 elle doit savoir
amorcer votre propre machine.
Vous devez configurer un serveur TFTP et, pour beaucoup de machines,
un serveur BOOTP, un serveur RARP
ou un serveur DHCP.
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 de ces machines 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 Transfert File
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 tftp-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.
Lisez ce fichier et mémorisez le répertoire passé en argument à
in.tftpd ; vous en aurez besoin ultérieurement.
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. 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 à détourner 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'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 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 bien que vous ayez 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 à une suspension 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 de Open Firmware, il n'y a
pas de nom de fichier par défaut dans SRM donc vous
devez utiliser une de ces méthodes pour spécifier un nom
de fichier.
Amorçage TFTP pour SPARC
Les architectures SPARC utilisent des noms de sous-architecture, comme
SUN4M
ou SUN4C
; dans certains cas,
l'architecture est laissée en blanc et le fichier que le client recherche
est simplement ip-du-client-en-hexa. 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.
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
Cela recrache l'adresse en hexadécimal. Il suffira de mettre les lettres en
majuscule et d'ajouter le nom de la sous-architecture pour obtenir le nom du
fichier.
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é