Construction de bigletom
Cette page décrit la méthode utilisée pour mettre en oeuvre le support des tablettes braille sur la disquette de boot Tom's RTBT de Tom Oehser, Tom@Toms.NET.
La Tom's se trouve à http://www.toms.net/rb/
Avant que ce paquet devienne la version beta 0.01 de la "bigletom RTBT", il
faudrait qu'il y ait quelques retours positifs, je n'ai pas de tablette : )
Considérez ceci comme un micro-HOWTO "Brltty pour la Tom's RTBT".
NOTE IMPORTANTE : La fabrication de ce paquet ne fait appel à aucune modification de code source. Les sources des paquets utilisés sont disponibles sur les sites donnés en lien.
Le package bigletomrtbt-1.7.367.tar.gz est une version française (clavier azerty), qui inclut le support Visiobraille. Il se trouve à http://mrmarco.free.fr/bigletomrtbt-1.7.367.tar.gz.
Le package bigletomrtbt-1.7.365.tar.gz est une version anglaise (clavier qwerty), qui inclut le support Visiobraille. Il se trouve à http://mrmarco.free.fr/bigletomrtbt-1.7.365.tar.gz.
Prérequis
Le noyau doit inclure les supports minix et loopback.
Récupération des éléments
Les paquetages suivants sont nécessaires :
libc5
C'est la version de la libc utilisée par la tomsrtbt. Comme il n'est pas
envisageable de charger deux versions de la libc sur une disquette, brltty doit
être compilé avec cette version. Si ce n'est pas la version de la machine
hôte, il faut la récupérer et l'installer.
tomsrtbt
Homepage de Tomsrtbt.
brltty
Homepage de brltty.
Décompactage
Pour simplifier l'adaptation de la procédure, nous définissons quelques
variables, ainsi les commandes données pourront être copiées directement et
indépendament de la distribution ou de la version des programmes.
export VERS_TOM="1.7.361"
export VERS_BRLTTY="2.98"
export REP_BASE="~/bigletom"
export PATH_LIBC5="/usr/i486-linuxlibc1/bin" (Debian)
export PATH_LIBC5="/usr/i486-linux-libc5/lib" (Mandrake)
libc5
Debian (versions 2.x)
apt-get install libc5-dev libc5-altdev altgcc libdl1-altdev ldso
Mandrake (version 8.0)
rpm --rebuild libc5.3.12-35mdk.src.rpm
cd /usr/src/RPM/RPMS/i586
rpm -ivh libc5.3.12-35mdk.i586.rpm
tomsrtbt
tar xzvf tomsrtbt.$VERS_TOM.tar.gz
cd tomsrtbt.$VERS_TOM
./unpack.s tomsrtbt.raw ce qui crée le répertoire
tomsrtbt.$VERS_TOM.unpacked. Cette commande doit être exécutée avec les
droits sur mount (j'ai été incapable de le faire sans être root, la commande mount avec deux arguments étant toujours rejetée avec un autre utilisateur)
cd ..
brltty
tar xzvf brltty.$VERS_BRLTTY.tar.gz
Configuration de brltty
cd brltty-$VERS_BRLTTY
Il faut éditer le Makefile pour inclure le support de la tablette souhaitée (champ BRL_TARGETS. Le
support de toutes les tablettes n'est pas possible pour le moment, elle devrait l'être dans les toutes prochaines versions de brltty) ...Ici,
c'est la tablette Visiobraille qui est choisie. Puis mettre le support par
défaut de la table en français.
Pour cela, remplacer TEXTTRANS = text.us.tbl par TEXTTRANS = text.french.tbl
Voir le répertoire BrailleTables pour les autres tables disponibles.
Note : Pour supporter la tablette de Nathalie, la taille de la tablette est mise
à 20 dans brltty-2.98/VisioBraille/brlconf.h.
Compilation de brltty contre la libc5
PATH=$PATH_LIBC5:$PATH make
Cela crée les exécutables scrtest,brltest et brltty que l'on copie ensuite sous
tomsrtbt.x.y.zzz.unpacked.
cp scrtest ../tomsrtbt-$VERS_TOM/tomsrtbt-$VERS_TOM.unpacked/2/usr/bin
cp brlttest ../tomsrtbt-$VERS_TOM/tomsrtbt-$VERS_TOM.unpacked/2/usr/bin
cp brltty ../tomsrtbt-$VERS_TOM/tomsrtbt-$VERS_TOM.unpacked/2/bin
cd ../tomsrtbt-$VERS_TOM/tomsrtbt-$VERS_TOM.unpacked/2/usr/bin
chown brltest --reference=busybox
chown scrtest --reference=busybox
cd ../../sbin
chown brltty --reference=sh
On a aussi à créer le répertoire de configuration de brltty et installer les descriptions des tables :
cd ../../
mkdir 2/etc/brltty/
cd ../../../brltty-2.98
install -m 644 BrailleTables/*.tbl ../tomsrtbt-$VERS_TOM/tomsrtbt-$VERS_TOM.unpacked/2/etc/brltty
On compile dans bootdisks le fichier init.c
cd bootdisk
PATH=$PATH_LIBC5:$PATH gcc -o init -s init.c
info gcc : "-s remove all symbol table and relocation information from the executable."
Cet init lance brltty avant de passer la main à real_init
Installation de brltty dans tomsrtbt
On échange d'abord les deux init :
cd ../../tomsrtbt-$VERS_TOM/tomrtbt-$VERS_TOM.unpacked
mv 2/bin/init 2/bin/real_init
cp ../../brltty-$VERS_BRLTTY/bootdisks/init 2/bin/init
Faire le chown approprié pour des raisons esthétiques (uniquement?)
On enlève des binaires suivants de la tom's pour faire de la place (Il y a déjà
vi...) :
cd 2/usr/bin
rm view elvis ex emacs
cd ../man
rm elvis emacs
cd ../..
Enfin, brltty fait appel à la libdl.so.1 (qui provient du paquet ldso) en plus de la libc. Il faut donc la fournir.
cp /lib/libdl.so.1.9.11 lib/libdl.so.1
Sélection du clavier français
décompresser le fichier rc.custom.gz
cd ../1
gunzip rc.custom.gz
remplacer
sh<<'X'&
cat /usr/lib/key.lst
read -p "
Select keyboard, ENTER for default (15 seconds): " J/dev/tty1 [ "$J" ]&&loadkmap
/usr/lib/key/$J.map
par
loadkmap /usr/lib/key/16.map
(loadkmap /usr/lib/key/41.map pour l'anglais)
Et enlever le X qui est à une des lignes suivantes.
recompresser le fichier
gzip rc.custom
Création du device pour brltty
On crée ensuite le device vcsa0 avec les bons paramètres.
Ce device est celui utilisé par brltty.
mknod -m o= 2/dev/vcsa0 c 7 128
(Here, dont ask : )
Contruction de la disquette
Prendre soin d'effacer les fichiers de sauvegarde automatique si votre éditeur
favori en crée automatiquement (l'espace est rare sur la tomsrtbt).
Copier buildit.s dans le répertoire "unpacked" à partir du répertoire supérieur et l'éditer
\rm -r *~ *.bak
cp ../buildit.s .
Mettre le timeout à 0, remplacer vga=ask par vga=normal, et enlever la ligne "prompt" qui suit.
./buildit.s
Ca crée le tar.gz et le répertoire tomsrtbt-x.yy.zzz.
Placer une disquette vierge dans le lecteur.
cd tomsrtbt-$VERS_TOM
./install.s
Crée la disquette de boot.
Un certain nombre de petites modifications supplémentaires ont été effectuées
sur les fichiers de script (.s) et le fichier rc.custom.gz pour faire la
version distribuée (remplacement de tomsrtbt par bigletomrtbt pour en permettre
l'autoconstruction et francisation du message d'accueil pour indiquer la
langue). diff est votre ami.
Crédits : je suis interessé dans ce petit projet
depuis la rencontre de l'équipe biglux du LUG de Toulouse,
le Culte .
Un merci particulier à Nath, la première testeuse.
Importantes contributions : Philippe Coulonges
Copyright © Marc Bianciotto 2001
Date de dernière modification: 2003-04-26.