(Thinking aloud) Priorized defaults

Thomas Neumann blacky+fai at fluffbunny.de
Wed Dec 9 18:55:41 CET 2009


hiya

>> If FAI isn't told anything, then the result of the installation will
>> be a SuSE Linux Enterprise Server (SLES) 10 in 64bit. If you tell fai
>> to install a 32bit machine, then this results in a 32bit SLES. If you
>> just want a Debian Box, then you'll get Debian Lenny / 64bit. If you
>> just want a "debian style" box, then this will result in a Ubuntu
>> 8.04LTS.

>> Any other ideas?

> Just use the FAI classes for this. You can write a very intelligent
> program (or script) that prints a FAI class to stdout, for
> e.g. UBUNTU08 or SLES10_64.

Maybe I didn't make myself clear enough. I don't want to address the
implementation (that part is already done and working very well), but the
decision-finding. (In the simplest case it's just "Always install OS foo
in version bar.")



On a sidenote: I ~hate~ using classes for this. Mostly because when using
the default fai scripts and hooks you need a class for every aspect of the
OS (Linux Flavour, OS Version, architecture) and _also_ quite a lot of
helper classes.

Classes I would need:

"descriptive" classes

flavour: Debian, Ubuntu, SLES
version: etch, lenny, squeeze, sid, hardy, 10SP2, 10SP3, 10SP4
architecture: x86_32, x86_64

"helper" classes

DEBcommon (packages that are the same in Ubuntu and Debian)
DEBIAN_32 (installs linux-kernel-2.6-i686)
DEBIAN_32-xen (installs linux-kernel-2.6-i686-xen)
DEBIAN_64 (installs linux-kernel-2.6-amd64)
DEBIAN_64-xen (installs linux-kernel-2.6-amd64-xen)
UBUNTU-xen (installs linux-image-2.6-server-xen)
SLES10 (installs kernel-smp)
SLES11 (installs kernel-default)
SLES10_32_VMware (installs kernel-vmipae)
SLES10_32_VMware (installs kernel-vmi)

and also one BASE_$flavour_$version_$arch class for each installable OS to
pick up the correct "base.tgz" (Would total in 16 classes currently.)

One could also differentiate even further - as of SLES10SP2 zypper has
become available as an installation tool. Sadly the command line syntax
has changed between SLES10SP2 and SLES11, so you have to treat both
zyppers differently.


Using the "and"-patch for install_packages has lessend the number of
"helper"-classes quite considerably, but I still found it necessary to
rewrite/extend the following hooks: configure, debconf, extrbase,
instsoft, partition, prepareapt, updatebase.

tschüß
thomas





More information about the linux-fai mailing list