Per installare correttamente il supporto per AX.25 sulla vostra macchina Linux, occorre configurare ed installare un kernel appropriato e poi installare le corrispondenti utility AX.25
Se avete già familiarità col processo di compilazione del Kernel potete saltare questa sezione; state ben attenti, comunque a selezionare le opzioni appropriate, che verranno trattate diffusamente qua sotto.
Il posto usuale in cui si decomprime il sorgente kernel è la directory
/usr/src
, nella quale viene creata una sottodirectory
linux
. Per fare ciò occorre essere loggati come
root
ed eseguire una serie di comandi come questi:
# 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
Dopo aver decompresso il sorgente del kernel ed applicato l'aggiornamento, occorre eseguire lo script di configurazione e scegliere le opzioni che permettono al kernel di adattarsi al vostro hardware, e le funzionalità che volete che siano implementate nel kernel stesso. Per fare ciò usate il comando:
# make menuconfig
Oppure potete usare:
# make config
Descriverò il metodo di configurazione a menu (menuconfig) perché è più comodo e semplice nella scelta delle opzioni, ma potete usare anche l'altro, se vi trovate più a vostro agio.
In entrambi i casi vi verranno proposte una serie di opzioni alle quali dovete rispondere `Y' (sì) o `N' (no) (potreste anche voler rispondere `M' se siete intenzionati ad usare i moduli del kernel, ma per semplicità supponiamo che non lo siate).
Le opzioni più importanti per la parte di configurazione relativa all'AX.25 sono:
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 ...
Le opzioni che ho indicato con `*
' sono quelle alle quali si
deve rispondere `Y'. Il resto dipende da che hardware avete e
quali altre opzioni volete includere. Alcune di queste saranno
descritte più avanti in dettaglio, per cui se non sapete ancora che
funzionalità implementare, andate avanti nella lettura e ritornate su
questo argomento più tardi.
Dopo aver completato la configurazione del kernel dovreste essere in grado di compilarlo senza problemi:
# make dep
# make clean
# make zImage
Assicuratevi di spostare il file del kernel
arch/i386/boot/zImage
nel posto in cui lo ritenete più
opportuno, di editare il vostro file /etc/lilo.conf
e
rieseguire lilo per essere sicuri che il nuovo boot di Linux
avvenga con nuovo kernel.
Suggerisco di non compilare alcun driver come modulo, poiché così facendo non si guadagna in altro che in complessità. Molti hanno incontrato problemi tentando di far funzionare le parti modularizzate, non perché il software abbia dei problemi, ma perché l'uso dei moduli rende più complessa la fase di installazione e configurazione del sistema.
Se comunque avete scelto di compilare qualche componente come moduli, occorre dare questi comandi:
# make modules
# make modules_install
per installare opportunamente i vostri moduli.
Occorrerà inoltre aggiungere/modificare le seguenti voci nel vostro
file /etc/conf.modules
in modo che il programma kerneld
sappia come gestire i moduli in modo corretto.
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 (o uno degli altri drivers scc)
alias sm0 soundmodem
alias tunl0 newtunnel
alias char-major-4 serial
alias char-major-5 serial
alias char-major-6 lp
I kernel 2.1.*
presentano una versione migliorata di quasi tutti
i protocolli e drivers. I miglioramenti più significativi sono:
i protocolli e i driver sono stati modularizzati in modo che li possiate aggiungere o togliere con insmod e rmmod. Questo riduce il fabbisogno di memoria del kernel per moduli usati poco frequentemente e rende più semplici lo sviluppo e la ricerca di errori. Come detto, però, rende anche un po' più complessa la configurazione.
tutti i device di rete come Baycom, SCC, PI, Packettwin eccetera, si presentano come normali interfacce di rete, come ad esempio il driver ethernet; non sono più come dei TNC kiss. Un nuovo programma di utilità chiamato net2kiss consente all'occorrenza di creare un'interfaccia kiss per questi device
Sono stati corretti molti problemi e aggiunte nuove funzionalità, tra cui il protocollo Rose è una delle più significative.
Una volta compilato il kernel, occorre compilare i nuovi programmi di configurazione della rete. Questi permettono di modificare la configurazione dei device di rete e di aggiungere voci di instradamento (route) alla tabella di instradamento (routing table).
La nuova versione alfa del pacchetto standard net-tools
include il supporto per AX.25 e NetRom. Io l'ho testato e sembra
funzionare correttamente.
Il pacchetto standard net-tools-1.33.tar.gz ha alcuni piccoli bachi nel supporto dei protocolli AX.25 e NetRom. Ho dunque realizzato una piccola correzione per risolverli e aggiungere nel contempo il supporto per il protocollo Rose.
Potete scaricarla da: zone.pspt.fi.
Non dimenticate di leggere il file Release
e di seguire le
istruzioni in esso contenute. I comandi per compilare sono:
# 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
A questo punto vi verranno fatte una serie di domande per effettuare la configurazione simili a quelle trovate nel kernel. Assicuratevi di includere il supporto per tutti i protocolli che volete usare. Se non sapete cosa rispondere ad una particolare domanda, rispondete `Y'.
Alla fine della compilazione occorre fare:
# make install
per installare il programma correttamente
Se siete intenzionati ad usare funzioni di IP firewall, vi occorrono
i più recenti strumenti di amministrazione di firewall presenti nel
pacchetto
ipfwadm
. Questo tool sostituisce il vecchio ipfw
che non funziona coi nuovo kernel.
Ho compilato ipfwadm
coi seguenti comandi:
# 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
Una volta compilato in nuovo kernel e fatto il reboot con questo, occorre compilare i programmi per l'utente. Per compilarli e installarli occorre dare una sequenza di comandi simili a questi:
# cd /usr/src
# tar xvfz ax25-utils-2.1.42a.tar.gz
# cd ax25-utils-2.1.42a
# make config
# make
# make install
Questi file verranno installati come scelta predefinita sotto la
directory /usr
nei direttori bin
, sbin
, etc
e
man
.
Se sulla vostra macchina non sono mai state installati i programmi per AX.25, dovete dare anche il comando:
# make installconf
per installare anche alcune configurazioni di esempio nella directory
/etc/ax25/
su cui provare a mettere le mani.
Se durante la compilazione vi escono messaggi del tipo:
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.)
dovete controllare con la massima attenzione di avere il pacchetto ncurses installato correttamente sul vostro sistema. Lo script di configurazione cerca le ncurses nelle directory standard, ma alcune installazioni le installano in modo non corretto per cui non è in grado di trovarle.