FAI 3.2.4, live-initramfs + unionfs

Thomas Roth t.roth at gsi.de
Tue Jan 22 21:27:51 CET 2008

Hello Henning,

thank you for your reply. It helped me to understand where my problems
really were. In the meantime, I have managed to install a client using
my FAI 3.2.4 server.
I had actually read you wiki article (and also the current FAI guide)
before encountering these problems. Yet I would like to vote for some
enhancements of the docu, for people like me who like to have everything
explained in detail. :-)

Necessary packages:
Since live-initramfs, live-helper and unionfs seem to be crucial for FAI
3.2, all three should be mentioned, also in the FAI guide. Actually they
should be dependencies of the FAI packages themselves? I don't remember
at which stage  I installed  live-initramfs, so maybe this one is
already in?

On an Etch system,  apt-get install will put the old unionfs 1.4 on your
system, which does not work with newer kernels. However, unionfs 1.x
came as an external kernel modules package. Unionfs 2.x obviously is a
kernel patch, to be found on www.filesystems.org. Confused me at first,
especially since this change is not mentioned directly on their web page.
Still, I managed to patch my kernel sources 2.6.22 with the
corresponding patch and compiled a booting kernel. Since unionfs is
still not part of the official kernel, this is now again something of a
special FAI - install - kernel, but nevermind.
I think it would be nice to have some hints at all that, probably in the
FAI - Wiki: the need of unionfs in general, the potential necessity of
using the upstream kernel patch for recent kernels and hence the
necessity of compiling a kernel especially for FAI installations. Well,
that is already marked "Todo" in the wiki.

NFSroot location, PXE config:
Again, it would be nice to read beforehand about the new (?) placement
of the nfsroot in <>/live/filesystem.dir. You won't have doubts about
your own /etc/fai/ - config then. ;-)

And the example PXE config lines you sent might also do well in the wiki
- the more examples, the better.
Under the wiki entry " Changing your boot setup" there is the question
about boot options for real hardware (instead of XEN domains).
I have always used the PXE boot config file to give the location of the
nfsroot, the configspace and the kernel/initrd, just as in your example.
In other words, it works quite the same for real hardware. The only
change is to put in 'boot=live", then.

Best regards,

Henning Sprang wrote:
> Hi Thomas,
> Before discussing your problems further, please make sure you read this:
> http://faiwiki.informatik.uni-koeln.de/index.php/FAI_3.2_on_Etch
> Please let me know of that makes things work for you - I authored this
> page and want to complete it if some things are missing.
> And surely some of my replies in this mail below - I only replied to the
> things I know well and left out the rest :)
> Thomas Roth wrote:
>> [...]
>> - The nfsroot location: I put "/srv/fai/nfsroot" into
>> /etc/fai/make-fai-nfsroot.conf, yet the system is placed in
>> /srv/fai/nfsroot/live/filesystem.dir".
>> [...]
> This is due to the unionfs system and the livehelper stuff used -
> everything O.K. :)
>> - Trying several combinations of "append" parameters, I once ended up
>> with a client having the nfsroot mounted nicely as root, that is under
>> "/". But there, "/tmp" was read-only, as were other crucial directories
>> of the system. 
>> [...]
> You wrongly assume that the system has to be mounted on some specific
> path - due to the use of unionfs and livehelper, this assumption is not
> correct.
>> So my questions are:  What is the correct directory structure for the
>> nfsroot
> It is correct as you describe it at the very start of your post, even if
> it looks strange to you :)
>> what is the correct PXE kernel append line,
> For example, I have successfully used a file like this
> (/srv/tftp/fai/pxelinux.cfg/C0A8008E.disable):
> ---
> default debian-default
> label debian-default
>         kernel vmlinuz-2.6.18-5-486
>         append initrd=initrd.img-2.6.18-5-486 ip=dhcp
> FAI_CONFIG_SRC=nfs://installserver/srv/fai/config/ FAI_ACTION=install
> root=/dev/nfs
> nfsroot=INSTALLSERVER-IP:/srv/fai/nfsroot,v2,tcp,rsize=32768,wsize=32768
> FAI_FLAGS=verbose,sshd,createvt
> ---
> Replace INSTALLSERVER-IP and installserver with correctv values for your
> own infrastructure.
>> and do I indeed
>> need unionfs to get the whole thing working?
> Yes, with FAI 3.2 you need it.
> If you don't want unionfs, you have to keep using pre-3.2 versions of
> FAI (or try to hack it right to work without unionfs - I don't know how
> musch work that would be).
> Livehelper(for which unionfs is a requirement) is the solution to the
> problem that things needed for fai-cd have been removed from debian -
> additionally, it solves some problems with a read-only nfsroot, and is
> re-usable for nfsroot, fai-cd, usb-sticks - quite nice thing :)
> FAI 3.2 is not yet thoroughly tested with lenny, but you can expect it
> to work quite nice with standart Debian Kernels when the release comes
> closer, which will by >2.6.22 then.
> Henning

Thomas Roth
Department: Informationstechnologie
Location: SB3 1.262
Phone: +49-6159-71 1453  Fax: +49-6159-71 2986

Gesellschaft für Schwerionenforschung mbH
Planckstraße 1
D-64291 Darmstadt

Gesellschaft mit beschränkter Haftung
Sitz der Gesellschaft: Darmstadt
Handelsregister: Amtsgericht Darmstadt, HRB 1528

Geschäftsführer: Professor Dr. Horst Stöcker

Vorsitzende des Aufsichtsrates: Dr. Beatrix Vierkorn-Rudolph,
Stellvertreter: Ministerialdirigent Dr. Rolf Bernhardt

More information about the linux-fai mailing list