Guide pratique Linux du T-1500 de Compaq

Version française du guide pratique CompaqT1500-Linux HOWTO

Auteur : Thomas Chiverton

Adaptation française: Laurent Vazelle

Relecture de la version française: Prénom Nom

Historique des versions
Version 1.01.fr.1.02004-04-14LV,XX
Première adaptation française
Version 1.012002-03-17gea
Conversion au format Docbook
Version 1.02002-03-11tjc
Mise à jour LDP
Version 0.852001-12-13tjc
Conseils de Sécurité. XFree.
Version 0.82001-12-13tjc
Correction des problèmes de transfert du Kernel (NFS null). Amélioration Général.
Version 0.72001-09-11tjc
Ajout de notes concernant le flashage et le montage
Version 0.612001-08-20tjc
Notes sur le décompactage de debian. Ajout d'URL. Notes sur le reflashage
Version 0.62001-07-28tjc
Ajoute l'exemple de sortie syslog. Ajout dans les changements sur
Version 0.52001-07-28tjc
Mise à jour initial pour les retours, commentaires de la communauté

Résumé

Décrit les procédures et outils nécessaire pour démarrer le Compaq T1500 en utilisant un boot réseaux de l'ensemble du système de fichier natif et une installation Linux générique.


Table des matières

1. Au sujet de ce guide
1.1. But et portée
1.2. Dernière mise à jour
1.3. Commentaires
2. Introduction
3. La solution Compaq
4. La seule voie
5. Edité l'image FLASH et les autres outils
5.1. Edité l'image Flash
5.2. Mounté la FLASH
6. XFree86
7. Dépannage
7.1. problème de transfert de kernel intermittent (NFS null)
8. Projets en suspend
9. Contributions et remerciements

1. Au sujet de ce guide

1.1. But et portée

Ce document est à destination de Linuxien enthousiaste avec un niveau de connaissance moyen. En particulier, vous serez heureux de configurer, redémarrer (ou installer) de nouveaux services. Vous aurez besoin d'un serveur Linux et (bien sur) un T1500.

1.2. Dernière mise à jour

La dernière copie en date de ce document peut être trouver sur www.compsoc.man.ac.uk/~falken/T1500/

1.3. Commentaires

Commentaires et retour d'informations doivent être retourner à l'auteur en tête de ce document.

2. Introduction

Le T1500 est un Linux basé sur un client Linux léger sans disque dur, capable de démarrer sur sa memoire FLASH d'un serveur X. Il va obtenir ses information TCP/IP d'un DHCP et inclus le service telnet et un navigateur Web. Dans cette configuration, le T1500 est utilisable comme un petit périphérique d'accès Internet.Toutefois, le T1500 peut aussi travailler comme un client léger et acquérir son kernel initial et son système de fichier racine d'une machine distante ( Pour cela, il utilise 'TFTP' pour la première partie et 'NFS' pour le reste). Compaq fournit un CD avec un image du kernel et le système de fichier racine ainsi que les outils de management bien que ces outils ne soient pas nécessaire et qu'il pose des problèmes sur quelques machines. Cela sera discuter dans le chapitre « la solution Compaq ».

Il est aussi possible d'utiliser le kernel Compaq pour demarrer une distribution basé sur un Linux classique. Nous utiliserons la distribution Debian comme exemple, mais le processus est le même et discuté dans le chapitre 'La seule solution'.

Nous devons posseder: Un serrveur DNS fonctionnel sur 192.168.1.1 (Maitre) et cette machine doit être fonctionnel Un kernel et son système de fichier Le T1500 est configurer avec l'adresse 192.168.1.52. (Esclave) Le domaine est 'house'. Aucune route spéciale n'est nécessaire. Dans cette exemple, un serveur RedHat sera utilisé mais les particularités devraient s'appliquer à n'importe quel système basé sur GNU.

3. La solution Compaq

Créer le répertoire pour le kernel et le système de fichier sur votre serveur, insérer le disque et copier les fichiers du CDROM Compaq. Decompresser le fichier système:

mkdir /exports/T1500 
mkdir /exports/T1500/root 
mkdir /exports/T1500/tftpboot  
mount /cdrom
cp /cdrom/product/vmlinux /exports/T1500/tftpboot
cd /exports/T1500/root
tar xvf /cdrom/product/netboot.tar

Configurer DHCP en ajoutant une section comme celle ci à votre /etc/dhcpd.conf

Changer l'adresse ethernet comme cela de votre T1500.

group {
   #little black box
   host esclave {
   	 hardware ethernet 00:80:64:10:1d:1c;
     fixed-address esclave.house;
     option host-name "esclave";
     server-name "192.168.1.1";
     filename "/exports/T1500/tftpboot/vmlinux";
     option root-path "192.168.1.1:/exports/T1500/root";
     }
   }

Configurer une nouvelle machine dans le DNS

db.192.168.1.1:
52 in ptr esclave.

db.house:
   esclave in a 192.168.1.52

Exporter le système de fichier racie en ajoutant

/exports/T1500/root esclave(rw,no_root_squash)

dans

/etc/exports

Configurer tftp en ajoutant/modifiant la ligne de /etc/inetd.conf

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

Maintenant redémarrer inetd,dhcpd,nfs et named Selectioner l'option 'Démarrage réseau' sur le T1500 et redémarrer. Le T1500 doit maintenant démarrer sur quelque chose très similaire à son OS normal. Vous pouvez vouloir ajouter

exec /nor/Xbin/xterm &

comme avant dernière ligne dans

/exports/T1500/root/root/.xinitrc

et vous déconnecter et au retour vous obtiendrez une session xterm.

4. La seule voie

Nous utilisons la mise à jour debian 'potato' (2.2) comme exemple. La procédure devrait être similaire quelque soit la distribution que vous choisirez, permettant d'exécuter une version du kernel 2.0.35.

Créer le répertoire pour le kernel et le système de fichier sur votre serveur, insérer le disque et copier les fichiers du CDROM Compaq. Décompresser le système de fichier (Ici j'utilise quelque fichier compressé pré fabriqué de la mise à jour Debian, inutile d'en dire davantage):

mkdir /exports/T1500 
mkdir /exports/T1500/root 
mkdir /exports/T1500/tftpboot
mount /cdrom
cp /cdrom/product/vmlinux /exports/T1500/tftpboot
CD /exports/T1500/root
tar zxvf /tmp/base2_2.tgz 
tar zxvf /tmp/telnetd*.tgz

Configurer DHCP en ajoutant une section comme celle-ci à votre /etc/dhcpd.conf Changer l'adresse ethernet comme cela de votre T1500.

Group {
   #little black box
   host esclave {
   	 hardware ethernet 00:80:64:10:1d:1c;
     fixed-address esclave.house;
     option host-name "esclave";
     server-name "192.168.1.1";
     filename "/exports/T1500/tftpboot/vmlinux";
     option root-path "192.168.1.1:/exports/T1500/root";
     }
   }

Configurer une novelle machine dans le DNS

db.192.168.1.1:
   52 in ptr esclave.
db.house:
   esclave in a 192.168.1.52

Exporter le système de fichier racine en ajoutant

/exports/T1500/root esclave(rw,no_root_squash)

to /etc/exports

Configuré tftp en ajoutant/modifiant la ligne dans /etc/inetd.conf

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

Maintenant redémarrer inetd,dhcpd,nfs et named

Configuré le système de fichier en définissant le mot de passe root à 'pass' expose telnetd

/exports/T1500/root/etc/passwd, alter 1st line: root:Z/U2u32VhNJoA:0:0:,,,:/root:/bin/bash

/exports/T1500/root/etc/inetd.conf, add: telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

ajouter les terminaux distants dans /etc/securetty pour autorise les accès distant de root.

tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
tty12
ttyp0
ttyp1
ttyp2
ttyp3

Selectionnez le démarrage réseau sur le T1500 et redémarrer le.

Une fois qu'il a démarrer, vous devriez être capable d'effectuer un telnet sur le T1500. A ce moment, vous devez configurer SSH et fermer le trou de sécurité de telnet dans inetd.

5. Edité l'image FLASH et les autres outils

5.1. Edité l'image Flash

Le T1500 est fourni avec un utilitaire appelle 'makeflash' (lequel se trouve dans /sbin et est aussi fourni sur le CD). Vous pouvez l'utiliser pour générer une image système flash d'un fichier tar.gz, lequel peut être soit local ou un fichier NFS/SMB. Cet utilitaire génère tous les contrôle de parité nécessaire aussi.

1. Flashé avec une image Slackware 8.0 ne fonctionne pas même avec un bon contrôle de parité calculé. Cela me suggère qu'il y a un contrôle de parité sur vmlinux lui-même.

2. Après avoir disséqué les fichiers leo.boot et vmlinux fournis avec l'unité, je soupconne que leo.boot vérifie vmlinux pour la chaine "xxxxyyyyWYSEwysexxxx" laquelle est comme il convient incluse dans le kernel personnalisé qu'ils utilisent.

3. Leo.boot est en fait un objet relatif à Win CE avec un verrouillage bizarre pour autoriser le démarrage de linux. Le Win CE leo.boot normal est environ de la moitié de la taille. Il utilise le protocole Eboot pour l'ensemble de la programmation flash des port ethernet et parallèle. Il y a quelques outils libres Linux disponible pour formatter des images correctement en replacement de leo.boot et aussi des images d'OS mais ils dépendent de la fourniture d'une version objet compilé approprié de la rom de boot.

Faites très attention quand vous les exécutez - Il est possible de flasher des choses inappropriées faisant que la seule façon de demarrer désormais est d'utiliser l'utilitaire Wyse-provided DOS ou le setup par cable laplink.

Aussi, si quelqu'un arrive à obtenir le lancement de makeflash running quelque chose qui n'est pas un terminal, pouvez-vous me le faire savoir? En fait, il essayait de lier avec de vieilles glibc et libforms.Vous devez être capable de mettre à jour votre flash T1500 plusieurs centaines de fois.

Apparament le T1500 est un Wyse WT3X15 basé sur ce qu'il appelle un 'Carte Leo'. Vous pouvez télécharger l'utilitaire de reflashage DOS et quelques documentations pour lui du site Web UK Wyse dans la page support utilisateur, rubrique firmare. Il requiert un cable laplink parrallèle.

5.2. Mounté la FLASH

Après avoir exécuter la commande mknod ci dessous, vous pouvez alors monter/dev/fnand et /dev/fnand1 lesquels sont des partitions flashfs de 16 Mo. Vous pouvez aussi monter /dev/fram et l'écrire, toutefois les données disparaissent après un démontage & remonttage. Il peut être utilisé comme espace de swap.

mknod /dev/fcard b 63 0
mknod /dev/fcard.fmt b 63 128
mknod /dev/fcard1 b 63 1
mknod /dev/fcard1.fmt b 63 129
mknod /dev/fnand b 62 0
mknod /dev/fnand.fmt b 62 128
mknod /dev/fnand1 b 62 2
mknod /dev/fnand1.fmt b 62 120
mknod /dev/fnor b 65 0
mknod /dev/fnor.2m b 65 128
mknod /dev/fram b 64 128

6. XFree86

Pour démarrer sur XFree86, récupérer et installer les paquets XFree normaux. Récupérer et installer le fichier XF86Config de http://www.compsoc.man.ac.uk/~falken/T1500/XF86Config. Utilisez une ligne comme

xinit -- -bpp 16 &

dans rc.local (ou l'équivalent de votre distribution) pour le demarrer automatiquement. Pour faire mieux et exécuter X comme un utilisateur, créer l'utilisateur et utiliser quelque chose comme ci dessous pour le démarrer et l'arreter (J'ai mis cela dans le répertoire init.d et l'ai lié dans rc.4). Change 'mplayer' sur la ligne 5 pour le nom de votre utilisateur.

#! /bin/sh 
case "$1" in 
start)
	echo -n "Automatically logging into X" 
	su -c 'cd ~mplayer && xinit -- -bpp 16' - mplayer & 
	echo "." 
	;; 
stop|restart) 
	;; 
*)    
	echo "Usage: /etc/init.d/mplayer {start|stop|restart}" 
	exit 1 
esac 

exit 0

7. Dépannage

Le fichier d'enregistrement serveur (/var/log/messages) doit contenir des entrées sur le processus de démarrage et notamment doit contenir des entrées sur les transferts TFTP, les montages NFS, etc. Si non, ajouter

*.* /var/log/messages

à

/etc/syslogd.conf

et redémarrer syslog

tcpdump vous autorise à voir quels paquets ont été transférés et leurs noms de fichiers NFS.

 tcpdump -i eth0 -s 500 host esclave

Votre sortie de syslog devrait ressembler à cela:

Jul 24 21:37:00 maitre dhcpd: DHCPDISCOVER de 00:80:64:10:1d:1c via eth0
Jul 24 21:37:00 maitre dhcpd: DHCPOFFER de 192.168.1.52 vers 00:80:64:10:1d:1c    via eth0
Jul 24 21:37:04 maitre dhcpd: DHCPREQUEST de 192.168.1.52 vers 00:80:64:10:1d:1c    via eth0
Jul 24 21:37:04 maitre dhcpd: DHCPACK de 192.168.1.52 à 00:80:64:10:1d:1c    via eth0
Jul 24 21:37:04 maitre tftpd[5003]: tftpd: trying to get file: /exports/T1500/tftpboot/vmlinux
Jul 24 21:37:24 maitre mountd[4853]: authenticated mount request from esclave:600

Votre tcpdump output devrait être vu comme (quand il est suspendu):

17:31:41.450000 esclave.8022008 > maitre.nfs: 116 lookup fh Unknown/1 "initctl"
17:31:41.450000 maitre.nfs > esclave.8022008: reply ok 128 lookup fh Unknown/1

7.1. problème de transfert de kernel intermittent (NFS null)

Il y a un problème connu qui parfois entraîne que le T1500 n'arrive pas à redémarrer, apparamment parce qu'il n'arrive pas avec tftp à charger le kernel après le redémarrage. Un tcpdump de ce qui arrive devrait ressembler à:

12:04:38.506153 box.2049 > maitre.house.tftp: 39 RRQ "/exports/T1500/tftpboot/vmlinux"    
12:04:38.556153 maitre.house.1199 > esclave.2049: udp 516 
12:04:38.556153 esclave.2049 > maitre.house.1199: udp 4 
12:04:38.556153 maitre.house.196610 > esclave.nfs: 516 null 
12:04:38.556153 escalve.2049 > maitre.house.1199:    udp 4 
12:04:38.556153 maitre.house.196611 > escalve.nfs: 516 null 
12:04:38.556153 escalve.2049 > maitre.house.1199: udp 4 
12:04:38.556153 maitre.house.196612 > esclave.nfs: 516 null 
12:04:38.556153 esclave.2049 > maitre.house.1199:    udp 4 
12:04:38.566153 maitre.house.196613 > esclave.nfs: 516 null 
12:04:38.566153 esclave.2049 > maitre.house.1199: udp 4 
12:04:38.566153 maitre.house.196614 > esclave.nfs: 516 null 
12:04:38.566153 esclave.2049 > maitre.house.1199:    udp 4 
12:04:38.566153 maitre.house.196615 > esclave.nfs: 516 null

Vous devriez alors voir une entrée syslog du tftp indiquant qu'il envoie le kernel mais aucun paquet n'est echanger. Les requetes ARP sont sans réponse.

Cela peut être résolu mais c'est une galère. Connecter un écran, clavier et souris si elles sont non présente. Redémarrer le T1500 et pressez lma touche 'L' après le premier beep. Le T1500 va maintenant demarrer. Changer le mode de démarrage à 'Local' (Démarrage->Menu Système) et redémarrer. Changé le mode de démarrage en revenant sur 'Réseaux'

8. Projets en suspend

Editer / reflashage de la FLASH

L'usage du PCMCIA - probablement nécessaire la prochaine fois :-)

Kernel personnalisé (Un chargeur TFTP vérifiant le controle de parité / la chaine WYSE)

Console en mode Texte

SSH / SSHd / gcc pour les systèmes de fichiers Compaq (doit être facile à copier une fois compilé un FS personnalisé)

9. Contributions et remerciements

[Incomplet, nom réel nécessaire aussi]

Cez

John Topper

Grapham Wood

Mike Sparks

James Mulcahy