Building Lustre Code

From Lustre Wiki
Jump to: navigation, search
Note: This page originated on the old Lustre wiki. It was identified as likely having value and was migrated to the new wiki. It is in the process of being reviewed/updated and may currently have content that is out of date.

(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:

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