-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.
+Lustre can be build against current Red Hat and SuSE kernels. The
+specific kernel versions are listed in the lustre/ChangeLog file.
-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.
+To build client packages it is enough to have the kernel-devel packages
+installed with only the .config and header files. To build server
+packages, the full kernel-source package with Lustre patches applied
+needs to be available.
##
-## Instructions for Red Hat 2.4.x kernel-source RPMs
+## Instructions for Red Hat 2.6 kernel-devel RPMs
##
-1. kernel.h
+1. Kernel-devel package
-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.
+The kernel-devel RPM should be installed, and referenced appropriately
+by /lib/modules/$(uname -r)/{build,source} with a pre-existing .config
+file for the built kernel. This .config file should NOT be modified.
- *** 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.
+2. A Client Example
- *** If you do not, the Lustre build may fail, or may fail to build
- *** modules that work with your kernel.
+To configure Lustre for the currently-running 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.
+./configure
-/* This file is automatically generated at boot time. */
-#ifndef __BOOT_KERNEL_H_
-#define __BOOT_KERNEL_H_
+or to build against a different kernel:
-/* Kernel type i686-smp */
+./configure --with-linux=/lib/modules/{other kernel version/build
-#ifndef __MODULE_KERNEL_i686
-#define __MODULE_KERNEL_i686 1
-#endif
+3. Another Example
-#ifndef __BOOT_KERNEL_ENTERPRISE
-#define __BOOT_KERNEL_ENTERPRISE 0
-#endif
+To configure Lustre for building server packages, with the full kernel source:
-#ifndef __BOOT_KERNEL_BIGMEM
-#define __BOOT_KERNEL_BIGMEM 0
-#endif
+./configure --with-linux=/usr/src/linux
-#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
BUILDING LUSTRE
---------------
-You must already have a Lustre-patched kernel, which is outside of the
-scope of this document. For more information on this process, see the
-web sites below. Also consider downloading a pre-packaged Lustre
-kernel and utilities from http://downloads.lustre.org/
+To build the server components, you must already have a Lustre-patched kernel,
+which is outside of the scope of this document. It is possible to build
+Lustre clients against unpatched kernels. For more information on this
+process, see the web sites below. Also consider downloading a pre-packaged
+Lustre kernel and utilities from http://downloads.whamcloud.com/
To build:
sh autogen.sh
- ./configure --with-linux=/usr/src/lustre_patched_kernel_tree
+ ./configure [--with-linux=/usr/src/kernel_tree if not in a "normal" location]
make
-To play with Lustre:
+To play with Lustre (will format a simple test filesystem using loop devices):
cd tests
sh llmount.sh
sh llmountcleanup.sh
More information about Lustre:
- http://www.lustre.org/
+ http://wiki.whamcloud.com/
-Feedback:
+Feedback:
lustre-discuss@lists.lustre.org
- The Lustre Team -