5.5. Installation Server Setup

User intervention depends much on how the server side of a network installation is prepared. In a full network installation, you have only to turn the client on to initiate an auto-installation process. This can also be automated using different technologies available today (Remote Power Management) or by using Wake-on-LAN (WOL).

5.5.1. Setting up an installation repository

A system can be setup to serve as a configuration repository. The clients will access the server resources in order to boot, install packages and so on. To achieve this, various network services must be properly set up.

The installation server should export the SuSE Linux distribution's files via NFS. Create a directory on a filesystem with enough free space (several gigabytes) and copy the contents of the CDs into this directory. This directory is then to be exported via NFS (via an appropriate entry in /etc/exports). The following steps describe how to create an installation repository:

Login on the machine designated as installation server and create a directory to hold the SuSE Linux distribution files, i.e. /usr/local/SuSE/current.

In our example /usr/local/SuSE/current is the base directory for the SuSE Linux distribution. The location of this directory can be specified in the info file or on the command line of the kernel (see below) using the install keyword. (i.e. install=nfs://192.168.1.1/usr/local/SuSE/current)

Now copy the files from all CDs into the current directory or just copy those CDs required for the installation. Make sure that all packages needed for the installation are copied. Make sure the dot files in the root directory of the CD-ROM are also copied, these files serve as identification of the installation media. Use the following command to copy the CDs.

mount /cdrom
cd /cdrom && cp -va . /usr/local/SuSE/current ; cd -
umount /cdrom
      

Repeat this sequence for all other CDs. The directory can have 2 different structures which can be used for installation:

After you have copied the CDs into the installation directory, make sure it is exported via NFS. You can do that using YaST2 by using the NFS server module.

Additionally, you need to make the following services start every time the system boots.

5.5.2. Setting up a configuration repository

A configuration repository holds the control files for multiple machines. The control files can have any file names, which have to specified at the boot time of a client. To avoid supplying the profile name for every client, you can only define the directory of the control files. If a directory is specified, then the client tries to load a file with a name matching it's IP address in hex mode. (See Control file retrievable via HTTP.). This has the advantage that you will be dealing with consistent file names rather than IPs as file names which might lead to some confusion.

The configuration repository is the same directory you have to define if you are using the configuration system for creating control files.

5.5.2.1. HTTP Repository

To be able to use the HTTP protocol to retrieve control file while auto-installing, you need a working HTTP server on the server side. Install Apache or your favorite web server and enable it using YaST2. Normally the the web server root directory resides in /usr/local/httpd/htdocs so you need to create a subdirectory below the root directory of the web server which will be your configuration repository.

5.5.2.2. NFS Repository

Create a directory and make it available via NFS to the clients by exporting it. This directory may for example be in the same place where you have copied the CDs. (i.e. /usr/local/SuSE)

5.5.2.3. TFTP Repository

By default the TFTP directory is available under /tftpboot which can also contain boot images if you are booting over network. Do not forget to enable tftp in the inetd configuration file (/etc/inetd.conf). Inetd configuration can be done using YaST2.