Building Lustre Code

(Updated: Dec 2009)

The procedure on this page describes how to build and configure Lustre™ code in a development environment. It assumes that you have:
 * Checked out Lustre source code from Git (see Accessing Lustre Code).
 * Obtained an unmodified kernel source supported by the version of Lustre you have checked out (supported kernel sources can be found at http://downloads.lustre.org/public/kernels/).

Note: For how to install Lustre from source for a non-supported system configuration, see Building and Installing Lustre from Source Code.

Configuring and Building Lustre
To configure and build Lustre, follow these steps:

1. Run the autogen script. The autogen script performs a few checks and then bootstraps the build system using the GNU automake and autoconf functions. $ sh autogen.sh Checking for a complete tree... checking for automake-1.7 1.7.8... found 1.7.9 checking for autoconf 2.57... found 2.59 ... running autogen for liblustre... 2. Apply Lustre patches to your Linux kernel sources. For instructions, see Applying Lustre Patches to a Kernel.

3. Build a new kernel.

4. Run  configure to set up your system to compile the Lustre code. Configure performs extensive checks of the underlying system and kernel and then produces makefiles.

Note: Replace /path/to/linux with the path to your patched kernel source (for example, /tmp/kernels/linux-2.6.18-128.1.1) $ ./configure --with-linux=/path/to/linux checking build system type... i686-redhat-linux-gnu checking host system type... i686-redhat-linux-gnu checking target system type... i686-redhat-linux-gnu ... LLCFLAGS: -g -Wall -fPIC

Type 'make' to build Lustre.

5. Type make to build Lustre. $ make ...

Building and Testing Your Code
Before you submit code for possible inclusion in Lustre, it must pass the acceptance-small acceptance test suite. For more details about the Lustre testing framework and acceptance-small, see Testing Lustre Code.

To initiate a loopback-based Lustre mount for local testing, run: lustre/tests/llmount.sh

To clean up the loopback mount (reverse the actions of the llmount.sh script), run lustre/tests/llmountcleanup.sh