Retrouvez cet article dans : Linux Magazine 86
Le matériel
La machine est une station Hyundai HWS-S310, un clone d’une station Sun SPARCStation 10 [1], dotée d’un processeur Texas Instrument SuperSparc-II à 50MHz, de 80 Mo de mémoire et d’un disque dur SCSI de 1.1 Go. Le tout a été assemblé, il y a plus de dix ans. Point de lecteur CD-Rom, simplement un lecteur de disquettes dans lequel je craindrais d’insérer quoi que ce soit. Voilà à quoi cela ressemble :


Préparer l’installation
La carte réseau intégrée est une carte en 10baseT, qui refusera obstinément de discuter par un câble croisé avec une carte à 100 Mbps. Il est donc nécessaire de passer par un hub à 10Mbps afin d’adapter les communications.Déterminer l’adresse MAC
Sans entrer dans les détails, l’adresse MAC d’une carte réseau est un numéro unique permettant de l’identifier physiquement sur un réseau. À ne pas confondre avec l’adresse IP : au moment où la machine est démarrée, elle ne dispose pas d’adresse IP lui permettant de communiquer réellement avec les autres machines du réseau. L’adresse physique (l’adresse MAC) de la carte va alors être utilisée pour attribuer une adresse IP à la machine. Pour cela, le protocole RARP est sans doute le moyen le plus simple (et le plus rudimentaire) de procéder – et de toute façon, la station n’en connaît pas d’autre. Aussi est-il nécessaire de déterminer cette adresse MAC. Pour cela, démarrez la station. Dès que l’écran se réveille, appuyez sur les touches [Stop]+[A] (ou [L1]+[A]). Vous devriez alors obtenir un écran comme celui-ci, l’écran d’accueil du système embarqué OpenBoot (l’équivalent du BIOS pour un PC, mais en beaucoup plus sophistiqué) :
Ethernet address 0:0:3b:80:5:2Cela nous donne l’adresse MAC sous forme hexadécimale. Si vous ne la voyez pas, vous pouvez la demander en entrant la commande suivante à l’invite
.enet-addrN’oubliez pas le point au début.
Mise en place de RARP
Si vous ne l’avez pas déjà, installez le petit programme# echo "00:00:3B:80:05:02 10.0.0.211" > /etc/ethersNaturellement, adaptez l’adresse MAC selon votre situation. Puis, on peut lancer le démon avec la commande :
# rarpd -aAjoutez les options
Déterminer le noyau demandé
Lorsque nous demanderons à la station de démarrer sur le réseau, elle va tout d’abord envoyer une requête RARP pour obtenir son adresse IP, puis chercher à télécharger un fichier précis contenant le noyau système à exécuter. Il n’existe pas vraiment de norme dans ce domaine : nous allons donc devoir expérimenter un peu avec le programme# tcpdump -i eth1 -n -vLe programme
ok boot netPuis consultez l’affichage de
# tcpdump -i eth1 -n -v
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
14:41:28.814284 rarp who-is 00:00:3b:80:05:02 tell 00:00:3b:80:05:02
14:41:28.814698 rarp reply 00:00:3b:80:05:02 at 10.0.0.211
14:41:28.857768 IP (tos 0x0, ttl 123, id 1234, offset 0, flags [none], proto: UDP (17), length: 51) 10.0.0.211.37381 > 10.0.0.200.69: 23 RRQ "0A0000D3.SUN4M" octet
14:41:28.857834 IP (tos 0xc0, ttl 64, id 27770, offset 0, flags [none], proto: ICMP (1), length: 79) 10.0.0.200 > 10.0.0.211: ICMP 10.0.0.200 udp port 69 unreachable, length 59
IP (tos 0x0, ttl 123, id 1234, offset 0, flags [none], proto: UDP (17), length: 51) 10.0.0.211.37381 > 10.0.0.200.69: 23 RRQ "0A0000D3.SUN4M" octet
Les deux premiers messages concernent la résolution de l’adresse IP par RARP. Les suivants sont les tentatives de téléchargement du fichier du noyau, sous la forme d’une requête $ printf "%02X%02X%02X%02X\n" aa bb cc ddPar exemple, dans notre cas :
$ printf "%02X%02X%02X%02X\n" 10 0 0 211 0A0000D3En tout cas, notez bien le nom du fichier demandé, nous en aurons bientôt besoin.
Mise en place de TFTP
Le protocole TFTP [2] est un protocole de transfert de fichier, un peu comme FTP, mais en beaucoup plus simple. C’est ce protocole que la station va utiliser pour télécharger le noyau qu’il lui faudra démarrer pour lancer l’installation du système. Nous devons donc mettre en place un serveur TFTP. Celui qui a donné les meilleurs résultats est le programme# mkdir /tftpboot # chmod 0777 /tftpbootNous allons placer dans ce répertoire les fichiers nécessaires à l’installation. Deux fichiers sont nécessaires, le noyau système et l’image disque contenant l’installeur. Exécutez tout simplement :
# cd /tftpboot # wget -nd http://ftp.fr.debian.org/debian/dists/unstable/main/installer-sparc/current/images/combined/2.6/mini.iso # wget -nd http://ftp.fr.debian.org/debian/dists/unstable/main/installer-sparc/current/images/sparc32/netboot/2.6/boot.imgNous utilisons ici la version " unstable " de Debian, plus aboutie que les versions précédentes en ce qui concerne le support des stations Sparc. Renommez le second fichier, celui du noyau, afin qu’il puisse être trouvé par la station, dans notre exemple :
# mv boot.img 0A0000D3.SUN4MPuis démarrez le serveur TFTP, par exemple ainsi pour qu’il ne passe pas à l’arrière-plan :
# atftpd --daemon --no-forkTout est désormais en place pour démarrer l’installation.
Installation
Si ce n’est déjà fait, démarrez la station et pressez [Stop]+[A] dès que l’écran s’éveille. À l’invite ok de OpenBoot, entrez la commande :ok boot netNormalement, l’installation de Debian devrait démarrer. Nous ne détaillerons pas la suite. Après tout, l’installation de Debian est identique à elle-même. Évitez simplement une installation toute automatique, à moins que vous n’ayez la chance de disposer d’un espace disque plus important. Ainsi n’ai-je installé ici qu’un système minimal, complété manuellement par la suite en utilisant
Configuration de X
Évidemment, la configuration de X ne va pas toute seule. La version installée est la version 7.0.22 de X.org. Le fichier de configuration à modifier est doncSection "Device"
Identifier “Generic Video Card”
Driver “suncg6”
Option “UseFBDev” “true”
EndSection
Section “Screen”
Identifier “Default Screen”
Device “Generic Video Card”
Monitor “Generic Monitor”
DefaultDepth 8
SubSection “Display”
Depth 8
Modes "1152x900" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Ensuite le clavier. La configuration par défaut de Debian (du moins, la version du jour) ne fonctionne pas correctement. Après quelques recherches, voici une configuration tout à fait classique qui me permet d’utiliser le clavier dont je dispose :
Section "InputDevice"
Identifier “Generic Keyboard”
Driver “kbd”
Option “CoreKeyboard”
Option “XkbRules” “xorg”
Option “XkbModel” “pc105”
Option “XkbLayout” “us”
EndSection
Finalement, on obtient quelque chose d’utilisable.
Un dernier conseil : lorsque vous utilisez du matériel aussi ancien et limité, désactivez les fioritures diverses comme les transparences, les images de fond d’écran, l’affichage du contenu des fenêtres quand on les déplace, etc.
Démarrages suivants
Il est possible qu’au redémarrage de la station, celle-ci ne tente à nouveau de démarrer à partir du réseau. Dans ce cas, interrompez le processus avec [Stop]+[A] et tentez :ok boot diskVoici ce que j’obtiens alors dans mon cas :
Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0 File and args: SCSI device 3,0 is not responding Can’t open boot deviceSoit en clair, la machine tente de démarrer à partir du disque SCSI d’identifiant 3, première partition. Ce qui ne fonctionne pas, le disque SCSI interne ayant l’identifiant 2. Pour démarrer le système, entrez :
ok boot /iommu/sbus/espdma@f,400000/esp@f,800000/sd@2,0Comment rendre cette option permanente reste à découvrir...
Conclusion
Nous voilà donc avec une vieille machine parfaitement fonctionnelle. Bien sûr, ce n’est pas un foudre de puissance, inutile de seulement rêver démarrer OpenOffice.org ou Blender. Mais à quoi cela peut-il bien servir ? Vous pouvez par exemple en faire un terminal X tout à fait correct, permettant ainsi au petit dernier de découvrir l’ordinateur sans risquer de détruire (physiquement) votre précieux et moderne matériel. Les développeurs seront sans doute intéressés de pouvoir tester leurs programmes sur un processeur différent, certes ancien, mais dont les descendants sont assez répandus. Références :- [1] Sun SPARCStation 10 : http://www.obsolyte.com/sun_ss10/
- [2] Protocole TFTP : http://fr.wikipedia.org/wiki/TFTP
- [3] Protocole RARP : http://en.wikipedia.org/wiki/Reverse_Address_Resolution_Protocol
- [4] atftp : http://packages.debian.org/atftp
- [5] Sun FrameBuffer FAQ : http://www.sunhelp.org/faq/FrameBuffer.html
Retrouvez cet article dans : Linux Magazine 85





Laissez une réponse
Vous devez avoir ouvert une session pour écrire un commentaire.