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

1. Stations X et Linux

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

1.1 Introduction

Quelques années auparavant, une grappe UNIX typique était composée d'un serveur puissant et onéreux et d'un grand nombre de terminaux moins coûteux connectés à ce serveur.

Un exemple d'un tel terminal est la Station X IBM.

Le matériel de la Station X IBM comprend un écran, un clavier, une souris, un peu de RAM, et des connecteurs pour les câbles Ethernet. Puisqu'ils n'ont ni disque dur ni lecteur de disquettes, ils doivent obtenir leur système d'exploitation d'un hôte sur le réseau auxquels ils sont attachés.

Le but d'une Station X était de fournir un terminal optimisé pour X et les graphiques et connecté à un serveur puissant à moindre coût.

Les Stations X dépendent d'une station de travail IBM, comme RISC 6000, exécutant le système AIX. Le gestionnaire de Stations X, fourni avec ce système d'exploitation, contient le logiciel nécessaire aux Stations X pour booter depuis le réseau et exécuter l'interface X.

La gestion de plusieurs Stations X depuis un serveur RISC 6000 est un travail assez facile ; pouvons-nous faire la même chose à partir d'un poste Linux ? Les raisons principales de faire un tel travail sont les défauts matériels du serveur IBM alors que les stations RISC sont coûteuses (beaucoup plus qu'un PC).

Cet article montre comment configurer un poste Linux de manière à fournir à des Station X 120 et Station X 130 toutes les informations nécessaires pour booter et fonctionner correctement.

1.2 Configurer le poste Linux

Cinq étapes doivent être accomplies avant que vous puissiez démarrer une Station X à partir de Linux :

Inspectons chaque étape en détail :

1.3 Obtenir les fichiers de boot

Tous les fichiers de boot pour vos Stations X se trouvent dans les répertoires /etc/x_st_mgr et /usr/lpp/x_st_mgr de la sauvegarde d'installation d'AIX. Restaurez la sauvegarde sur votre poste Linux (par la suite nous présumons que vous avez restauré la sauvegarde dans les mêmes répertoires que l'installation d'AIX).

Vous n'avez pas besoin de tous les fichiers ; mais une installation minimale 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 loin
              /etc/x_st_mgr/bootfile3.cf          copie de 120.cf
              /usr/lpp/x_st_mgr/bin/bootfile3     fichier de boot pour la Station~X~120
              /usr/lpp/x_st_mgr/bin/x11xor3.out   serveur X
              /usr/lpp/x_st_mgr/bin/rgb.txt       base 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 loin
              /etc/x_st_mgr/bootfile4.cf          copie de 130.cf
              /usr/lpp/x_st_mgr/bin/bootfile4     fichier de boot pour la Station~X~130
              /usr/lpp/x_st_mgr/bin/x11xor4.out   serveur X
              /usr/lpp/x_st_mgr/bin/rgb.txt       base de description des couleurs
            

pour la Station X 130.

Le fichier 120.cf contient les noms des fichiers nécessaires à la Station X 120 durant le processus de boot. 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.

1.4 Installer les polices

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é les polices de l'installation d'AIX, placées dans /usr/lib/X11/fonts. Vous pouvez changer librement de répertoire d'installation, mais vous devez être logique.

1.5 Le démon bootp

Lorsqu'une Station X est mise en route, elle envoie sur le réseau son adresse Ethernet et une requête d'assistance pour accomplir le boot. Durant ce processus vous pouvez voir sur l'écran de la Station X un certain nombre d'informations, comme ci-desssous :


              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
            

La première de celles-ci est l'adresse matérielle Ethernet du terminal ; cette information sera nécessaire plus tard.

Au démarrage de la Station X le premier nombre de la ligne BOOTP commence à augmenter : la Station X envoie une requête d'aide sur le réseau. Pour répondre à cette requête un ordinateur doit exécuter un démon bootpd correctement configuré, c'est-à-dire avoir une ligne dans le fichier de configuration de bootpd comportant exactement l'adresse Ethernet de la Station X.

Cette étape est requise pour une Station X 120 ; une Station X 130 peut être configurée statiquement pour contacter la machine stockant les fichiers de boot et les polices. Ceci est fait dans les écrans de configuration accessibles en pressant F12 durant la procédure de boot. Vous devez fournir ici toutes les informations de boot et IP (les informations sont enregistrées dans une RAM Non Volatile (NVRAM) de la Station X) et dévalider BOOTP. Par la suite nous supposons que vous n'utilisez pas la configuration statique pour votre Station X 130.

Le démon bootpd est habituellement placé dans /usr/sbin/bootpd. Si vous ne pouvez pas le trouver à cet emplacement ou dans des emplacements similaires, vous devez obtenir une copie du programme depuis le net et suivre les instructions d'installation (cette partie n'est pas couverte ici).

Le fichier de configuration pour bootpd est /etc/bootptab. Vous devez y ajouter les informations concernant toutes vos Stations X que vous désirez gérer depuis votre poste Linux. Un exemple de ce fichier est :


              # declaration de types
              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:
            

Ce fichier comporte deux déclarations de type (Station X 120 et Station X 130), avec les informations relatives aux fichiers de boot correspondants. Les noms des marques sont expliquées ci-dessous :


              #      hd   -- répertoire personnel
              #      bf   -- fichier de boot
              #      sa   -- Adresse IP du serveur tftp pour fichier de boot
              #      gw   -- passerelles
              #      ds   -- DNS
              #      ha   -- adresse matérielle
              #      ht   -- type de matériel
              #      ip   -- adresse IP de l'hôte
              #      sm   -- masque de sous-réseau
              #      tc   -- hôte modèle (pointe vers une entrée d'hôte similaire)
              #      hn   -- name switch
              #      bs   -- Taille de l'image de boot
              #      dt   -- old style boot switch
            

Les lignes suivantes listent les Stations X gérées.

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 bootpd Linux en lançant la commande :


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

et en allumant la Station X. Si la phase BOOTP est passée (le premier nombre de la ligne TFTP augmente), alors le démon bootpd fonctionne correctement.

1.6 Le démon tftp

Maintenant, le poste Linux peut répondre correctement à la requête de boot de la Station X mais n'est pas capable de fournir les fichiers que la Station X demande. Pour accomplir cette étape, vous devez installer et configurer le démon tftp (Trivial File Transfer Protocol). Le démon tftp se trouve généralement dans /usr/sbin/tftp et peut être démarré à partir de /etc/inetd.conf en y 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 relançant inetd :


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

En allumant la Station X le processus de boot doit fonctionner et après un court instant apparaît sur l'écran de la Station X un message du style :


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

et après un instant supplémentaire l'écran devient gris avec un curseur en croix typique au milieu. L'interface X fonctionne alors.

1.7 Le démon xdm

La dernière étape est de fournir un masque de login à la Station X. C'est le travail du démon xdm. Le démon xdm peut être démarré en mettant le runlevel 5 dans le fichier /etc/inittab, c'est-à-dire que vous devez avoir la ligne :


              id:5:initdefault: 
          

Placez-vous maintenant dans le répertoire /etc/X11/xdm. Si vous ne voulez pas que l'interface xdm se lance automatiquement sur la console éditez le fichier Xservers et commentez la ligne :


              :0 local /usr/X11R6/bin/X
          

Dans le même fichier, ajoutez les noms de toutes les Stations X définies précédemment, comme dans cet exemple :


              astr12pi:0 foreign
              astr13pi:0 foreign
          

Éditez maintenant 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'ajouter une entrée crontab pour rafraîchir le démon xdm toutes les minutes. Cette étape est nécessaire pour gérer rapidement une Station X lorsqu'elle est démarrée. En tant que root, lancez la commande :


              crontab -e
          

et insérez la ligne :


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

dans le fichier /etc/crontab.

Redémarrez votre poste Linux et démarrez vos Stations X. Si tout se passe bien, les Stations X vont booter, démarrer le serveur X et montrer l'écran de login.

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

Traduction française de Philippe Martin.


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