9. FAI on other architectures

If you want to use FAI on other architectures than i386 or amd64 you might need to take care of some things yourself.

These are things that may have to be changed on other architectures:

Boot loader
There are scripts for setting up lilo(8) and grub(8). Here you may add support for your specific boot loader.

If you want to serve multiple nfsroot directories on one FAI server, you need to create specific config directories in /etc for fai, like /etc/fai-sarge and /etc/fai-etch. Then you need to set the $NFSROOT variables to different directories and run

faiserver#make-fai-nfsroot -c /etc/fai-sarge

9.1. How to install i386 systems from an amd64 system

To install a computer with a 32bit i386 system, you need an i386 nfsroot. Creating this 32bit nfsroot on an install server runnning amd64 is quiet simple. Install and setup the fai packages. Then copy your fai config files to a new subdirectory.

faiserver# cp -a /etc/fai /etc/fai-i386

Edit the variable $FAI_DEBOOTSTRAP_OPTS in /etc/fai-i386/make-fai-nfsroot.conf and add the option —arch i386. Also choose a different directory for your new nfsroot. Here are the two lines after editing.

NFSROOT=/srv/fai/nfsroot-i386
FAI_DEBOOTSTRAP_OPTS="--arch i386 --exclude=info"

Now call make-fai-nfsroot which creates the 32bit i386 nfsroot in /srv/fai/nfsroot-i386

faiserver# make-fai-nfsroot -v -C/etc/fai-i386

Creating a partitial mirror using fai-mirror(1) that is needed for a bootable CD or USB stick is also possible on a different architecture. Due to a bug in apt-move (#441231), you have to specify the architecture when calling fai-mirror.

$ export MAXPACKAGES=800
$ fai-mirror -a i386 -v -cDEFAULT,FAIBASE,I386 /srv/mirror-i386

That's all!

9.2. FAI on PowerPC

There's some stuff on http://www.layer-acht.org/fai. Most notably there are hooks for partitioning and config-files to setup bootloaders for oldworld and newworld.

9.3. FAI on IA64

There's one big IA64 Beowulf cluster running which was installed with FAI. Only the partitioning part has to be replaced by a short script, since sfdisk is not available on IA64. This should not be need any more since the patitioning tool setup-storage(8) works on all architectures, were parted is supported.

9.4. Installing other distributions using a Debian nfsroot

You can install all sorts of Linux distributions from a single Debian nfsroot. Therefore you have to create a base.tgz of the distribution you like to install and place it info the basefiles directory. Then name it UBUNTU910.tar.gz for example. An install client which belongs to the class UBUNTU910 then extracts this base file into its empty file system. Additionally you have to adjust the sources.list or similar configuration files which are needed for specifying the location of the package repository.

9.5. FAI for Ubuntu, Suse, Redhat and Gentoo

All FAI packages are available in Ubuntu and are used by a large number of people since many version.

Many people are interested in FAI for other (mostly RPM based) Linux distributions. I made some research and it should not be much work to implement it. But I need more help to implement it. If you are interested and would like to help me, please send an email to fai@informatik.uni-koeln.de.

A brief description how to install SLES9 with FAI is available at http://www.sourcecode.de/install_sles_with_fai.

There are also some information in the faiwiki.

9.6. FAI on SUN SPARC hardware running Linux

Although FAI is architecture independent, there are some packages which are only available for certain architectures (e.g. silo, sparc-utils).

SUN SPARC computers can boot from their boot prompt. To boot a SUN use:

boot net:dhcp - ip=::::::dhcp

You have to convert the kernel image from ELF format to a.out format. Use the program elftoaout (mentioned in the FAQ). The symlink to the kernel image to be booted is not the host name.

A success report as of 2001 is available at http://www.opossum.ch/fai/.

9.7. FAI for Solaris

FAI has also been ported for use with SUN Solaris OS installations in cooperation with Solaris jumpstart. This was done using FAI 2.8.4 and Solaris 9. Get the FAI sources from FAI 2.8.4 and change to the sunos directory. There you can call make which creates the tarball /tmp/fai-solaris.tar.gz. You have to read the file README.sunos and have some knowledge about Solaris jumpstart. The Solaris support was removed in FAI 2.9.

The file format of the configuration files in disk_config and package_config are different than those for Linux.