To run AFS 3.5 on any 2.2.xx kernel, you have to modify the file afs.rc before it is
installed.
Basically you need to make it try to load the correct module, then you need to tell insmod (the kernel
module loader) to force these modules in even though they weren't actually compiled for that exact kernel.
You need to change the line
VERSION=`uname -r`
to
VERSION=2.2.3
and change the line
/sbin/insmod -m $MODLOADDIR/$LIBAFS > $MODLOADDIR/libafs.map 2>&1
to
/sbin/insmod -fm $MODLOADDIR/$LIBAFS > $MODLOADDIR/libafs.map 2>&1
You then install this file according to the regular installation. (It gets copied to /etc/rc.d/init.d/afs).
Why do you do this anyway?
When afs loads itself it tries to put a module into the kernel. These modules
have been tuned for certain kernels, mainly 2.2.2 and 2.2.3. The first thing we do is
tell afs to only load the module 2.2.3, otherwise it looks at what kernel you have, notices
it doesn't have the right module, and exits. The second thing we do is we force that modules
into the kernel otherwise insmod will look at the module, notice that it was tuned just for 2.2.3,
then not load the module into the kernel.
How-To
July 23, 1999