<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Linux AX25-HOWTO, Amateur Radio.: Installazione del software per AX.25/NetRom/Rose.</TITLE> <LINK HREF="AX25-HOWTO-6.html" REL=next> <LINK HREF="AX25-HOWTO-4.html" REL=previous> <LINK HREF="AX25-HOWTO.html#toc5" REL=contents> </HEAD> <BODY> <A HREF="AX25-HOWTO-6.html">Avanti</A> <A HREF="AX25-HOWTO-4.html">Indietro</A> <A HREF="AX25-HOWTO.html#toc5">Indice</A> <HR> <H2><A NAME="s5">5. Installazione del software per AX.25/NetRom/Rose.</A></H2> <P> <P>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 <P> <H2><A NAME="ss5.1">5.1 La compilazione del kernel.</A> </H2> <P> <P>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. <P> <P>Il posto usuale in cui si decomprime il sorgente kernel è la directory <CODE>/usr/src</CODE>, nella quale viene creata una sottodirectory <CODE>linux</CODE>. Per fare ciò occorre essere loggati come <CODE>root</CODE> ed eseguire una serie di comandi come questi: <P> <BLOCKQUOTE><CODE> <PRE> # 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 </PRE> </CODE></BLOCKQUOTE> <P>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: <P> <P> <BLOCKQUOTE><CODE> <PRE> # make menuconfig </PRE> </CODE></BLOCKQUOTE> <P>Oppure potete usare: <P> <BLOCKQUOTE><CODE> <PRE> # make config </PRE> </CODE></BLOCKQUOTE> <P>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. <P> <P>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). <P> <P>Le opzioni più importanti per la parte di configurazione relativa all'AX.25 sono: <P> <P> <PRE> 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 ... </PRE> <P>Le opzioni che ho indicato con `<CODE>*</CODE>' sono quelle alle quali si <B>deve</B> 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. <P> <P> <P>Dopo aver completato la configurazione del kernel dovreste essere in grado di compilarlo senza problemi: <P> <BLOCKQUOTE><CODE> <PRE> # make dep # make clean # make zImage </PRE> </CODE></BLOCKQUOTE> <P>Assicuratevi di spostare il file del kernel <CODE>arch/i386/boot/zImage</CODE> nel posto in cui lo ritenete più opportuno, di editare il vostro file <CODE>/etc/lilo.conf</CODE> e rieseguire <EM>lilo</EM> per essere sicuri che il nuovo boot di Linux avvenga con nuovo kernel. <P> <P> <H3>Una parola sui moduli del Kernel.</H3> <P> <P>Suggerisco di <B>non</B> 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. <P> <P>Se comunque avete scelto di compilare qualche componente come moduli, occorre dare questi comandi: <P> <BLOCKQUOTE><CODE> <PRE> # make modules # make modules_install </PRE> </CODE></BLOCKQUOTE> <P>per installare opportunamente i vostri moduli. <P> <P>Occorrerà inoltre aggiungere/modificare le seguenti voci nel vostro file <CODE>/etc/conf.modules</CODE> in modo che il programma <EM>kerneld</EM> sappia come gestire i moduli in modo corretto. <P> <BLOCKQUOTE><CODE> <PRE> 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 </PRE> </CODE></BLOCKQUOTE> <P> <H3>Le novità dei kernel 2.0.*+ModuleXX o 2.1.* </H3> <P> <P>I kernel <CODE>2.1.*</CODE> presentano una versione migliorata di quasi tutti i protocolli e drivers. I miglioramenti più significativi sono: <DL> <DT><B>modularizzazione</B><DD><P>i protocolli e i driver sono stati modularizzati in modo che li possiate aggiungere o togliere con <EM>insmod</EM> e <EM>rmmod</EM>. 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. <P> <DT><B>Tutti i driver sono driver di rete</B><DD><P>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 <EM>net2kiss</EM> consente all'occorrenza di creare un'interfaccia kiss per questi device <P> <DT><B>Correzione di bug</B><DD><P>Sono stati corretti molti problemi e aggiunte nuove funzionalità, tra cui il protocollo Rose è una delle più significative. <P> </DL> <P> <H2><A NAME="ss5.2">5.2 I programmi di configurazione della rete (nettools).</A> </H2> <P> <P>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). <P> <P>La nuova versione alfa del pacchetto standard <CODE>net-tools</CODE> include il supporto per AX.25 e NetRom. Io l'ho testato e sembra funzionare correttamente. <P> <H3>Un'aggiunta per correggere alcuni bug e avere il supporto per Rose.</H3> <P> <P>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. <P> <P>Potete scaricarla da: <A HREF="ftp://zone.pspt.fi/pub/linux/ham/ax25/net-tools-1.33.rose.tjd.di ff.gz">zone.pspt.fi</A>. <P> <P> <H3>Come compilare la versione standard di net-tools.</H3> <P> <P>Non dimenticate di leggere il file <CODE>Release</CODE> e di seguire le istruzioni in esso contenute. I comandi per compilare sono: <P> <BLOCKQUOTE><CODE> <PRE> # 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 </PRE> </CODE></BLOCKQUOTE> <P>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'. <P> <P> <P>Alla fine della compilazione occorre fare: <P> <BLOCKQUOTE><CODE> <PRE> # make install </PRE> </CODE></BLOCKQUOTE> <P>per installare il programma correttamente <P> <P> <P> <P>Se siete intenzionati ad usare funzioni di IP firewall, vi occorrono i più recenti strumenti di amministrazione di firewall presenti nel pacchetto <CODE>ipfwadm</CODE>. Questo tool sostituisce il vecchio <CODE>ipfw</CODE> che non funziona coi nuovo kernel. <P> <P>Ho compilato <CODE>ipfwadm</CODE> coi seguenti comandi: <BLOCKQUOTE><CODE> <PRE> # 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 </PRE> </CODE></BLOCKQUOTE> <P> <H2><A NAME="ss5.3">5.3 I programmi AX.25.</A> </H2> <P> <P>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: <P> <BLOCKQUOTE><CODE> <PRE> # cd /usr/src # tar xvfz ax25-utils-2.1.42a.tar.gz # cd ax25-utils-2.1.42a # make config # make # make install </PRE> </CODE></BLOCKQUOTE> <P>Questi file verranno installati come scelta predefinita sotto la directory <CODE>/usr</CODE> nei direttori <CODE>bin</CODE>, <CODE>sbin</CODE>, <CODE>etc</CODE> e <CODE>man</CODE>. <P> <P> <P>Se sulla vostra macchina non sono mai state installati i programmi per AX.25, dovete dare anche il comando: <BLOCKQUOTE><CODE> <PRE> # make installconf </PRE> </CODE></BLOCKQUOTE> <P>per installare anche alcune configurazioni di esempio nella directory <CODE>/etc/ax25/</CODE> su cui provare a mettere le mani. <P> <P> <P>Se durante la compilazione vi escono messaggi del tipo: <PRE> 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.) </PRE> <P>dovete controllare con la massima attenzione di avere il pacchetto <EM>ncurses</EM> 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. <P> <P> <HR> <A HREF="AX25-HOWTO-6.html">Avanti</A> <A HREF="AX25-HOWTO-4.html">Indietro</A> <A HREF="AX25-HOWTO.html#toc5">Indice</A> </BODY> </HTML>