Previous Next Contents

5. Installing the AX.25/NetRom software.

To successfully install AX.25 support on your linux system you must configure and install an appropriate kernel and then install the AX.25 utilities.

5.1 Compiling the kernel.

If you are already familiar with the process of compiling the Linux Kernel then you can skip this section, just be sure to select the appropriate options when compiling the kernel. If you are not, then read on.

The normal place for the kernel source to be unpacked to is the /usr/src directory into a subdirectory called linux. To do this you should be logged in as root and execute a series of commands similar to the following:

# mv linux linux.old
# cd /usr/src
# tar xvfz linux-2.0.29.tar.gz
# tar xvfz /pub/net/ax25/ax25-module-12.tar.gz 
# patch -p0 </usr/src/ax25-module-12/ax25-2.0.29-2.1.22.diff
# cd linux

After you have unpacked the kernel source and applied the upgrade, you need to run the configuration script and choose the options that suit your hardware configuration and the options that you wish built into your kernel. You do this by using the command:

# make config

You might also try:

# make menuconfig

if you prefer a full screen menu based method. I'm going to describe the original method, but you use whichever you are most comfortable with.

In either case you will be offered a range of options at which you must answer `Y' or `N'. (Note you may also answer `M' if you are using modules. For the sake of simplicity I will assume you are not, please make appropriate modifications if you are).

The options most relevant to an AX.25 configuration are:

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
    ...

The options I have flagged with a `*' are those that you must must answer `Y' to. The rest are dependent on what hardware you have and what other options you want to include. Some of these options are described in more detail later on, so if you don't know what you want yet, then read ahead and come back to this step later.

After you have completed the kernel configuration you should be able to cleanly compile your new kernel:

# make dep
# make clean
# make zImage

Make sure you move your arch/i386/boot/zImage file wherever you want it and then edit your /etc/lilo.conf file and rerun lilo to ensure that you actually boot from it.

What's new in 2.0.*+ModuleXX or 2.1.* Kernels ?

The 2.1.* kernels have enhanced versions of nearly all of the protocols and drivers. The most significant of the enhancements are:

modularised

the protocols and drivers have all been modularised so that you can insmod and rmmod them whenever you wish. This reduces the kernel memory requirements for infrequently used modules and makes development and bug hunting much simpler.

all drivers are now network drivers

all of the network devices such as Baycom, SCC, PI, Packettwin etc now present a normal network interface, that is they now look like the ethernet driver does, they no longer look like KISS TNC's. A new utility called net2kiss allows you to build a kiss interface to these devices if you wish.

bug fixed

there have been many bug fixes and new features added to the drivers and protocols.

5.2 The network configuration tools.

Now that you have compiled the kernel you should compile the new network configuration tools. These tools allow you to modify the configuration of network devices and to add routes to the routing table.

The new alpha release of the standard net-tools package includes support for AX.25 and NetRom support. I've tested this and it seems to work well for me.

Building the standard net-tools release.

Don't forget to read the Release file and follow any instructions there. The steps I used to compile the tools were:

# cd /usr/src
# tar xvfz net-tools-1.32-alpha.tar.gz
# cd net-tools-1.32-alpha
# make config

At this stage you will be presented with a series of configuration questions, similar to the kernel configuration questions. Be sure to include support for all of the protocols and network devices types that you intend to use. If you do not know how to answer a particular question then answer `Y'.

The tools should compile cleanly against the kernel source without error.

When the compilation is complete, you should need only use the:

# make install

command to install the programs in their proper place.

If you wish to use the IP firewall facilities then you will need the latest firewall administration tool ipfwadm. This tool replaces the older ipfw tool which will not work with new kernels.

I compiled the ipfwadm utility with the following commands:

# 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 The AX.25 user programs.

After you have successfully compiled and booted your new kernel, you need to compile the user programs. To compile and install the user programs you should use a series of commands similar to the following:

# cd /usr/src
# tax xvfz ax25-utils-2.1.22b.tar.gz
# cd ax25-utils-2.1.22b
# make config
# make
# make install

The files will be installed under the /usr directory by default in subdirectories: bin, sbin, etc and man.

If you get messages something like:

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.)

then you should double check that you have the ncurses package properly installed on your system. The configuration script attempts to locate your ncurses packages in the common locations, but some installations have ncurses badly installed and it is unable to locate them.


Previous Next Contents