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.shTo clean up the loopback mount (reverse the actions of the llmount.sh script), run