Building Lustre Code

From Lustre Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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