Main Navigation
Home Realm Linux Open Source RHEL Information Documentation Meetings Services Web Kickstart Secure
OpenAFS RPMs
There are several different RPM packages for OpenAFS out there. As some folks like to use packages based off of NCSU's work on OpenAFS I thought I'd put up the details of my packages for more people to take advantage of. I hope that other folks find these useful. As always, excepting patches.
Goals
These packages have a few goals in mind that you should know of. First, these packages are maintained for NCSU's Realm Linux. So you may have to make some changes to CellServDB and friends. Otherwise, these packages try to be as generic as possible and are designed to work with Fedora Core, Red Hat Linux, and Red Hat Enterprise Linux. I try to follow the FSH as close as possible and make fairly clean packages.
Linux 2.4
OpenAFS packages for the 2.4 kernel work very well. Here is the stock source RPM.
This particular RPM was built on Red Hat Enterprise Linux (see the release) but builds without changes on and Red Hat or Fedora Core distribution based on the 2.4 kernel. You should change the release accordingly. To build a different version of OpenAFS, just download the matching BZ2-ball of the source and change the version in the spec file.Building this package is a bit more advanced than normal package builds. You must set the proper targets. For i386 only the userspace parts are built and packaged. For other arches, like i686 just the kernel modules are built for that arch of the kernel. For example if you have an athlon machine you need to specify the athlon target to get the right kernel modules.
Here's how I build this package for the Realm Linux distribution.
% rpmbuild -ba openafs.spec --target i386,i586,i686,athlon \ --define "ksource_dir /lib/modules/`uname -r`/build"
For x86_64 machines you don't need the targets. This command will build the userspace and kernel modules for x86_64.
% rpmbuild -ba openafs.spec \ --define "ksource_dir /lib/modules/`uname -r`/build"
You can also build for any 2.4 kernel version as long as you have the proper kernel-source package installed. Just point the ksource_dir define to your kernel tree. You can also not define ksource_dir and the package will build for the currently running kernel.
Linux 2.6
I also have OpenAFS packages for the 2.6 kernel. These work on Red Hat Enterprise Linux 4 and Fedora Core 4 and up. These packages require the kernel-devel packages for your target kernel to build.
These packages are configured for NCSU so you will need to adjust the configuration accordingly. Check afs.conf, CellAlias, and CellServDB to make sure they will work for your environment.
I formerly had several patches up here that have all been included or somehow corrected in upstream. Of note was my patch to do a pattern scan on kernel memory to find the syscall table. The OpenAFS folks now do something similar so OpenAFS's functionality on 2.6 is equal to that on 2.4.
WARNING: This is a developmental release of OpenAFS. These packages may eat your BRANE, eat your data, eat your kernel, and eat you. You have been warned.
The build process is similar to the 2.4 packages. I would start with the following. You'll need to have both the kernel-devel and kernel-smp-devel packages installed. To build for a non-running kernel you simply define the uname for RPM.
% rpmbuild -ba openafs-2.6.spec --target i386,i686 --define "uname 2.6.9-11.EL"