[OpenAFS-devel] Re: OpenAFS on RedHat 2.2.19-6.2.7enterprise kernel: solution!

Alf Wachsmann alfw@SLAC.Stanford.EDU
Thu, 06 Sep 2001 11:41:26 -0700 (PDT)


I finally got OpenAFS working on RedHat's 2.2.19-6.2.7enterprise kernel!

If you just want to have a working "afsd" and a
"libafs-2.2.19-6.2.7enterprise.mp.o" download them from
http://www.slac.stanford.edu/~alfw/OpenAFS/libafs-2.2.19-6.2.7enterprise.mp.o
http://www.slac.stanford.edu/~alfw/OpenAFS/afsd
They come _without_ any warranty whatsoever ;-)


Here is how I did it using openafs-snap-2001-09-05 (others may work):

1. Make sure you have the _original_ kernel-headers-2.2.19-6.2.7.i386.rpm
   and kernel-source-2.2.19-6.2.7.i386.rpm installed. Running "make dep"
   or such make things only more complicated

2. A bug in /etc/rc.d/rc.sysinit produces a wrong
   "/boot/kernel.h-2.2.19" file at each reboot!
   Here is the file I made by hand:

/* This file is automatically generated at boot time. */
#ifndef __BOOT_KERNEL_H_
#define __BOOT_KERNEL_H_

#ifndef __BOOT_KERNEL_ENTERPRISE
#define __BOOT_KERNEL_ENTERPRISE 1
#endif

#ifndef __BOOT_KERNEL_SMP
#define __BOOT_KERNEL_SMP 0
#endif

#ifndef __BOOT_KERNEL_UP
#define __BOOT_KERNEL_UP 0
#endif

#endif

3. Install kernel-2.2.19-6.2.7.src.rpm on your system.

4. Apply _all_ changes to _all_ header files from
   /usr/src/redhat/SOURCES/linux-2.2.19-lfs.patch and
   /usr/src/redhat/SOURCES/linux-2.2.16-lfs-headers.patch
   to the header files in /usr/include/ AND /usr/src/linux-2.2.19/include/
   RedHat would need a separate kernel-header and kernel-source RPM for
   the enterprise edition to get around this (IOW: It's another bug!).

5. Add three more things to the vnode definition in src/afs/LINUX/osi_vfs.h
   (look in the NEW /usr/include/linux/fs.h file to see which).

6. Compile OpenAFS. Use the flags
	-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=0 -D__BOOT_KERNEL_ENTERPRISE=1
   for compiling kernel related stuff (libafs).


I did step 6 by modifying some Makefiles. If you want these patches and
the change for step 5 you can download my patch file:
	http://www.slac.stanford.edu/~alfw/OpenAFS/enterprise.patch.gz
To use this patch, do steps 1-4 from above.
Then, run "./regen.sh" in the OpenAFS directory (only if you are using
a snapshot source version).
Then, apply the patch, run "./configure" and "make libafs afsd".


Enjoy,
          Alf.

-----------------------------------------------------------------------
  Alf Wachsmann                       | e-mail: alfw@slac.stanford.edu
  SLAC Computing Service              | Phone:  +1-650-926-4802
  2575 Sand Hill Road, M/S 97         | FAX:    +1-650-926-3329
  Menlo Park, CA 94025, USA           | Office: Bldg. 50/323
-----------------------------------------------------------------------
                http://www.slac.stanford.edu/~alfw (PGP)
-----------------------------------------------------------------------