Mar 05

FAI on Esprimo C5730

A while ago I had to deploy a debian in a room full of Esprimo C5730s. As my complete setup for the computer rooms I administrate is based on FAI I tried to use my default setup for the new boxes as well. I alread wrote about the problems I had with the Intel 82567LF network chipsets and the high precision timer. I'll try to give a complete overview of the process I used to get a running FAI-Install kernel on those boxes.

Since we're building the install image from source, get yourself a current copy of the kernel source. Wether it is a shapshot or the brand new git-tree is completely up to you. Just be sure it is contains the required network drivers for the 82567LF (>2.6.28).

Next stop on your shopping list is the advanced multi layered unification filesystem version 2. Have a look at the readme for the details of the integration into your kernel tree.
To work with FAI you'll need to apply the sec_perm.patch as well as the lhash.patch. I could be possible that you have to apply the latter yourself (at least I had to) as the automatic applying seemed to fail. But it isn't very complicated.
Be sure to activate the lhash and nfs relevant config switches in the aufs section of your kernel config afterwards. For the rest of the kernel settings I used the default debian kernel config.

Create your kernel packages (CONCURRENCY_LEVEL is just to speed things up a bit on your multicore machine)
CONCURRENCY_LEVEL=3 fakeroot make-kpkg kernel_image kernel_headers
Since we want to use the new kernel not only for the installation image but for the normal booting as well, put the *deb files in your debian distfiles root, from where you install your fai-client boxes, eg. your private distfiles mirror ftp.

To create the initrd for the installation linux of FAI, you have to make sure that initramfs includes the aufs-modules in your initrd. To achieve this you could create a initramfs-hook like that:

#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}

case $1 in
prereqs)
prereqs
exit 0
;;
esac

# Begin real processing below this line

. /usr/share/initramfs-tools/hook-functions
manual_add_modules aufs

Now just install the previously created *deb files locally and put the vmlinuz* and initrd* in your tftp root and configure your pxeconfig accordingly.

Now your boxes should be able to boot the install system for FAI and after that the deployed system using the new kernel including support for the nic.

Share