I've just gone through the exercise of recompiling the lenny packages on etch; it worked like a charm.
This is the procedure I used. Hope it helps. *Pre-requisites Any debian machine can be used to build the packages. It does not have to be a lustre client or server. *Install build essentials Install the packages required to build debs. (build-essential, module-assistant etc) *Get Source Ensure sources.list contains the following lines: deb http://debian.internal.sanger.ac.uk/debian/ etch main non-free contrib deb-src http://debian.internal.sanger.ac.uk/debian/ lenny main contrib non-free *Download the source with: #aptitude update #apt-get source linux-image-2.6.18-X-686 #apt-get source lustre This will unpack two directories, one with the lustre source and one with the kernel source. *Build lustre userspace Change to the lustre directory. #cd lustre-X.X.X #dpkg-buildpackage -r fakeroot If the build fails with automake errors you will need to install a later automake version. (debian/etch provides several to choose from.) This will build the following packages: lustre-utils #Userspace lustre util lustre-dev #Development headers lustre-source #Source for the kernel module lustre-tests #Test suite linux-patch-lustre #Patch for the linux kernel. Install the lustre-source and linux-patch-lustre packages on the build machine. These packages contain the patches to the kernel source tree that are used in the next step of the build. #dpkg -i linux-patch-lustre_XXX.deb #dpkg -i lustre-source_XXX.deb *Build lustre patched kernel #cd linux-2.6-XXXX We need to grab the .config file for the debian kernel. We should be able to generate the config from the source package, but I'm not sure how. The easiest way to get the correct config is to copy /boot/config-X.X.X from a machine already running the debian kernel. #cp /boot/config-2.6.XXX-686 .config Check the kernel config works: (This might generate 1 or 2 minor questions. Just hit "m" or "y".) #make oldconfig We can now build the kernel. #export CONCURRENCY_LEVEL=3 #make-kpkg clean #make-kpkg --rootcmd fakeroot --added-patches=lustre \ --initrd --append-to-version "-lustre-1.6.5.1" --revision=yyyymmdd kernel_image (You might be asked about extra scsi statistics options; selecting Y is probably a good idea) You should now have a kernel-image deb. *Build lustre kernel modules The lustre kernel modules can now be built. #module-assistant -u/your/working/directory -k /path/to/the/kernel/linux-2.6-X.X build lustre After the build has finished you should now have a lustre-modules.deb *Install To install lustre on a client or server machine, simply install the packages you have created: linux-image-2.6.XX-lustre-X.X.X._XXXXXX.deb lustre-modules-2.6.XX-lustre-X.X.X._XXXXXX.deb lustre-utils_X.X.deb liblustre-X-X.deb lustre-dev-X.X.deb The test suite is optional. For configuration of networks and timeout options in /etc/modprobe.d/lustre see the lustre manual. *Extras not currently packaged Lustre uses a special version of e2fsprogs. These allow you to specify the disk raid geometry at filesystem creation time to optimise performance. It also has extra options to support the lfsck lustre filesystem consistency check. Debian upstream have said they will package this in the future. In the meantime, you will have to build it yourself. Note that the modified program is only required on OST and MDS machines. *Get the e2fsprogs source Get the latest sun patch tarball: http://downloads.lustre.org/public/tools/e2fsprogs/latest/ eg e2fsprogs-1.40.11-sun1-patches.tar.gz You will also need the upstream source (in this case e2fsprogs 1.40.11). This can be found http://downloads.lustre.org/public/tools/e2fsprogs/upstream/ *Patch the source tar -xvf e2fsprogs 1.40.11.tar.gz tar -xvf e2fsprogs-1.40.11-sun1-patches.tar.gz Patch the source with quilt. #cd e2fsprogs 1.40.11 #ln -s -f ../patches . #ln -s -f ../patches/series . #quilt push -av *Build the source Note that the ext2fs-dev, libsqlite3-dev, sqlite3 and libdb4.3-dev headers and libraries must be installed before building. (Note that libdb4.4 does not work, but the code will compile OK !?) #./configure --with-lustre=/path/to/lustre/source #make #make install -- Dr. Guy Coates, Informatics System Group The Wellcome Trust Sanger Institute, Hinxton, Cambridge, CB10 1HH, UK Tel: +44 (0)1223 834244 x 6925 Fax: +44 (0)1223 496802 -- The Wellcome Trust Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE. _______________________________________________ Lustre-discuss mailing list [email protected] http://lists.lustre.org/mailman/listinfo/lustre-discuss
