BigLux non aux brevets logiciels
Présentation | Mal-voyants | glossaire | Contacts |
LAO ( en travaux IHM | Lecture | vocalisation | ) ressources | # |
[projet] | [wiki] |

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