Amateur Radio
AX-25 Networks for Rookies
by Jamie Saker, W0JRS
w0jrs@arrl.net
Revised February 28, 2001
Section 2: Let's Get Started
Note: I'll use section numbering in this section to help organize the presentation of the material, and assist you as you work through it so you don't get lost!
2.0 The project's OSI model
It's going to be helpful to understand what we're doing in a conceptual sense. There's just too much software we're going to be installing so we need to fit it in where it belongs so you'll have an idea what we're doing.
If you haven't heard of the OSI reference model, it's a paradigm we use in data communications to divide things into theoretical layers. Here's a representation of the model:
(Image courtesy of freesoft.org)
Using the model, let's list where the components we'll be working with go, and then discuss them in section 1.1.
Application Web browser, Telnet application, PMS, etc. Presentation HTML, XML, ASCII Session SSL, SSH Transport TCP and UDP Network IP, AX-25 Data Link AX-25 Physical TNC, transceiver, cables, wireless frequency I'll explain each one of these packages as we go along.
2.1 Download and upgrade the kernel
The first thing we need is our kernel source code. Log into your Linux system, cd to /usr/src and look for a directory called kernel. We're going to end up installing a brand new kernel and configuring it to operate with the required amateur radio extensions in it.
Kernel configuration (especially when done by those not familiar with it) should not be done on systems that contain any required data, systems, applications or other items that would be missed if the system did not recover. If this is your first time messing with kernels, do it on a system designated solely for this purpose (you might get to reinstall it a few times before you get it right).
[linux-2.2.18 kernel] As of this writing, the current 2.2 kernel is 2.2.18, available at ftp.kernel.org. It is strongly advisable that you read the Kernel FAQ before building kernals, or grab the assistance of a friend who's familiar with Linux kernal installation.
We use the 2.2 kernel because the ax-25 libraries, apps, tools and other resources available are built for the stable 2.2 kernel. As of the writing of this document, 2.3 development kernels and 2.4 stable kernels were available, but ax-25 packages have not yet been revised to support these kernels.
Please read through this completely before attempting, unless you are familiar with kernel installations. As mentioned in the beginning of this document, it is recommended that you conduct this on a "readily sacrificed, virgin Redhat installation." It is possible that you will have to reinstall your Redhat system one or more times before you get your AX-25 system operational.Installation Steps:
Select the /usr/src directory and remove the /usr/src/linux link that points to your current kernel (probably linux-2.2.14 if you did a Redhat 6.2 install). Note: This is important as our 2.2.18 download will want to expand in /usr/src/linux, potentially overwriting files we already have there. We will expand this, rename it under the kernel version directory approach, and re-establish our link. Commands:
cd /usr/src
ls -laF /usr/src (to verify linux/ is a link pointing to 2.2.14)
rm /usr/src/linux
Download your 2.2.18 (or current 2.2.*) kernel and extract it in /usr/src
(more instructions pending - 2/28 note: this should be soon. everything has been replicated in the project and documentation is in paper - just needs a few spare hours to update here)
2.2 Download and upgrade the ax-25 and supporting packages
Now we're going to add the AX-25 software that interfaces with the kernel modules we just created, allowing us to create an AX-25 networked system. Let's grab a few packages and get them installed. Each of these should compile cleanly on Redhat 6.2 with the upgraded 2.2.18 kernel as installed above. If you have problems installing, you may wish to consult your local Linux expert or review Linux documentation available at www.linux.org.
[net-tools] Current nettools package: The current version as of this writing was net-tools-1.59, available at www.tazenda.daemon.co.uk. Installation includes:
cd /usr/src
lynx http://www.tazenda.demon.co.uk/phil/net-tools/
Select net-tools-1.59.tar.bz2 by arrowing down to it and pressing "D" for download (do not press return on the link as it will download the binary file into your lynx browser screen and will not be usable). Save to disk as the offered net-tools-1.59.tar.bz2 filename.
bzip2 -d net-tools-1.59.tar.bz2
tar xvf net-tools-1.59.tar
cd net-tools-1.59
make config
(follow defaults but make sure to turn on Rose support, IP masquerading support, ip tunnel and ipmaddr)
make
make -n install
make install
[libax25] Get libax25 from ftp.hes.iki.fi. Installation is done as root and includes:
cd /usr/src
mkdir /usr/src/ax25
cd ax25
ftp ftp.hes.iki.fi
cd /pub/ham/linux/ax25
(and download libax25, along with the other packages listed below)
tar xvfz libax25-0.0.7.tar.gz
cd libax25-0.0.7
./configure
make
make install
make installconf
[ax25-apps] Install as follows:
cd /usr/src/ax25
tar xvfz ax25-apps-0.0.4.tar.gz
cd ax25-apps-0.0.4
./configure
make
make install
make installconf
[ax25-tools] Install as follows:
cd /usr/src/ax25
tar xvfz ax25-tools-0.0.5.tar.gz
cd ax25-tools-0.0.5
./configure
make
make install
make installconf
[ax25-utils] Install as follows:
cd /usr/src/ax25
tar xvfz ax25-utils-2.1.42a.tar.gz
cd ax25-utils-2.1.42a
// Note: I am verifying this package at this time as it does not install cleanly! //
[node] Install as follows:
cd /usr/src/ax25
tar xvfz node-0.3.0.tar.gz
cd node-0.3.0
./configure (answer AX.25=Y, NetRom=Y, Rose=Y)
make depend
make
make install
make installconf
[ax25-doc] Extract documentation for reference purposes:
cd /usr/src/ax25
tar xvfz ax25-doc-1.0.tar.gz
By now, you should have your kernal and all of your packages installed and operational. If not, check your steps (and in the worst case scenario, reload Redhat 6.2 and reinstall the kernel and packages). If so, let's start configuring.
References