AppleTalk Kernel Module for Red Hat Enterprise Linux 5
- Determining kernel version details
- Pre-compiled kernel modules
- Compile the kernel module on your own
Red Hat does not provide AppleTalk kernel modules for Red Hat Enterprise Linux 5.1. For common systems a pre-compiled kernel module from HELIOS is available. Optionally you may compile the kernel module on your own.
Note: This description covers Red Hat Enterprise Linux 5.1 but may be similar on other versions.
1. Determining kernel version details
To check your kernel version and patch details enter the following command on a shell:
# uname -r
2.6.18-53.1.13.el5
To check the processor architecture enter the following command on a shell:
# uname -m
x86_64
2. Pre-compiled kernel module
The pre-compiled kernel module should fit for most customers:
Red Hat Enterprise Linux 5.1 64-bit SMP*
* Symmetric Multiprocessing
Note: We compiled the module for the current kernel version 2.6.18-53.1.13.el5 on a x86_64 machine. Other or upcoming kernel patch levels, superseding level 53, have not been tested yet and may need to be compiled manually.
Download the pre-compiled kernel modules from:
User Name: tools
Password: tools
- Login to WebShare and go to the HELIOS Tools sharepoint. Open the “RHEL5 AppleTalk modules” folder, select the “RHEL5-x86_64-2.6.18-53.1.13.el5.tar” file and select “Transfer” > “Download” from the menu bar.
- To extract the archive, enter the following commands:
# cd /usr/local/helios
# tar xf RHEL5-x86_64-2.6.18-53.1.13.el5.tar - Two files are extracted from the archive:
- The kernel module (“HELIOSDIR/etc/kernel/appletalk.ko”)
- The pre-start script that loads the kernel module when starting the HELIOS services (“HELIOSDIR/etc/startstop/31helatalk”)
3. Compile the kernel module on your own
- Log in on a shell as “root” (No “sudo” nor “su”!).
- Make sure that the required development packages are installed:
# yum install ncurses-devel
# yum install kernel-devel
# yum install make
# yum install gcc
# yum install unifdef
# yum install rpm-build
# yum install redhat-rpm-config
Note: The “yum” utility needs internet access and access to RHN (Red Hat Network). If you do not have RHN access on this machine, find the packages (if missing) on http://rhn.redhat.com and install withrpm -ivh <package> . - Get kernel source from RHN (this cannot be done using “yum”):
- Login to http://rhn.redhat.com
- Go to “Channels”, select your system and architecture
- Then go to the “Packages” tab, and click the appropriate kernel link, e.g. kernel-2.6.18-53.1.13.el5.x86_64
- Download the source package, e.g. “kernel-2.6.18-53.1.13.el5.src.rpm”
- Make sure that the Red Hat source directory exists:
# mkdir /usr/src/redhat
Install the kernel source:
# rpm -ivh /path/to/kernel-2.6.18-53.1.13.el5.src.rpm - Unpack the source code in order to get access to the configuration files:
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target=x86_64 kernel-2.6.spec
This may take a few minutes and will produce a lot of output. The last line should be exit 0. - Change to the build directory:
# cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.x86_64 - Copy the configuration file of the running Red Hat kernel (check uname -r) from the “/boot” directory into the current directory:
# cp /boot/config-2.6.18-53.1.13.el5 .config - Activate the AppleTalk module in the kernel configuration using the “menuconfig” option:
# make menuconfig
Navigate to “Networking” > “Networking options” and find the “Appletalk protocol support” entry. With the space bar you can toggle to “M” (for “module”). Select “Exit” until you will be asked to save the configuration. Save the configuration. - The Makefile must now be adjusted for the kernel version.
First make a backup of your Makefile:
# cp Makefile Makefile.sav
Open the Makefile and enter the kernel extra version (Red Hat Enterprise Linux patch level) as parameter EXTRAVERSION, like shown in the example below. Make sure that the specified version information matches exactly the one used for your current kernel (check uname -r):
# uname -r
2.6.18-53.1.13.el5
For the example given above the Makefile would look like this:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 18
EXTRAVERSION = -53.1.13.el5
Save the edited Makefile. - To create the files required for module compilation start „make“.
Interrupt the build process (CTRL-C) after about 25 lines (Make sure that the “scripts” directory has been processed!), because at that time, the files you need will be ready.
# make
scripts/kconfig/conf -s arch/x86_64/Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86_64
CC arch/x86_64/kernel/asm-offsets.s
GEN include/asm-x86_64/asm-offsets.h
HOSTCC scripts/genksyms/genksyms.o
SHIPPED scripts/genksyms/lex.c
SHIPPED scripts/genksyms/parse.h
SHIPPED scripts/genksyms/keywords.c
HOSTCC scripts/genksyms/lex.o
SHIPPED scripts/genksyms/parse.c
HOSTCC scripts/genksyms/parse.o
HOSTLD scripts/genksyms/genksyms
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/kallsyms
HOSTCC scripts/pnmtologo
HOSTCC scripts/conmakehash
CC init/main.o
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
CC init/do_mounts.o
make[1]: *** [init/do_mounts.o] Interrupt
make: *** [init] Interrupt - Compile the AppleTalk module:
# make M=net/appletalk
LD net/appletalk/built-in.o
CC [M] net/appletalk/aarp.o
CC [M] net/appletalk/ddp.o
CC [M] net/appletalk/dev.o
CC [M] net/appletalk/atalk_proc.o
CC [M] net/appletalk/sysctl_net_atalk.o
LD [M] net/appletalk/appletalk.o
Building modules, stage 2.
MODPOST
CC net/appletalk/appletalk.mod.o
LD [M] net/appletalk/appletalk.ko
The AppleTalk module has been created as “net/appletalk/appletalk.ko”. - To test the new AppleTalk kernel module type:
# insmod net/appletalk/appletalk.ko
The following line should be written to the system messages:
kernel: NET: Registered protocol family 5 - To unload the kernel module, enter rmmod appletalk. Make sure that the HELIOS services are not running when doing so.
- To get the kernel module loaded automatically when starting the HELIOS services, copy the module to “HELIOSDIR/etc/kernel” and use the “31helatalk” script.
The script is available from:
http://webshare.helios.de
User Name: tools
Password: tools
Login, go to “HELIOS Tools” > “RHEL5 AppleTalk modules”, select “script-only.tar” and click the “Download” button. To extract the archive, enter the following commands:
# cd /usr/local/helios
# tar xf script-only.tar
The module will now be loaded every time the HELIOS services are started.
Note: There may be several configuration files. Make sure to copy the configuration file with the correct version string.







