Page suivante   Page précédente   Table des matières  

2. Les stations X et Linux

Par Matteo Dell'Omodarme matt@martine2.difi.unipi.it

Copyright 2000, Matteo Dell'Omodarme. Paru dans le numéro 51 de la Linux Gazette de mars 2000.

Traduction française de Frédéric Gacquer

2.1 Introduction

Il y a de cela quelques années, un cluster UNIX typique était composé d'un serveur onéreux, puissant, et de beaucoup de terminaux moins cher connectés à celui-ci. L'exemple d'un tel terminal est la Station X d'IBM. La partie matérielle d'une station X IBM comportait un écran, un clavier, une souris, un peu de RAM, et des connecteurs pour les câbles Ethernet. Puisqu'elles n'ont pas de disque dur ou de lecteur de disquette, elles doivent obtenir leur système d'exploitation d'une machine sur le réseau auquel elles sont connectées.

L'objectif d'une Station X était de fournir un terminal optimisé pour X et le graphisme et connecté à un serveur puissant pour un coût bas.

Les Stations X dépendent d'une station de travail IBM, comme un RISC 6000, tournant sous l'OS AIX. Le logiciel de gestion de stations X, fourni avec cet OS, contient les programmes nécessaire pour que les Stations X démarrent au travers du réseau et puisse alors lancer l'interface X. Gérer plusieurs Stations X avec un RISC 6000 est plutôt un travail facile; Pouvons-nous faire la même chose avec une machine Linux ? La principale raison de faire ce type de travail sont les pannes matérielles du serveur IBM car les stations de travail RISC sont chères (beaucoup plus qu'un PC).

Cet article montre comment configurer un poste Linux dans le but de fournir aux Stations X 120 et aux Stations X 130 toutes les informations nécessaires pour démarrer et fonctionner correctement.

2.2 Configurer Linux

Il y a 5 étapes différents à accomplir avant de pouvoir démarrer avec succès une Station X d'un Linux :

Examinons de plus près chaque étape.

2.3 Récupérer les fichiers de démarrage

Tous les fichiers de démarrage pour vos Stations X sont dans les répertoires /etc/x_st_mgr et /usr/lpp/x_st_mgr dans la partie sauvegardée de l'installation d'AIX. Restorer la sauvegarde sous Linux (par la suite nous supposerons que vous avez restoré la sauvegarde dans le même répertoire que celui de l'installtion sous AIX).

Vous n'avez pas besoin de tous les fichiers; mais une installation minimum doit contenir :


/etc/x_st_mgr/120                   lien vers /usr/lpp/x_st_mgr/bin/bootfile3
/etc/x_st_mgr/120.cf                fichier de configuration, voir plus bas
/etc/x_st_mgr/bootfile3.cf          copie de 120.cf
/usr/lpp/x_st_mgr/bin/bootfile3     fichier de démarrage de la Station X 120
/usr/lpp/x_st_mgr/bin/x11xor3.out   serveur X
/usr/lpp/x_st_mgr/bin/rgb.txt       table de description des couleurs.

pour la Station X 120, et :


/etc/x_st_mgr/130                   lien vers /usr/lpp/x_st_mgr/bin/bootfile4
/etc/x_st_mgr/130.cf                fichier de configuration, voir plus bas 
/etc/x_st_mgr/bootfile4.cf          copie de 130.cf
/usr/lpp/x_st_mgr/bin/bootfile4     fichier de démarrage de la Station X 130
/usr/lpp/x_st_mgr/bin/x11xor4.out   serveur X 
/usr/lpp/x_st_mgr/bin/rgb.txt       table de description des couleurs. 

pour la station X 130.

Le fichier 120.cf contient les noms des fichiers nécessaires pour la Station X 120 pour l'initialisation du démarrage. Un exemple de sa structure est :


/usr/lpp/x_st_mgr/nls/keymap
/usr/lpp/x_st_mgr/nls/msg
/usr/lpp/x_st_mgr/bin/x11xor3.out
/home/x_st_mgr/lib/fonts,/home/x_st_mgr/lib/fonts/ibm850
/usr/lpp/x_st_mgr/bin/rgb.txt

Dans le fichier 130.cf, le seul changement est la ligne:


/usr/lpp/x_st_mgr/bin/x11xor4.out

remplaçant la ligne du serveur X, x11xor3.out.

2.4 Mettre en place les fontes.

Dans le fichier de configuration 120.cf (ou 130.cf) la ligne:


/home/x_st_mgr/lib/fonts,/home/x_st_mgr/lib/fonts/ibm850

pointe vers les répertoires où vous avez copiés les fontes de l'installation d'AIX, situé dans /usr/lib/X11/fonts. Vous pouvez librement changer le répertoire d'installation mais vous devez rester cohérent.

2.5 Le démon bootpd

Quand une Station X est allumée, elle envoie sur le réseau son adresse Ethernet (adresse MAC) et une requête d'assistance pour pouvoir démarrer. Pendant ce temps là, vous pouvez découvrir quelques informations sur l'écran de la Station X, comme on peut le voir ci-dessous :


The IBM Xstation
Version 1.4
(c) Copyright IBM Corporation  1981, 1990

Ethernet Hardware Address           08005A010F33
Ethernet Thick/Thin                 Thin

BOOTP  -  0000  0000  0000  0000
TFTP   -  0000  0000  0000  0000

En premier notez l'adresse matérielle Ethernet du terminal, cette information est nécessaire plus tard.

En allumant la Station X le premier nombre sur la ligne BOOTP commence à augmenter: la Station X est en train d'envoyer une requête de demande d'aide sur le réseau. Pour répondre à cette requête un ordinateur doit avoir un démon bootpd qui tourne et correctement configuré, c'est-à-dire avoir une ligne dans le fichier de configuration de bootpd qui corresponde exactement à l'adresse Ethernet de la Station X.

Cette étape est requise pour les Station 120; une Station 130 peut être configurée statiquement pour contacter la machine qui stocke les fichiers de boot et de fonte. Cela peut être fait dans l'écran de paramétrage (setup) qui est accessible en pressant F12 pendant la procédure de démarrage. A ce moment là vous devez fournir toutes les informations de démarrage et IP (les informations sont stockées dans une mémoire RAM non volatile sur la Station X) et désactiver BOOTP. Par la suite nous supposerons que vous n'utilisez pas de configuration statique pour votre Station X 130.

bootpd est un démon habituellement situé dans /usr/sbin/booptd. Si vous ne pouvez pas le trouver à cet endroit ou à un endroit similaire vous devez récupérer une copie du programme sur l'Internet et suivre les instructions d'installation (cette partie n'est pas décrite ici).

Le fichier de configuration pour bootpd est /etc/bootptab. Vous devez insérer à cet endroit les informations concernant les Stations X que vous voulez gérer à partir de votre Linux. Un exemple de ce fichier figure juste en-dessous :


# déclaration des modèles
x_st_mgr.120:ht=ether:hd=/etc/x_st_mgr:bf=120:T170=2328:ds=131.114.8.144:gw=131.114.8.129:sm=255.255.255.0:

x_st_mgr.130:ht=ether:hd=/etc/x_st_mgr:bf=130:T170=2328:ds=131.114.8.144:gw=131.114.8.129:sm=255.255.255.0:

# Stations X
astr12pi.difi.unipi.it:tc=x_st_mgr.120:ha=08005A010F1A:ip=131.114.8.236:

astr13pi.difi.unipi.it:tc=x_st_mgr.130:ha=08005A010F33:ip=131.114.8.237:

Dans ce fichier il y a deux déclarations de modèles (c-à-d Station X 120 et Station X 130), avec les informations relatives aux fichiers de démarrage. Les noms des étiquettes sont expliquées ci-après :


#      hd   -- home directory - Répertoire racine
#      bf   -- bootfile - fichier de démarrage
#      sa   -- server IP address to tftp bootfile from
adresse IP du serveur tftp où aller chercher les fichiers de démarrage
#      gw   -- gateways - passerelles
#      ds   -- DNS - serveur de noms
#      ha   -- hardware address - Adresse MAC 
#      ht   -- hardware type - Type de matériel
#      ip   -- host IP address - Adresse IP de l'hôte
#      sm   -- subnet mask - masque de sous-réseau
#      tc   -- template host (points to similar host entry) - modèle d'un hôte. (pointe vers une entrée hôte similaire).
#      hn   -- name switch - paramètre du nom 
#      bs   -- boot image size - taille de l'image de boot.
#      dt   -- old style boot switch - option de démarrage à l'ancienne

Les autres lignes concernent la liste des Stations X gérées. Pour une Station X 120 une entrée standard commence par le nom de la Station X et se réfère à l'ériquette tc=x_st_mgr.120; L'étiquette ha doit correspondre à l'adresse Ethernet que vous avez noté précédemment et l'étiquette ip est le numéro IP correspondant à la Station X. Pour une Station X 130 changez l'étiquette tc en tc=x_st_mgr.130.

Le démon bootpd est démarré à partir du fichier /etc/inetd.conf en insérant la ligne :


bootps dgram   udp     wait    root    /usr/sbin/tcpd  bootpd

Vous pouvez tester votre configuration Linux de bootpd en tapant la commande :


kill -HUP `cat /var/run/inetd.pid`

et en allumant la Station X. Si la phase BOOTP s'est bien déroulée (c-à-d que le premier nombre sur la ligne TFTP augmente) le démon bootpd fonctionne correctement.

2.6 Le démon tftp

Maintenant votre Linux réponds avec succès aux requêtes de démarrage de la Station X, mais il n'est pas capable de fournir les fichiers que la Station demande. Pour permettre cela vous devez installer et configurer le démon tftp (Protocole Trivial de Transfert de Fichier). Le démon tftp se trouve habituellement en /usr/sbin/tftp et peur être démarré à partir de /etc/inetd.conf en insérant la ligne :


tftp   dgram   udp     wait    root    /usr/sbin/tcpd  in.tftpd /home/x_st_mgr /etc/x_st_mgr /usr/lpp/x_st_mgr

La configuration peut être testée en redémarrant inetd:


kill -HUP `cat /var/run/inetd.pid`

En allumant la Station X la séquence de démarrage doit être un succés et, après un court moment d'attente, apparaît sur l'écran un message comme celui-ci :


Copyright 1989, 1994   AGE Logic Inc.
All rights reserved,   Release 072594

et après une autre attente, l'écran devient gris avec le classique curseur en croix au milieu. L'interface X est maintenant fonctionnelle.

2.7 Le démon xdm

La dernière étape est de fournir un écran de connexion à la Station X. C'est le travail du démon xdm. Le démon xdm peut être démarré en indiquant le niveau d'exécution (runlevel) 5 dans /etc/inittab, c-à-d que dans ce fichier vous devez avoir la ligne :


id:5:initdefault:

Maintenant allez dans le répertoire /etc/X11/xdm. Si vous ne le faites pas l'interface démarre automatiquements sur la console, éditez alors le fichier Xservers et commentez la ligne:


:0 local /usr/X11R6/bin/X

Dans le même fichier ajoutez les lignes de toutes les Stations X définies auparavant, comme dans l'exemple:


astr12pi:0 foreign
astr13pi:0 foreign

Maintenant éditez le fichier xdm-config et insérez les lignes:


DisplayManager.astr12pi_0.setup:        /etc/X11/xdm/Xsetup_astr12pi_0
DisplayManager.astr12pi_0.startup:      /etc/X11/xdm/Xstart
DisplayManager.astr12pi_0.reset:        /etc/X11/xdm/Xstop

Xsetup_astr12pi_0 est une copie de Xsetup_0; Xstart et Xstop sont des liens vers GiveConsole et TakeConsole. Répétez cette opération pour toutes les Stations X définies.

La dernière opération est d'insérer une entrée crontab qui rafraîchie le démon xdm toutes les minutes. Cette étape est nécessaire pour gérer rapidement une Station X lorsqu'elle est allumée. En tant qu'utilisateur root tapez la commande :


crontab -e

et insérer la ligne:


* * * * *  kill -HUP `cat /var/log/xdm.pid`

Redémarrez la machine Linux et allumez les Stations X. Si tout se passe bien, les Stations X vont démarrer, lancer le serveur X et faire apparaitre la bannière de connexion.


Page suivante   Page précédente   Table des matières