Avanti Indietro Indice

5. Installazione del software per AX.25/NetRom/Rose.

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

5.1 La compilazione del kernel.

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.

Una parola sui moduli del 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

Le novità dei kernel 2.0.*+ModuleXX o 2.1.*

I kernel 2.1.* presentano una versione migliorata di quasi tutti i protocolli e drivers. I miglioramenti più significativi sono:

modularizzazione

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 driver sono driver di rete

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

Correzione di bug

Sono stati corretti molti problemi e aggiunte nuove funzionalità, tra cui il protocollo Rose è una delle più significative.

5.2 I programmi di configurazione della rete (nettools).

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.

Un'aggiunta per correggere alcuni bug e avere il supporto per Rose.

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.

Come compilare la versione standard di net-tools.

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

5.3 I programmi AX.25.

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.


Avanti Indietro Indice