http://www.ed-diamond.com http://www.gnulinuxmag.com http://www
Transcription
http://www.ed-diamond.com http://www.gnulinuxmag.com http://www
Ceci est un extrait électronique d'une publication de Diamond Editions : http://www.ed-diamond.com Ce fichier ne peut être distribué que sur le CDROM offert accompagnant le numéro 100 de GNU/Linux Magazine France. La reproduction totale ou partielle des articles publiés dans Linux Magazine France et présents sur ce CDROM est interdite sans accord écrit de la société Diamond Editions. Retrouvez sur le site tous les anciens numéros en vente par correspondance ainsi que les tarifs d'abonnement. Pour vous tenir au courant de l'actualité du magazine, visitez : http://www.gnulinuxmag.com Ainsi que : http://www.linux-pratique.com et http://www.miscmag.com DEBIAN CORNER @ Installer Debian sur Sparc Yves Bailly EN DEUX MOTS Il n’y a pas si longtemps, les stations Sparc étaient assez répandues dans les universités, les administrations et même les entreprises. Mais depuis quelques années, ces machines aussi robustes que rustiques sont réduites à l’état de ramasse-poussières. Pourtant, elles peuvent encore rendre bien des services. 0 wipe Effacement sécurisé Il est bien moins trivial de récupérer des données effacées avec les systèmes de fichiers Ext3, XFS ou ReiserFS que ce n’est le cas, par exemple, avec FAT. Cependant, il reste toujours possible, si on s’attache à le faire correctement et rapidement, de récupérer tout ou partie de l’information perdue. Mieux encore, lorsqu’un outil comme recover ne semble plus être d’un grand secours, il reste des possibilités. Celles-ci reposent principalement sur la rémanence magnétique du support. Une trace résiduelle des données reste, durant un temps, sur le support. Lorsqu’il s’agit de récupérer une photo ou un document important, cela peut sembler séduisant. S’il s’agit de votre clef privée GPG ou SSL sur un disque USB, il en va tout autrement. Pour régler le problème, vous pouvez utiliser wipe en lieu et place de rm . L’utilitaire va alors écrire plusieurs fois de suite des motifs en partie aléatoire et utiliser l’appel fsync() à répétition pour totalement effacer toute rémanence des données originales. Différentes options permettent d’augmenter le nombre d’écrasements récursifs et la part aléatoire de l’écriture. ’ai ainsi récemment eu la chance de pouvoir mettre la main sur une telle antiquité, datant d’une époque où le monde des ordinateurs PC s’émerveillait devant la version 3.11 d’un certain environnement graphique à fenêtres. Les stations Sparc étaient alors l’idéal pour les stations de travail graphiques, offrant des possibilités bien supérieures à celles des PC de l’époque. 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 : Remarquez sur la droite l’indispensable bombe dépoussiérante : étant donné le sort peu glorieux réservé à ces ordinosaures, il est probable que la quantité de poussière aurait raison des poumons les plus entraînés.Vue arrière : Il existe quelques entrées dans le BTS pour ce paquet. Il s’agit principalement de problèmes mineurs, sauf un concernant un débordement d’entier avec les partitions de grande taille. Pensez à jeter un œil au BTS en cas de souci. GNU Linux Magazine France Debian corner Les stations Sparc 10 contenaient deux connecteurs ISDN (sur la gauche), ainsi qu’un port Ethernet 10baseT. La prise pour l’écran étant assez spéciale, il est peut probable que vous pourrez y connecter un moniteur VGA classique. Un écran en état de marche est probablement l’élément le plus difficile à trouver. Voici enfin l’intérieur (l’avant est en haut) : 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é) : Remarquez à droite du logo la ligne : Ethernet address 0:0:3b:80:5:2 En l’absence de lecteur utilisable, la seule solution pour installer le système est de passer entièrement par le réseau, le noyau et l’installeur étant hébergés sur une autre machine. Ceux-ci sont récupérés au moyen du protocole TFTP [2], l’adresse IP étant déterminée avant le démarrage du système (forcément) par le protocole RARP [3]. 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. Cela 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 ok tout en bas : .enet-addr N’oubliez pas le point au début. Mise en place de RARP Si vous ne l’avez pas déjà, installez le petit programme rarpd qui permet de lancer un démon répondant aux requêtes RARP. Sa configuration est fort simple. Il suffit de placer dans le fichier /etc/ethers une liste d’adresses MAC accompagnées des adresses IP que l’on souhaite leur attribuer. Dans notre exemple, la station se verra attribuée l’adresse 10.0.0.211. La configuration de rarpd se limite donc à ceci : # echo «00:00:3B:80:05:02 10.0.0.211» > /etc/ethers Naturellement, adaptez l’adresse MAC selon votre situation. Puis, on peut lancer le démon avec la commande : # rarpd -a Ajoutez les options -v et -d si vous ne voulez pas que le programme passe en tâche de fond, ce qui peut être souhaitable pour des raisons de sécurité : dès qu’il n’est plus nécessaire, un simple [Ctrl]+[C] permet ainsi d’arrêter le serveur RARP. Désormais la machine d’installation est capable de fournir une adresse IP à la station. GNU Linux Magazine France Debian corner 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 pour « deviner » le nom du fichier contenant le noyau. Si la machine d’installation est reliée au hub par l’interface eth1, lancez la commande : # tcpdump -i eth1 -n -v Le programme tcpdump permet d’espionner les paquets de données qui transitent sur un réseau, ici les paquets reçus et envoyés par l’interface eth1. Démarrez la station (si ce n’est déjà fait) et accédez au système OpenBoot en pressant [Stop]+[A] dès que l’écran s’anime. Entrez alors la commande (le ok au début étant l’invite du système, il ne doit donc pas être saisi) : ok boot net Puis consultez l’affichage de tcpdump, qui devrait ressembler à ceci : # 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 RRQ «0A0000D3.SUN4M» : le nom entre guillemets est le nom du fichier supposé contenir le noyau. Ce nom est composé du nom de l’architecture de la station (ici, sun4m) précédé de son adresse IP sous forme hexadécimale. Si besoin est, vous pouvez obtenir la représentation hexadécimale d’une adresse IP aa.bb.cc.dd à l’aide de la commande : $ printf «%02X%02X%02X%02X\n» aa bb cc dd Par exemple, dans notre cas : $ printf «%02X%02X%02X%02X\n» 10 0 0 211 0A0000D3 En 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 atftp [4], normalement disponible pour toutes les « bonnes » distributions. Sinon, son installation à partir des sources est fort simple. La configuration par défaut suppose que les fichiers à transférer soient placés dans un répertoire /tftpboot (oui, juste à la racine) qui doit être lisible, inscriptible et exécutable pour le monde entier. Exécutez donc les commandes : # mkdir /tftpboot # chmod 0777 /tftpboot Nous 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.img Nous 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.SUN4M Puis démarrez le serveur TFTP, par exemple ainsi pour qu’il ne passe pas à l’arrière-plan : # atftpd --daemon --no-fork Tout 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 net Normalement, 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 GNU Linux Magazine France Sparc 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 apt-get uniquement sur les éléments voulus. 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 donc /etc/X11/xorg.conf (pensez à installer Vim !). Un conseil, installez un serveur OpenSSH pour pouvoir vous connecter à la station depuis une autre machine et éventuellement tuer un processus récalcitrant, comme X peut le devenir... Premier problème, parvenir à démarrer X lui-même. Les stations Sparc utilisent le FrameBuffer, ce que vous avez sans doute déjà constaté en voyant Tux en haut à gauche au démarrage du noyau Linux. Pour plus de détails spécifiques aux stations Sun, voyez la FAQ [5]. En ce qui concerne ma propre configuration, je dois me contenter d’un affichage en 256 couleurs (8 bits), mais en haute résolution (1152x900).Voici les deux sections clefs du fichier xorg.conf pour obtenir cet affichage : Section «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. Numéro 86 / Septembre 2006 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 disk Voici 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 device Soit 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,0 Comment 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 Yves Bailly,