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
