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.
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
# gzip -dc linux-2.0.25.tar.gz | tar xvofp -
# cd linux
After you have unpacked the kernel source into place 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:
Prompt for development and/or incomplete code/drivers [Y/n] Y Networking support (CONFIG_NET) [Y/n/?] Y Loopback device support (CONFIG_BLK_DEV_LOOP) [N/y/m/?] Y Network firewalls (CONFIG_FIREWALL) [N/y/?] TCP/IP networking (CONFIG_INET) [Y/n/?] Y IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [N/y/?] IP: firewalling (CONFIG_IP_FIREWALL) [N/y/?] (NEW) IP: tunneling (CONFIG_NET_IPIP) [N/y/m/?] (NEW) Amateur Radio AX.25 Level 2 (CONFIG_AX25) [N/y/?] Y AX.25 over Ethernet (CONFIG_BPQETHER) [N/y/?] (NEW) Amateur Radio NET/ROM (CONFIG_NETROM) [N/y/?] (NEW) Kernel/User network link driver(ALPHA) (CONFIG_NETLINK) [N/y/?] Network device support (CONFIG_NETDEVICES) [Y/n/?] Y SLIP (serial line) support (CONFIG_SLIP) [N/y/m/?] Y Radio network interfaces (CONFIG_NET_RADIO) [N/y/?] BAYCOM ser12 and par96 kiss emulation driver for AX.25 (CONFIG_BAYCOM) [N/y/m/?] Z8530 SCC kiss emulation driver for AX.25 (CONFIG_SCC) [N/y/m/?] Other ISA cards (CONFIG_NET_ISA) [N/y/?] Ottawa PI and PI/2 support (CONFIG_PI) [N/y/?] (NEW) Gracilis PackeTwin support (CONFIG_PT) [N/y/?] (NEW) Standard/generic serial support (CONFIG_SERIAL) [Y/n/?]
The options I have flagged with a `Y' are those that you must must answer `Y' to. The rest are dependent on what hardware you have and what 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 run lilo to ensure that you actually boot from
it.
After 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.
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 compiled cleanly against a 2.0.0
kernel 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
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
# gzip -dc ax25-utils-2.0.12a.tar.gz | tar xvvof -
# cd ax25-utils-2.0.12a
# ./configure
# 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 read the README.ncurses
file in the top level
directory. You can do as Jonathon suggests in the INSTALL
file, or
you can try replacing:
#include <curses.h>with:
#include <ncurses/curses.h>in the:
call/call.c call/menu.cfiles.