Une mise en oeuvre correcte d'AX.25 dans votre système Linux nécessite l'installation et la configuration d'un noyau approprié ainsi que des utilitaires AX.25.
Si vous êtes un habitué de la compilation du noyau Linux, contentez-vous de vérifier que vous avez activé les options adéquates et sautez cette section. Si ce n'est pas le cas, lisez ce qui suit.
En principe, les sources du noyau sont décompactées au niveau du répertoire
/usr/src
dans un sous-répertoire nommé linux
. Pour ce faire,
prenez l'identité du super-utilisateur root
et exécutez les
commandes ci-dessous :
# mv linux linux.old
# cd /usr/src
# tar xvfz linux-2.0.31.tar.gz
# tar xvfz /pub/net/ax25/ax25-module-14e.tar.gz
# patch -p0 </usr/src/ax25-module-14/ax25-2.0.31-2.1.47-2.diff
# cd linux
Une fois les sources du noyau décompactées et la mise à jour appliquée, lancez le script de configuration et activez les options qui correspondent à la configuration matérielle dont vous souhaitez disposer. Vous utiliserez la commande :
# make menuconfig
Si vous êtes bête^H^H^H^Hcourageux, vous pouvez essayer
# make config
Les claviophobes se serviront de :
# make xconfig
Je vais décrire la méthode plein-écran (menuconfig) dont j'apprécie la facilité de déplacement mais vous êtes libre d'en utiliser une autre.
Dans tous les cas, vous devrez choisir parmi une série d'options auxquelles il faudra répondre par `Y' ou `N' (voire `M' si vous avez recours aux modules, ce sur quoi je fais l'impasse pour simplifier).
Options importantes pour la configuration d'AX.25 :
Code maturity level options ---> ... [*] Prompt for development and/or incomplete code/drivers ... General setup ---> ... [*] Networking support ... Networking options ---> ... [*] TCP/IP networking [?] IP: forwarding/gatewaying ... [?] IP: tunneling ... [?] IP: Allow large windows (not recommended if <16Mb of memory) ... [*] Amateur Radio AX.25 Level 2 [?] Amateur Radio NET/ROM [?] Amateur Radio X.25 PLP (Rose) ... Network device support ---> [*] Network device support ... [*] Radio network interfaces [?] BAYCOM ser12 and par96 driver for AX.25 [?] Soundcard modem driver for AX.25 [?] Soundmodem support for Soundblaster and compatible cards [?] Soundmodem support for WSS and Crystal cards [?] Soundmodem support for 1200 baud AFSK modulation [?] Soundmodem support for 4800 baud HAPN-1 modulation [?] Soundmodem support for 9600 baud FSK G3RUH modulation [?] Serial port KISS driver for AX.25 [?] BPQ Ethernet driver for AX.25 [?] Gracilis PackeTwin support for AX.25 [?] Ottawa PI and PI/2 support for AX.25 [?] Z8530 SCC KISS emulation driver for AX.25 ...Vous devez répondre `Y' aux options marquées d'un
*
'. Le reste
dépend de votre configuration matérielle et d'options laissées à votre choix.
Certaines de ces options sont décrites un peu plus loin. Si vous ne voyez pas
ce dont il retourne, continuez la lecture et revenez à cette section
ultérieurement.
Une fois la configuration du noyau achevée, vous devriez pouvoir compiler proprement un nouveau noyau :
# make dep
# make clean
# make zImage
Déplacez ensuite le fichier arch/i386/boot/zImage
et éditez le
fichier /etc/lilo.conf
en conséquence avant de relancer lilo
pour être sûr que vous démarrerez bien sur le bon noyau.
Je vous recommande de ne pas compiler quelque pilote que ce soit en tant que module. Dans presque toutes les installations, vous n'y gagnez rien sinon une complexité accrue. De nombreuses personnes ont des problèmes avec les modules, non par la faute du code, mais parce que les modules sont plus compliqués à installer et à configurer. [NdT:manifestement nous ne faisons pas le même arbitrage complexité/souplesse]
Si vous avez choisi de compiler certains composants en tant que modules, vous devrez également utiliser :
# make modules
# make modules_install
afin d'installer vos modules à l'emplacement adéquat.
Certains ajouts au fichier /etc/conf.modules
sont nécessaires afin
que kerneld sache gérer l'interface d'accès aux fonctions modularisées.
Les entrées suivantes doivent être présentes :
alias net-pf-3 ax25
alias net-pf-6 netrom
alias net-pf-11 rose
alias tty-ldisc-1 slip
alias tty-ldisc-3 ppp
alias tty-ldisc-5 mkiss
alias bc0 baycom
alias nr0 netrom
alias pi0a pi2
alias pt0a pt
alias scc0 optoscc (or one of the other scc drivers)
alias sm0 soundmodem
alias tunl0 newtunnel
alias char-major-4 serial
alias char-major-5 serial
alias char-major-6 lp
# modprobe -c
vous renverra la configuration courante.
Les noyaux 2.1.*
présentent des améliorations au niveau de quasiment tous
les pilotes et protocoles. Citons les plus significatives :
tous les protocoles et gestionnaires ont été modularisés de façon à être gérés via insmod et rmmod. La mémoire demandée par le noyau diminue dans le cas de modules employés par intermittence. Le développement et la mise au point des gestionnaires devient également plus facile. Cela étant, la configuration devient légèrement plus compliquée.
l'accès aux périphériques tels les Baycom, SCC, PI, PacketTwin et autres a maintenant lieu via une interface réseau usuelle semblable à celle du gestionnaire ethernet. Ils n'apparaissent désormais plus comme des TNC KISS. L'utilitaire net2kiss permet de créer une interface KISS pour ces périphériques si on le souhaite.
il y a eu de nombreuses corrections et des fonctionnalités ont été ajoutées tel le protocole Rose.
A présent que le noyau est compilé, vous devez faire de même avec les nouveaux outils de configuration du réseau. Ces outils permettent de modifier la configuration des périphériques réseau et des tables de routage.
Le nouveau paquetage alpha des net-tools
standard gère AX.25 et
NetRom. Je l'ai essayé et il semble fonctionner correctement chez moi.
Le paquetage standard net-tools-1.33.tar.gz comporte certains bugs qui affectent AX.25 et NetRom. J'ai produit un correctif qui supporte aussi Rose.
Le patch est disponible à l'adresse suivante : zone.pspt.fi.
Lisez le fichier Release
et suivez les indications qui y sont données.
Je suis passé par les étapes ci-dessous :
# cd /usr/src
# tar xvfz net-tools-1.33.tar.gz
# zcat net-tools-1.33.rose.tjd.diff.gz | patch -p0
# cd net-tools-1.33
# make config
Arrivés à ce point, vous devrez répondre à une série de questions de configuration d'une façon similaire à ce qui se fait pour le noyau. N'oubliez pas d'inclure tous les protocoles et gestionnaires de périphériques dont vous souhaitez vous servir ultérieurement. Dans le doute, répondez par l'affirmative (``Y'').
Une fois la compilation effectuée :
# make install
installera les programmes à leur place définitive.
Pour disposer des fonctionnalités de type pare-feu IP (firewall), vous
aurez besoin des derniers outils d'administration ipfwadm
.
Ils remplacent ipfw
qui ne fonctionne à présent plus.
Pour la compilation d'ipfwadm
:
# cd /usr/src
# tar xvfz ipfwadm-2.0beta2.tar.gz
# cd ipfwadm-2.0beta2
# make install
# cp ipfwadm.8 /usr/man/man8
# cp ipfw.4 /usr/man/man4
Une fois les étapes de compilation et de redémarrage du noyau menées à leur terme avec succès, il vous reste à compiler les applications AX.25. Les commandes devraient ressembler à ce qui suit :
# cd /usr/src
# tax xvfz ax25-utils-2.1.42a.tar.gz
# cd ax25-utils-2.1.42a
# make config
# make
# make install
Les fichiers sont installés par défaut dans les sous-répertoires bin
,
sbin
, etc
et man
du répertoire /usr
.
S'il s'agit de la première installation des utilitaires AX.25 sur votre
système, vous devrez installer quelques fichiers de configuration type dans
le répertoire /etc/ax25/
via :
# make installconf
En cas de messages du type :
gcc -Wall -Wstrict-prototypes -O2 -I../lib -c call.c call.c: In function `statline': call.c:268: warning: implicit declaration of function `attron' call.c:268: `A_REVERSE' undeclared (first use this function) call.c:268: (Each undeclared identifier is reported only once call.c:268: for each function it appears in.)vérifiez encore une fois que les ncurses sont correctement installées. Le script de configuration tente de localiser les ncurses à certains emplacements usuels mais sur des installations faisant n'importe quoi avec les ncurses, le script échoue à cette étape.