4. Câbles, réseaux et daemons

Contenu de cette section

Cette section traite des configurations nécessaires du matériel et du logiciel pour réussir à connecter le TX à la machine Linux. Par convention, le TX est appelé "murmure" (parce qu'il ne fait pas de bruit) et la machine Linux hôte "nunux" (parce qu'elle est sous Linux). Ils font tout deux partie du domaine "grenouille" en France (.fr) (NdT : les noms et domaines ont été adaptés pour un usage en France :-)). Leurs numéros IP sont :


          192.168.13.1   pour  nunux.grenouille.fr   (la machine Linux)
          192.168.13.41  pour  murmure.grenouille.fr (le TX).

Notez que ceux-ci sont des numéros IP pour des systèmes isolés, non connectés à un réseau plus grand comme Internet, et qu'à ma connaissance il n'y a aucun domaine grenouille en France (mais ça ne saurait tarder). Nous supposerons qu'il n'y a aucune autre machine sur le réseau et que NFS n'est pas installé.

N.B. Si quelqu'un a utilisé NFS pour la connexion avec son TX, j'aimerais vivement le savoir.

4.1 Connexion physique

Ceci devrait être aussi facile que de brancher les câbles sur les deux machines. Notez que certains TXs ont deux entrées série qui ne peuvent fonctionner qu'à certaines vitesses si les deux sont utilisées en même temps. Vérifiez le manuel de votre TX pour les détails. Vous aurez besoin du numéro Ethernet du TX plus tard. Il est affiché dès l'allumage du TX même si aucune connexion n'est encore établie.

Dès que vous aurez les câbles en place, vous serez en mesure de tester le lien Ethernet. Après avoir allumé le TX, il devrait commencer par se plaindre que ses appels à l'aide à un bootpd et/ou un tftpd n'ont pas de réponse, et ensuite réalisera le lancement du système d'exploitation (généralement implanté dans la ROM du TX). Celui-ci inclut souvent une commande ping qui vous permettra de tester la connexion par Ethernet du TX à la machine Linux. Ne paniquez pas si cela ne fonctionne pas dans l'autre sens (la machine sous Linux tentant un ping sur le TX) car certains (rares) TX nécessitent d'avoir leur système d'exploitation complet pour être en mesure de répondre.

4.2 Configurer l'accès au réseau

La configuration de l'accès au réseau est traitée dans le Net2-HOWTO comme mentionné plus haut. Nous considèrerons ici que vous avez déjà TCP/IP tournant sans aucun problème sur votre machine. Le TX est désormais considéré comme un banal ordinateur connecté sur le même réseau. Vous devez vous assurer que la machine sous Linux comme le TX connaissent chacun le numéro IP de l'autre et que le réseau fonctionne.

Configuration de la machine sous Linux

L'information sur le TX doit être au minimum incluse dans les fichiers :

/etc/hosts

Ajoutez une ligne avec le numéro IP attribué au TX, comme par exemple :

                # /etc/hosts 
                #
                # adresse et nom de la machine. 
                # lprhost et loghost sont optionels
                #
                192.168.13.1    nunux.grenouille.fr nunux lprhost loghost

                # nouvelle ligne d'informations sur le TX
                192.168.13.41   murmure.grenouille.fr murmure

/etc/ethers

fournit une liste de numéros Ethernet avec les noms de machines correspondants. Cela ressemble à :

                04:03:e8:cc:0d:24     nunux
                0f:03:11:31:45:f1     murmure

                (eh oui, ces numeros Ethernet sont factices)

Vous aurez besoin de modifier d'autres fichiers suivant votre configuration, selon que vous utilisez named, routed, ou gated. Comme ce n'est pas mon cas, je serais reconnaissant si quelqu'un pouvait m'envoyer la liste des fichiers à modifier.

Vous devez ensuite relancer votre machine afin d'être certain que ces modifications soient prises en compte.

Configuration du terminal X

Cette configuration ne dépendant que du type de terminal X utilisé, reportez-vous au manuel de votre terminal X. Dans mon cas, le TX contient un fichier de configuration dans lequel je dois modifier les entrées :

        ip_host_table            192.168.13.1    nunux
        ip_host_table            192.168.13.1    nunux.grenouille.fr
        ip_host_table            192.168.13.41   murmure
        ip_host_table            192.168.13.41   murmure.grenouille.fr

        file_access_1            TFTP
        file_host_name_1         nunux.grenouille.fr
        file_path_1              /usr/local/xterm/cestici

        display_access_table     murmure
        display_access_table     nunux
        enable_access_control    YES

        xdmcp_server             nunux
        broadcast_address        192.168.13.255
        default_telnet_host      nunux

Notez que le TX charge ses fichiers par le réseau, en utilisant le protocole TFTP, dans le répertoire /usr/local/xterm/cestici, et qu'il comprend le protocole XDMCP (qui permet l'utilisation de xdm).

Vous devrez aussi modifier d'autres paramètres comme celui donnant la liste des polices. Vous pourrez ainsi utiliser celles déjà installées sous Linux. Dans mon cas, le fichier de configuration relatif aux polices est font..tbl et ressemble à :

        /usr/lib/X11/fonts/75dpi
        /usr/lib/X11/fonts/100dpi
        ...
        /usr/local/xterm/misc
        /usr/local/xterm/openlook

Ensuite, quand le TX démarrera sur la machine Linux, vous verrez la liste des polices qu'il aura réussi à charger.

Une autre chose dont vous aurez besoin est le "backing store". Ceci signifie que les parties de fenêtres recouvertes par d'autres ne seront pas stockées dans la RAM de la machine sous Linux mais dans celle du TX (ce qui fait gagner énormément en vitesse d'affichage). Consultez le manuel de votre TX pour de plus amples renseignements.

4.3 bootpd

Bootpd est le daemon qui reste à l'écoute des appels à l'aide de vos terminaux X, et qui leur répondra en leur disant qui ils sont, et où ils vont pouvoir trouver les logiciels qu'ils doivent télécharger. Pour d'étranges raisons, bootpd n'est pas inclus dans certaines distributions comme la Slackware 2.2.0.1. Il vous faudra donc le récupérer sur un serveur FTP ou autre. Il doit être placé dans /usr/sbin/ (et non dans /etc, contrairement à ce qu'indique dans la page de manuel) sous le nom in.bootpd. Ajoutez ou décommentez la ligne suivante dans le fichier /etc/inetd.conf :

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

et relancez inetd par :

        kill -HUP `ps -aexu | grep inetd | grep -v grep`

Ceci permettra ensuite à inetd de lancer bootpd si une requête de démarrage est détectée.

Le fichier de configuration de bootpd est /etc/bootpd. La syntaxe est expliquée dans le manuel en ligne. Dans notre exemple, le fichier /etc/bootpd ressemble à ("serveur" est de nouveau utilisé dans le sens classique du terme) :

       #
       # Exemple de fichier /etc/bootpd
       #
       # Entree utilisee par l'ensemble des terminaux
       #
       allhost:hd=/usr/local/xterm/cestici:\   # Repertoire pere contenant
le logiciel du TX
             :ds=192.168.13.1:\                # Serveur de noms du domaine
             :sm=255.255.255.0:\               # Masque de sous-reseau
             :gw=192.168.13.1:\                # Passerelles
             :ts=192.168.13.1:\                # Serveurs d'heure
             :lp=192.168.13.1:\                # Serveurs d'impression
             :to=-7200:                        # Decalage d'heure (en secondes)
       #
       # Ensuite, les descriptions pour chaque client. 
       # 
       murmure:ht=ethernet:\         # Type du lien physique
              :ha=0f03113145f1:\     # Numero Ethernet du terminal X
              :ip=192.168.13.41:\    # numero IP du terminal X (murmure)
              :tc=allhost:\          # 
              :bf=xtermOS:           # Nom du fichier contenant l'OS du TX

Dans notre exemple, le TX va charger son système d'exploitation à partir du fichier xtermOS (entrée bf) contenu dans le répertoire /usr/local/xterm/cestici (entrée hd).

bootpd va tracer les informations sur les différents lancements dans les fichiers /var/adm/syslog et /var/adm/messages (voir configuration du fichier /etc/syslog.conf). Un démarrage réussi donnera :

       Jul 17 05:19:42 nunux in.bootpd[110]: connect from 0.0.0.0
       Jul 17 05:19:42 nunux bootpd[110]: reading "/etc/bootptab"
       Jul 17 05:19:42 nunux bootpd[110]: read 2 entries from "/etc/bootptab"
       Jul 17 05:19:43 nunux bootpd[110]: request from hardware address
0F03113145F1 Type 1
       Jul 17 05:19:43 nunux bootpd[110]: found 192.168.13.41 murmure

Après avoir aidé le TX à démarrer, bootpd va continuer à tourner dans l'attente d'autres appels à l'aide durant environ quinze minutes, puis se terminer si aucun travail supplémentaire n'est requis.

4.4 tftpd

Le protocol trivial de transfert de fichier (TFTP) est utilisé par le terminal X pour charger son système d'exploitation depuis le disque dur du serveur de démarrage. Il devrait être inclus dans toutes les distributions et ne possède aucun fichier de configuration. Vous pouvez tester tftp en tapant la commande tftp.

Comme avec bootpd, vous devrez ajouter ou décommenter la ligne suivante dans le fichier /etc/inetd.conf :

       tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd

et relancer inetd par :

        kill -HUP `ps -aexu | grep inetd | grep -b grep`

Remarquez que tftp ne peut accéder qu'aux fichiers ayant un droit en lecture pour tout le monde. Il faut aussi remarquer que tftp est un trou de sécurité potentiel que vous devez garder à l'esprit (c'est pourquoi il est bon de vérifier quels sont les fichiers ayant des droits en lecture universels sur son système, ou de faire un chroot de tptfd à l'aide du TCP-wrapper /usr/sbin/tcpd). La version de tftp incluse dans certains paquetages de Linux ne contient pas les options "-r" ou "-s" permettant une utilisation sécurisée.

tftp renvoie aussi des messages système dans le fichier /var/adm/messages. Si le lancement est réussi, des lignes de ce genre apparaissent :

       Jul 17 05:19:43 nunux in.tftpd[111]: connect from murmure
       Jul 17 05:19:58 nunux in.tftpd[113]: connect from murmure
       Jul 17 05:19:59 nunux in.tftpd[115]: connect from murmure
       Jul 17 05:20:00 nunux in.tftpd[117]: connect from murmure
       etc...

Cela montre que le TX charge les fichiers dont il a besoin dans le répertoire situé sur le serveur Linux. Des messages doivent apparaître sur le TX au fur et à mesure du chargement.

4.5 Test de la connexion

Une fois que vous aurez modifié les fichiers ci-dessus, vous devriez être prêt à démarrer le TX. Suivant le constructeur, des messages plus ou moins explicites doivent apparaître. Faites attention aux messages indiquant une erreur au chargement d'un fichier.

Si tout va bien, on devriez en arriver au stade où le TX lance sa propre version de X. On a alors un fond gris et un curseur en croix. Si vous avez déjà lancé xdm, vous devriez même avoir la fenêtre de login xdm. Il se peut que des choses bizarres apparaissent si certains champs de la configuration de xdm ne sont pas corrects. Préparez-vous à tuer xdm en tant que root en ultime recours.

La plupart des terminaux X ont des fonctionalités intégrées, comme un client telnet, dans le système d'exploitation chargé au démarrage. Cela vous permet alors de tester la connexion en faisant un telnet vers le serveur ou une autre machine.

Vous pouvez désormais lancer des programmes X sur le terminal X en utilisant l'option display. Par exemple :

                      xclock -display murmure:0 &
doit faire apparaître l'horloge "xclock" sur votre TX.

Vous pouvez même (et c'est d'ailleurs recommandé) lancer un gestionnaire de fenêtres tel que fvwm de la même manière.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre