Lustre can currently build against Red Hat 2.4 and SuSE 2.6 kernel-source RPMs. All other kernel-source RPMs are *unsupported* at this time. Note that a Lustre-patched kernel is required for building Lustre; in most cases a kernel-source RPM from your Linux vendor will not contain the necessary patches. ## ## Instructions for Red Hat 2.4.x kernel-source RPMs ## 1. kernel.h Building against a kernel-source RPM requires a special header. On Red Hat systems, this file should be automatically created at boot time, and saved in /boot/kernel.h. *** If you are not running Red Hat Linux, or are not booted into the *** kernel you are trying to build against, you need to create this *** file manually. *** If you do not, the Lustre build may fail, or may fail to build *** modules that work with your kernel. Here is an example /boot/kernel.h file. If you are building on x86_64, the first defines should be __MODULE_KERNEL_x86_64, etc. The other defines should be simple to figure out. /* This file is automatically generated at boot time. */ #ifndef __BOOT_KERNEL_H_ #define __BOOT_KERNEL_H_ /* Kernel type i686-smp */ #ifndef __MODULE_KERNEL_i686 #define __MODULE_KERNEL_i686 1 #endif #ifndef __BOOT_KERNEL_ENTERPRISE #define __BOOT_KERNEL_ENTERPRISE 0 #endif #ifndef __BOOT_KERNEL_BIGMEM #define __BOOT_KERNEL_BIGMEM 0 #endif #ifndef __BOOT_KERNEL_HUGEMEM #define __BOOT_KERNEL_HUGEMEM 0 #endif #ifndef __BOOT_KERNEL_SMP #define __BOOT_KERNEL_SMP 1 #endif #ifndef __BOOT_KERNEL_UP #define __BOOT_KERNEL_UP 0 #endif #endif You should save this somewhere, and pass the location of this file to ./configure using the --with-kernel-source-header option. 2. .config You will also need to tell Lustre about the .config file for your kernel. The two likely locations of this file are /boot/config-$(uname -r), and /usr/src/linux-2.4/configs/. You should pass the location of this file to Lustre using the --with-linux-config option. 3. An Example Here is an example for configuring Lustre: ./configure --with-linux=/usr/src/linux-2.4.20-28.9_lustre.1.0.3 \ --with-kernel-source-header=/boot/kernel.h \ --with-linux-config=/boot/config-2.4.20-28.9_lustre.1.0.3smp ## ## Instructions for SuSE 2.6.x kernel-source RPMs ## 1. kernel-syms In addition to the kernel-source rpm, you may need to install a kernel-syms rpm. This should be included where you got your kernel rpm. 2. linux-obj You will need to choose the correct linux-obj directory for your machine. They will be located in /usr/src/linux-$(uname -r)-obj/$ARCH/$FLAVOR. Lustre should be configured with the --with-linux-obj option. 3. Example Here is an example for configuring Lustre: ./configure --with-linux=/usr/src/linux-2.6.5-7.97 \ --with-linux-obj=/usr/src/linux-2.6.5-7.97-obj/ppc64/pseries64