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,