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 à 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 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, ou 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 via 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 toutes 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, écrivent correctement cette ligne. Lisez ce fichier et mémorisez le répertoire passé en argument de 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 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 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 un client particulier. 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# 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 Indy 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 filename= dans /etc/dhcpd.conf. Amorcer avec TFTP la carte Broadcom BCM91250A Il n'est pas utile de configurer DHCP car vous indiquerez à CFE l'adresse exacte du fichier qui doit être chargé