First, make sure that you have all the needed software dependencies. The following site should give you a good idea of what software packages you need to install.
http://www.voip-info.org/tiki-index.php?page=Asterisk+Linux+FedoraAfter installing the software dependencies, you need to download the kernel source, and make two folders, linux, and either linux-2.4 or linux-2.6, (depending on which kernel you have, 2.4 or 2.6). Link these two folders to your kernel source directories.
cd /usr/src
ln -s [kernel-source-dir] linux
ln -s [kernel-source-dir] linux-2.4
OR (DEPENDING ON YOUR KERNEL VERSION)
ln -s [kernel-source-dir] linux-2.6
Make sure that where [kernel-source-dir] is, you use the full directory path for the kernel source. Next try to compile Zaptel. If compiling fails, issue the following command, and make sure that where [kernel-source-dir] is, you use the full directory path for your kernel source.
cd /usr/src
ln -s [kernel-source-dir] /lib/modules/`uname -r`/build
If Zaptel still doesn't compile, issue these two commands, and then try to compile zaptel.
ln -s /lib/modules/`uname -r`/build /usr/src/linux
ln -s /lib/modules/`uname -r`/build /usr/src/linux-2.4
OR (DEPENDING ON YOUR KERNEL VERSION
ln -s /lib/modules/`uname -r`/build /usr/src/linux-2.6
If that does not work, or you don't have a build directory in your /lib/modules... directory try the following:
cd /usr/src/[kernel-version]
make mrproper
cp /boot/config-[kernel-version] .config
Make sure the EXTRAVERSION variable in the Makefile matches the running kernel if you get strange errors after compiling zaptel upon loading
# here you may need to check EXTRAVERSION in the kernel Makecdfile
make oldconfig
make include/asm
make include/linux/version.h
make SUBDIRS=scripts
If you are running udev, add the following lines into /etc/udev/rules.d/50-udev.rules file and link /dev/zap to /udev/zap (ln -s /udev/zap /dev/zap).
# Section for zaptel device
KERNEL="zapctl", NAME="zap/ctl"
KERNEL="zaptimer", NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo", NAME="zap/pseudo"
KERNEL="zap[0-9]*", NAME="zap/%n"