How to properly use one fai for different distributions?

Thomas Neumann blacky+fai at fluffbunny.de
Thu Oct 30 14:02:14 CET 2008


hiya

I'd like to keep things simple[1] and would like to use just one fai
nfsroot (actually 2, one for 32bit/i686/x86_32 and one for
32bit/amd64/x86_64) in order to install debian etch / debian lenny /
ubuntu 8.04 and somewhere in the future SuSE Linux Enterprise Server 10.

http://faiwiki.informatik.uni-koeln.de/index.php/FAI_multi-distribution
mentions:
===
A Quick overview(with Ubuntu as an example):

    * build a minimal base image (here, the make-fai-base-tgz from
svn://svn.debian.org/svn/fai/people/lazyboy/fai-distributions can help
you, but is not required - you can build you base image as you wish)
and put it into CLASSNAME.tar.gz in the configspace/basefiles
    * add the ubuntu host to the class CLASSNAME
    * check that the package lists of the classes of that host are ubuntu
compatible
    * install as usual
===

That seems quite nice, but task_extrbase expects /var/tmp/base.tgz and
nothing else. (FAI 3.2.14) [Or is CLASSNAME.tgz expected somewhere else
and fai copies this to /var/tmp?]

So I scrapped that idea.

Next try: In absence of a base.tgz task_extrbase expects a variable
FAI_DEBOOTSTRAP. I have set this variable and an appropriate proxy-server,
the bootstrap completed with

  I: Base system installed successfully.

But then:

  Traceback: task_error task_extrbase task task_install ...
  FATAL ERROR. Installation stopped.
  bash: no job control in this shell.

Hmm. Back to the drawing board.

Currently I'm using a base.tgz from etch and if i'm installing lenny I
rewrite /etc/apt/sources.list before the installation starts. (/etc, not
%target/etc)

This works, but I'm not satisfied with it. Mostly because it's more like a
dist upgrade etch->lenny and not a clean installation. (Depending on the
installation there's at least one package with the state "kept back"
because lenny introduced a new dependency.)


So - what would be the "correct" way? I'm about to patch task_extrbase to
do what I want it to, but maybe I'm just tackling this issue from the
wrong side...

tschüß
thomas

[1] simple as in: simple to me


More information about the linux-fai mailing list