2.3 Remote Installation

There are several different ways to remotely install an NLD workstation. Each method is introduced by means of two short checklists, one listing the prerequisites for this method and the other illustrating the basic procedure. More detail is then provided on all the techniques used in these installation scenarios.

NOTE:In the following sections, the system to hold your new NLD installation is referred to as the target system or installation target. Installation source is used for any kind of source of installation data. This included physical media such as CDs and DVD, as well as network servers distributing the installation data across your network.

2.3.1 Installation Scenarios for Remote Installation

This section introduces the most common installation scenarios for remote installations. For each scenario, carefully check the list of prerequisites and follow the procedure outlined for this scenario. If you need detailed instructions for any particular step, follow the links provided for it.

IMPORTANT:The configuration of the X Window system isn't part of any remote installation process. After the installation is finished, log in as root to the target system, enter init 3 and then start SaX2 to configure the graphics hardware as described in Configuring the Graphics Card and Monitor.

Simple Remote Installation via VNC—Static Network Configuration

This type of installation still requires some degree of physical access to the target system to boot for installation. The installation itself is entirely controlled via a remote workstation using VNC to connect to the installation program. User interaction is required as with the manual installation described earlier (see Manual Installation).

For this type of installation, make sure the following requirements are met:

  • Remote installation source (NFS, HTTP, FTP, or SMB) with working network connection
  • Target system with working network connection
  • Controlling system with a working network connection and VNC viewer software or Java-enabled browser (for example, Firefox*, Konqueror*, Internet Explorer)
  • Target system capable of being booted from a physical boot medium (CD, DVD, or custom boot disk)
  • Valid static IP addresses already assigned to the installation source and the controlling system
  • Valid static IP address to be assigned to the target system

To perform this kind of installation, proceed as follows:

  1. Set up the installation source as described in Setting Up the Server Holding the Installation Sources.

  2. Boot the target system using the first CD or DVD of the NLD media kit.

  3. As the boot screen of the target system comes up, use the boot options prompt to give the appropriate VNC options and the address of the installation source.

    This is described in detail in Booting the Target System for Installation.

    The target system boots up in a text-based environment, giving you the network address and display number under which the graphical installation environment can be addressed by any VNC viewer application or browser. VNC installations announce themselves over SLP and can be found using Konqueror in service:// or slp:// mode.

  4. At the controlling workstation, open a VNC viewing application or Web browser and connect to the target system as described in VNC Installation.

  5. Perform the installation as described in Manual Installation.

  6. Reconnect to the target system after the initial boot (done in the same way as in Step 4).

  7. Finish the installation.

Simple Remote Installation via VNC—Dynamic Network Configuration via DHCP

This type of installation still requires some degree of physical access to the target system to boot for installation. The installation itself is entirely controlled via a remote workstation using VNC to connect to the installer, but still requires user interaction for the actual configuration efforts.

For this type of installation, make sure the following requirements are met:

  • Remote installation source (NFS, HTTP, FTP, or SMB) with working network connection
  • Target system with working network connection
  • Controlling system with a working network connection and VNC viewer software or Java-enabled browser (for example, Firefox, Konqueror, or Internet Explorer)
  • Target system capable of being booted from a physical boot medium (CD, DVD, or custom boot disk)
  • Running DHCP server providing IP addresses

To perform this kind of installation, proceed as follows:

  1. Set up the installation source as described in Setting Up the Server Holding the Installation Sources.

    Choose an NFS, HTTP, FTP, or SMB type of network server.

  2. Boot the target system using the first CD or DVD of the NLD media kit.

  3. As the boot screen of the target system comes up, use the boot options prompt to give the appropriate VNC options and the address of the installation source.

    This is described in detail in Booting the Target System for Installation.

    The target system boots up to a text-based environment, giving you the network address and display number under which the graphical installation environment can be addressed by any VNC viewer application or browser. VNC installations announce themselves over SLP and can be found with Konqueror in service:// or slp:// mode.

  4. At the controlling workstation, open a VNC viewing application or Web browser and connect to the target system as described in VNC Installation.

  5. Perform the installation as described in Manual Installation.

  6. Reconnect to the target system after the initial boot (done in the same way as in Step 4).

  7. Finish the installation.

Remote Installation via VNC—PXE Boot and Wake-on-LAN

This type of installation is completely hands-off. The target machine is started and booted remotely. User interaction is needed only for the actual installation. This approach is suitable for cross-site deployments.

To perform this type of installation, make sure the following requirements are met:

  • Remote installation source (NFS, HTTP, FTP, or SMB) with working network connection
  • TFTP server
  • Running DHCP server for your network
  • Target system capable of PXE boot, networking, and Wake-on-LAN
  • Controlling system with a working network connection and VNC viewer software or Java-enabled browser (for example, Firefox, Konqueror, or Internet Explorer)

To perform this type of installation, proceed as follows:

  1. Set up the installation source as described in Setting Up the Server Holding the Installation Sources.

    Choose an NFS, HTTP, or FTP type of network server.

  2. Set up a TFTP server to hold a boot image that can be pulled by the target system (see Setting Up a TFTP Server).

  3. Set up a DHCP server to provide IP addresses to all machines, revealing the location of the TFTP server to the target system (see Setting Up a DHCP Server).

  4. Prepare the target system for PXE boot (see Preparing the Target System for PXE Boot).

  5. Initiate the boot process of the target system using Wake-on-LAN (see Wake-on-LAN).

  6. At the controlling workstation, open a VNC viewing application or Web browser and connect to the target system as described in VNC Installation.

  7. Perform the installation as described in Manual Installation.

  8. Reconnect to the target system after the initial boot (done in the same way as in Step 4).

  9. Finish the installation.

Simple Remote Installation via SSH—Static Network Configuration

This type of installation still requires some degree of physical access to the target system to boot for installation and to determine the IP address of the installation target. The installation itself is entirely controlled via a remote workstation using SSH to connect to the installer. User interaction is required as with the manual installation described earlier (see Manual Installation).

For this type of installation, make sure the following requirements are met:

  • Remote installation source (NFS, HTTP, FTP, or SMB) with a working network connection
  • Target system with a working network connection
  • Controlling system with a working network connection and VNC viewer software or Java-enabled browser (for example, Firefox, Konqueror, or Internet Explorer)
  • Target system capable of being booted from a physical boot medium (CD, DVD, or custom boot disk)
  • Valid static IP addresses already assigned to the installation source and the controlling system
  • Valid static IP address to be assigned to the target system

To perform this kind of installation, proceed as follows:

  1. Set up the installation source as described in Setting Up the Server Holding the Installation Sources.

  2. Boot the target system using the first CD or DVD of the NLD media kit.

  3. As the boot screen of the target system comes up, use the boot options prompt to give the appropriate parameters for network connection, location of the installation source, and the SSH enablement.

    See Using Custom Boot Options for detailed instructions on the use of these parameters.

    The target system boots up in a text-based environment, giving you the network address under which the graphical installation environment can be addressed by any SSH client.

  4. At the controlling workstation, open a terminal window and connect to the target system as described in Connecting to the Installation Program.

  5. Perform the installation as described in Manual Installation.

  6. Reconnect to the target system after the initial boot (done in the same way as in Step 4).

  7. Finish the installation.

Simple Remote Installation via SSH—Dynamic Network Configuration via DHCP

This type of installation still requires some degree of physical access to the target system to boot for installation and to determine the IP address of the installation target. The installation itself is entirely controlled via a remote workstation using VNC to connect to the installer, but still requires user interaction for the actual configuration efforts.

For this type of installation, make sure the following requirements are met:

  • Remote installation source (NFS, HTTP, FTP, or SMB) with a working network connection
  • Target system with a working network connection
  • Controlling system with a working network connection and VNC viewer software or Java-enabled browser (for example, Firefox, Konqueror, or Internet Explorer)
  • Target system capable of being booted from a physical boot medium (CD, DVD, or custom boot disk)
  • Running DHCP server providing IP addresses

To perform this kind of installation, proceed as follows:

  1. Set up the installation source as described in Setting Up the Server Holding the Installation Sources.

    Choose an NFS, HTTP, FTP, or SMB type of network server.

  2. Boot the target system using the first CD or DVD of the NLD media kit.

  3. As the boot screen of the target system comes up, use the boot options prompt to give the appropriate parameters for network connection, location of the installation source and the SSH enablement.

    See Using Custom Boot Options for detailed instructions on the use of these parameters.

    The target system boots up in a text-based environment, giving you the network address under which the graphical installation environment can be addressed by any SSH client.

  4. At the controlling workstation, open a terminal window and connect to the target system as described in Connecting to the Installation Program.

  5. Perform the installation as described in Manual Installation.

  6. Reconnect to the target system after the initial boot (done in the same way as in Step 4).

  7. Finish the installation.

Remote Installation via SSH—PXE Boot and Wake-on-LAN

This type of installation is completely hands-off. The target machine is started and booted remotely.

To perform this type of installation, make sure the following requirements are met:

  • Remote installation source (NFS, HTTP, FTP, or SMB) with a working network connection
  • TFTP server
  • Running DHCP server for your network, providing a static IP to the host that needs be installed
  • Target system capable of PXE boot, networking, and Wake-on-LAN
  • Controlling system with a working network connection and SSH client software

To perform this type of installation, proceed as follows:

  1. Set up the installation source as described in Setting Up the Server Holding the Installation Sources.

    Choose an NFS, HTTP, or FTP type of network server.

  2. Set up a TFTP server to hold a boot image that can be pulled by the target system.

    See Setting Up a TFTP Server.

  3. Set up a DHCP server to provide IP addresses to all machines, revealing the location of the TFTP server to the target system.

    See Setting Up a DHCP Server.

  4. Prepare the target system for PXE boot.

    See Preparing the Target System for PXE Boot.

  5. Initiate the boot process of the target system using Wake-on-LAN.

    See Wake-on-LAN.

  6. At the controlling workstation, start a VNC client and connect to the target system as described in SSH Installation.

  7. Perform the installation as described in Manual Installation.

  8. Reconnect to the target system after the initial boot (done in the same way as in Step 4).

  9. Finish the installation.

2.3.2 Setting Up the Server Holding the Installation Sources

Depending on the operating system running on the machine you want to use as network installation source for NLD, there are several options for the server configurations. The easiest way to set up an installation server is to use YaST on a SUSE LINUX Enterprise Server 9 machine. On other versions of SUSE LINUX Enterprise Server or SUSE LINUX, set up the installation source manually.

HINT:You can even use a Microsoft* Windows machine as the installation server for your Linux deployment. See Managing an SMB Installation Source for details.

Setting Up an Installation Server Using YaST on SLES 9

YaST offers a graphical tool to create network installation sources. It supports HTTP, FTP, and NFS types of network installation servers.

  1. Log in as root to the machine that is to be the installation server.

  2. Run YaST > Miscellaneous > Installation Server.

  3. Select the server type (HTTP, FTP, or NFS).

    The selected server service is started automatically every time the system starts. If a service of the selected type is already running on your system and you want to configure it manually for the server, deactivate the automatic configuration of the server service by selecting Do not configure any network services. In both cases, define the directory in which the installation data should be made available on the server.

  4. Configure the required server type.

    This step relates to the automatic configuration of server services. It is skipped when automatic configuration is deactivated. Define an alias for the root directory of the FTP or HTTP server where the installation data will be located. The installation source is later located under ftp://Server-IP/Alias/Name (FTP) or under http://Server-IP/Alias/Name (HTTP). Name stands for the name of the installation source, which is defined in Step 5. If you selected NFS in Step 3, define wildcards and exports options. The NFS server will be accessible under nfs://Server-IP/Name.

    Details of NFS and exports can be found in “Section 21.10: NFS—Shared File Systems” in the SUSE LINUX Enterprise Server 9 Administration Guide.

  5. Configure the installation source.

    Before the installation media are copied to their destination, define the name of the installation source (ideally, an easily remembered abbreviation of the product and version). YaST allows providing ISO images of the media instead of copies of the installation CDs. If you want to take this route, select this option and specify the directory path under which the ISO files will be found locally. Depending on the product you are going to distribute using this installation server, more add-on CDs or service pack CDs might be required to install the product completely. If you activate Prompt for Additional CDs, YaST automatically reminds you to supply these media. To announce your installation server in the network via OpenSLP, select that option.

    HINT:Consider announcing your installation source via OpenSLP if your network setup supports this option. This saves you from having to enter the network installation path on every single target machine. The target systems are booted using the SLP boot option and can find the network installation source without any further configuration. For details on this option, see Booting the Target System for Installation.

  6. Upload the installation data.

    The most lengthy step in configuring an installation server is the copying of the actual installation CDs. Insert the media in the sequence requested by YaST and wait for the copying procedure to end. When the sources have been fully copied, return to the overview of existing information sources and close the configuration by clicking Finish.

    Your configuration server is now fully configured and ready for service. It is automatically started every time the system is started. No further intervention is required. You need to configure and start this service correctly by hand only if you have deactivated the automatic configuration of the selected network service with YaST as an initial step.

To deactivate an installation source, click Change in the overview to reach a list of all available installation sources. Then select the entry to remove and click Delete. This delete procedure relates to the deactivation of only the server service. The installation data itself remains in the chosen directory. However, you can remove it manually.

If your installation server should provide the installation data for more than one product or product version, start the YaST installation server module and select Configure in the overview of existing installation sources to configure the new installation source.

Manual Setup of an NFS Installation Source

IMPORTANT:We assume you are using some kind of SUSE LINUX (SUSE LINUX Enterprise Server 9 or SUSE LINUX Professional 9.x) based operating system on the machine that will serve as the installation server. If this is not the case, refer to the other vendor's documentation on NFS instead of completing the following directions.

Setting up an NFS source for installation is basically done in two steps. First, create the directory structure holding the installation data and copy the installation media to this structure. Then export the directory holding the installation data to the network.

To create a directory holding the installation data, proceed as follows:

  1. Log in as root.

  2. Create a directory to later hold the entire installation data and change to this directory.

    For example:

    mkdir install/nld/NLD9

  3. For each CD contained in the media kit, do the following:

    1. Copy the entire content of the installation CD to the installation server directory by entering:

      cp -a /media/path_to_your_CD-ROM_drive.

      Replace path_to_your_CD-ROM_drive with the actual path to your CD/DVD drive. Depending on the type of drive used in your system, this can be either cdrom, cdrecorder, dvd, or dvdrecorder.

    2. Rename the directory to the CD number by entering

      mv path_to_your_CD-ROM_drive CDx

      Replace x with the actual number of your CD.

To export the installation sources via NFS using YaST, proceed as follows:

  1. Log in as root.

  2. Run YaST > Network Services > NFS Server.

  3. Select Start NFS Server and Open Port in Firewall, then click Next.

  4. Select Add Directory, then specify the path to the directory holding the installation data.

    In this case, it is /NLD9.

  5. Select Add Host, then specify the hostnames of the machines you want the installation data to be exported to.

    Instead of specifying hostnames here, you could also use wildcards, ranges of network addresses, or just the domain name of your network. Also specify the appropriate export options or keep the default, which works fine in most setups. For more information on the syntax used in exporting NFS shares, read the manual page (man exports).

  6. Click Finish.

    The NFS server holding the NLD installation sources automatically starts and is integrated into the boot process.

If you prefer to manually export the installation sources via NFS instead of using the YaST NFS Server module, proceed as follows:

  1. Log in as root.

  2. Open the /etc/exports file, add the following line, then save and exit the file.

    /NLD9	*(ro,root_squash,sync)
    

    This exports the /NLD9 directory to any host that is part of this network that can connect to this server. To limit the access to this server, use netmasks or domain names instead of the general wildcard (*). See man exports for details.

  3. To add the NFS service to the list of servers started at system bootup, execute the following commands:

    insserv /etc/init.d/nfsserver

    insserv /etc/init.d/portmap

  4. Start the NFS server by entering

    rcnfsserver start

    If you need to change the configuration of your NFS server later on, modify the configuration file and restart the NFS daemon with rcnfsserver restart.

To announce the NFS server via OpenSLP and make its address known to all clients in your network, proceed as follows:

  1. Log in as root.

  2. Change to the /etc/slp.reg.d/ directory.

  3. Create a configuration file called install.suse.nfs.reg containing the following lines:

    # Register the NFS Installation Server                      
    service:install.suse:nfs://$HOSTNAME/path_instsource/CD1,en,65535 description=NFS Installation Source for NLD9
    

    Replace path_instsource with the actual path to the installation source on your server.

  4. Save this configuration file and start the OpenSLP daemon using the following command:

    rcslpd start

For more information on OpenSLP, see the package's documentation located under /usr/share/doc/packages/openslp/ or “Section 21.6: SLP Services in the Network” in the SUSE LINUX Enterprise Server 9 Administration Guide.

Manual Setup of an FTP Installation Source

Creating an FTP installation source is very similar to creating an NFS installation source. FTP installation sources can be announced over the network using OpenSLP as well.

  1. Create a directory holding the installation sources as described in Manual Setup of an NFS Installation Source.

  2. Configure the FTP server to distribute the contents of your installation directory.

    1. Log in as root and install the package pure-ftpd (a lean FTP server) using the YaST package manager.

    2. Change to the FTP server root directory by entering

      cd /srv/ftp

    3. Create a subdirectory holding the installation sources in the FTP root directory by entering

      mkdir instsource

      Replace instsource with the product name.

    4. Copy the contents of all installation CDs to the FTP server's root directory (similar to the procedure described under Step 3).

      Alternatively, mount the contents of the already existing installation repository into the change root environment of the FTP server by entering

      mount --bind path_to_instsource /srv/ftp/instsource

      Replace path_to_instsource and instsource with values matching your setup. If you need to make this permanent, add it to /etc/fstab.

    5. Start pure-ftpd by entering:

      pure-ftpd &

  3. Announce the installation source via OpenSLP (if this is supported by your network setup).

    1. Create a configuration file called install.suse.ftp.reg under /etc/slp/reg.d/ which contains the following lines:

      # Register the FTP Installation Server         
      service:install.suse:ftp://$HOSTNAME/srv/ftp/instsource/CD1,en,65535 
      description=FTP Installation Source for NLD9
      

      Replace instsource with the actual name of the installation source directory on your server. Also note that the service: line should be entered as one continuous line.

    2. Save this configuration file and start the OpenSLP daemon by entering

      rcslpd start

Manual Setup of an HTTP Installation Source

Creating an HTTP installation source is very similar to creating an NFS installations source. HTTP installation sources can be announced over the network using OpenSLP as well.

  1. Create a directory holding the installation sources as described in Manual Setup of an NFS Installation Source.

  2. Configure the HTTP server to distribute the contents of your installation directory.

    1. Log in as root and install the apache2 package using the YaST package manager.

    2. Change to the root directory of the HTTP server (/srv/www/htdocs) and create a subdirectory to hold the installation sources:

      mkdir instsource

      Replace instsource with the product's name.

    3. Create a symbolic link from the location of the installation sources to the root directory of the Web server (/srv/www/htdocs):

      ln -s /path_instsource /srv/www/htdocs/instsource
      
    4. Modify the configuration file of the HTTP server (/etc/apache2/default-server.conf) to make it follow symbolic links by replacing

      Options None
      

      with

      Options Indexes FollowSymLinks
      
    5. Restart the HTTP server by entering

      rcapache2 restart

  3. Announce the installation source via OpenSLP (if this is supported by your network setup).

    1. Create a configuration file called install.suse.ftp.reg under /etc/slp/reg.d/ which contains the following lines:

      # Register the HTTP Installation Server            
      service:install.suse:http://$HOSTNAME/srv/www/htdocs/
      instsource/CD1/,en,65535                                                       	description=HTTP Installation Source for NLD9
      

      Replace path_to_instsource with the actual path to the installation source on your server. Also not that the service: line should be entered as one continuous line.

    2. Save this configuration file and start the OpenSLP daemon using the following command:

      rcslpd restart
      

Managing an SMB Installation Source

Using an SMB (Samba) source, you can pull in the installation sources from a Microsoft Windows server and start your Linux deployment even with no Linux machine around.

To set up an exported Windows Share holding your NLD installation sources, proceed as follows:

  1. Log in to your Windows machine.

  2. Start Explorer and create a new folder to hold the entire installation tree.

    Name it INSTALL, for example.

  3. Export this share according to the procedure outlined in your Windows documentation.

  4. Enter this share and create a subfolder called NLD.

  5. Copy each NLD CD to a separate folder and name these folders CD1, CD2, CD3, etc.

  6. Change to the top directory of the exported share (INSTALL, in this example) and copy the following files and folders from NLD/CD1 to this folder: content, media.1, control.xml, and boot.

  7. Create a new folder under INSTALL and name it yast.

  8. Change to the yast folder and create the files order and instorder.

  9. Open the order file and enter the following line:

    /NLD/CD1 smb://user:password@hostname/NLDCD1
    

    Replace user with the username you use on the Windows machine or use Guest to enable guest login to this share. Replace password with either your login password or any other string in case you use guest login. Replace hostname with the network name of your Windows machine.

  10. Open the instorder file and add the following line:

    /NLD/CD1
    

To use an SMB mounted share as installation source, proceed as follows:

  1. Boot the installation target.

  2. Select Installation.

  3. Press F3 for a selection of installation sources.

  4. Select SMB and then specify the Windows machine’s name or IP address, the share’s name (INSTALL, in this example), username, and password.

  5. Press Enter.

    YaST starts and you can now perform the installation.

IMPORTANT:If you are considering using your SMB server as a source for Service Packs (SPs) later on, follow the procedure as described above, create subfolders holding the SP CDs (see Manual Setup of a Network Installation Source), and adjust the order and instorder files accordingly.

2.3.3 Preparing the Boot of the Target System

This section details the configuration tasks needed in complex boot scenarios. It contains ready-to-apply configuration examples for DHCP, PXE boot, TFTP, and Wake-on-LAN.

Setting Up a DHCP Server

There are two ways to set up a DHCP server. For SUSE LINUX Enterprise Server 9 (SLES 9), YaST provides a graphical interface to the process. Users of SUSE LINUX professional and non-SUSE LINUX users should manually edit the configuration files or use the front end provided by their operating system vendors.

IMPORTANT:The following sections cover only the configuration changes needed to make your DHCP server ready for PXE boot. For more information on the configuration of DHCP, see your operating system vendor’s documentation.

Setting Up a DHCP Server with YaST on SLES 9

To announce the TFTP server's location to the network clients and to specify the boot image file to be pulled by the installation target, add two declarations to your DHCP server configuration.

  1. Log in as root to the machine hosting the DHCP server.

  2. Run YaST > Network Services > DHCP server.

  3. Click Expert Settings, then click Yes when warned about leaving the start-up dialog.

  4. In the Configured Declarations window, select the subnet where the new system is to be located and click Edit.

  5. In the Subnet Configuration Window, click Add to add a new option the subnet's configuration.

  6. Select filename and specify pxelinux.0 as the option's value.

  7. Add another option (next-server) and set its value to the address of the TFTP server.

  8. Click OK > Finish to complete the DHCP server configuration.

To configure DHCP to provide a static IP address to a specific host, specify the Expert Settings of the DHCP server configuration module (Step 3) and add a new declaration of the host type. Add the hardware and fixed-address options to this host declaration and provide the appropriate values.

Manual Setup of a DHCP Server

All the DHCP server needs to do apart from providing automatic address allocation to your network clients is to announce the IP address of the TFTP server and the file to be pulled in by the installation routines on the target machine.

  1. Log in as root to the machine hosting the DHCP server.

  2. Add the following lines to your DHCP server's configuration file located under /etc/dhcpd.conf:

    group {   # PXE related stuff ...   #   # “next-server” defines the tftp server which will serve the   pxelinux image to the PXE clients.   next-server 192.168.100.1;   #   # “filename” specifies the pxelinux image on the tftp server    which will be served to the PXE clients.   # The configured tftp server on 192.168.100.1 runs in a “change- root jail” to /srv/tftpboot filename “pxelinux.0”;    host Zert120 { hardware ethernet 00:10:dc:95:d7:b7; } }
    

    Replace ip_of_the_tftp_server with the actual IP address of the TFTP server.

    For more information on the options available in dhcpd.conf, see the manual page (man dhcpd.conf).

  3. Restart the DHCP server by entering

    rcdhcpd restart

If you plan on using SSH for the remote control of a PXE/Wake-on-LAN installation, you need to explicitly specify the IP address DHCP is supposed to provide to the installation target. In order to achieve this, modify the above-mentioned DHCP configuration according to the following example:

group {  # PXE related stuff  #   # “next server” defines the tftp server that will be used  next server ip_tftp_server:    #  # “filename” specifies the pxelinux image on the tftp server  # the server runs in chroot under /srv/tftpboot  filename “pxelinux.0”;  host test {   hardware ethernet mac_address;  fixed-address some_ip_address;  }}

The host statement introduces the hostname of the installation target. To bind the hostname and IP address to a specific host, you have to know and specify the system's hardware (MAC) address. Replace all the variables used in this example by the actual values that match your environment.

When you restart the DHCP server, it provides a static IP to the host you specified and thus enables you to connect to the system via SSH.

Setting Up a TFTP Server

Setting up a TFTP server can be done either with YaST on the recent versions of SUSE LINUX Enterprise Server or SUSE LINUX Professional operating systems or manually on any other Linux operating system that supports xinetd and TFTP. The TFTP server delivers the boot image to the target system when it boots up and sends a request for it.

Setting Up a TFTP Server Using YaST
  1. Log in as root.

  2. Run YaST > Network Services > TFTP Server, then install the requested package.

  3. Click Enable to make sure the server is started and included in the boot up routines.

    No further action from your side is required to secure this; xinetd starts tftpd at boot time.

  4. Click Open Port in Firewall to open the appropriate port in the firewall running on your machine.

    If there is no firewall running on your server, this option won't be available.

  5. Click Browse to browse for the boot image directory.

    The default /tftpboot directory is created and selected automatically.

  6. Click Finish to apply your settings and start the server.

Manual Setup of a TFTP Server
  1. Log in as root and install the tftp and xinetd packages.

  2. If unavailable, create the /srv/tftpboot and /srv/tftpboot/pxelinux.cfg directories.

  3. Add the appropriate files needed for the boot image as described in PXE Boot.

  4. Modify the configuration of xinetd located under /etc/xinetd.d/ to make sure the TFTP server is started on boot.

    1. If it doesn't exist, create a file called tftp under this directory:

      touch tftp

      chmod 755 tftp

    2. Open the tftp file and add the following lines:

      service tftp
      {
                   socket_type     = dgram
                   protocol        = udp
                   wait            = yes
                   user            = root
                   server          = /usr/sbin/in.tftpd
                   server_args     = -s /tftpboot
                   disable         = no
      }
      
    3. Save the file, then restart xinetd by entering:

      rcxinetd restart

PXE Boot

For reference, some technical background information as well as PXE’s complete specifications are available in the Preboot Execution Environment (PXE) Specification.

  1. Change to the directory of your installation repository and copy the linux, initrd, message, and memtest files to the /srv/tftpboot directory by entering the following:

    cp -a boot/loader/linux boot/loader/initrd boot/loader/message boot/loader/memtest /srv/tftpboot

  2. Install the syslinux package directly from your installation CDs or DVDs with YaST.

  3. Copy the /usr/share/syslinux/pxelinux.0 file to the /srv/tftpboot directory by entering the following:

    cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot

  4. Change to the directory of your installation repository and copy the isolinux.cfg file to /srv/tftpboot/pxelinux.cfg/default by entering the following:

    cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default

  5. Edit the /srv/tftpboot/pxelinux.cfg/default file and remove the lines beginning with:

    • gfxboot
    • readinfo
    • framebuffer
  6. Insert the following entries in the append lines of the default failsafe and apic labels:

    Entry

    Description

    insmod=e100

    Loads the kernel module for an Intel 100MBit/s network card is on the PXE clients. This entry depends on the client’s hardware and must be adapted accordingly. In the case of a Broadcom* GigaBit network card, this entry would read insmod=bcm5700.

    netdevice=eth0

    Defines the client’s network interface that must be used for the network installation. It is necessary only if the client is equipped with several network cards and must be adapted accordingly. In case of a single network card, this entry can be omitted.

    install=nfs://ip_instserver/path_instsource/CD1

    Defines the NFS server and the installation source for the client installation. Replace ip_instserver with the actual IP address of your installation server and path_instsource with the actual path to the installation sources. HTTP, FTP, or SMB sources are addressed in a similar manner, except for the protocol prefix, which should read http or ftp.

    IMPORTANT:If you need to give other boot options for the installation routines, such as SSH or VNC boot parameters, add them to the install entry. See Booting the Target System for Installation for an overview of parameters and some examples.

    An example /srv/tftpboot/pxelinux.cfg/default file follows. Adjust the protocol prefix for the installation source to match you network setup and specify your preferred method of connecting to the installer by adding the vnc and vncpassword or the ssh and sshpassword options to the install entry.

    default linux
    # default
    label linux
      kernel linux
      append initrd=initrd ramdisk_size=65536 insmod=e100
          install=nfs://ip_instserver/path_instsource/NLD9
    # failsafe
    label failsafe
      kernel linux
      append initrd=initrd ramdisk_size=65536 ide=nodma apm=off
       acpi=off insmod=e100 install=nfs://ip_instserver/path_instsource/NLD9
    # apic
    label apic
      kernel linux
      append initrd=initrd ramdisk_size=65536 apic insmod=e100
      install=nfs://ip_instserver/path_instsource/NLD9
    # manual
    label manual
      kernel linux
      append initrd=initrd ramdisk_size=65536 manual=1
    # rescue
    label rescue
      kernel linux
      append initrd=initrd ramdisk_size=65536 rescue=1
    # memory test
    label memtest
      kernel memtest
    # hard disk
    label harddisk
      kernel linux
      append SLX=0x202
    implicit        0
    display         message
    prompt          1
    timeout         100
    

    Replace ip_instserver and path_instsource with the values used in your setup.

The following section serves as a short reference of the PXELINUX options used in this setup. More information on the options available can be found in the documentation of the syslinux package located under /usr/share/doc/packages/syslinux/.

PXELINUX Configuration Options

The options listed here are a subset of all the options available for the PXELINUX configuration file.

Table 2-2 PXELINUX Configuration Options.

Option

Description

DEFAULT kernel options...

Sets the default kernel command line. If PXELINUX boots automatically, it acts just as if the entries after DEFAULT had been typed in at the boot: prompt except that the auto option is automatically added, indicating an automatic boot.

If no configuration file is present, or no DEFAULT entry is present in the config file, the default is the kernel name “linux” with no options.

APPEND options...

Adds one or more options to the kernel command line. These are added for both automatic and manual boots. The options are added at the very beginning of the kernel command line, usually permitting explicitly entered kernel options to override them.

LABEL label KERNEL image APPEND options...

Indicates that if label is entered as the kernel to boot, PXELINUX should instead boot image, and the specified APPEND options should be used instead of the ones specified in the global section of the file (before the first LABEL command.) The default for image is the same as label, and if no APPEND is given, the default is to use the global entry (if any). Up to 128 LABEL entries are permitted.

Note that GRUB uses the following syntax:

title mytitle
    kernel my_kernel my_kernel_options
initrd myinitrd

whereas PXELINUX uses the following syntax:

label mylabel
    kernel mykernel
    append myoptions

Labels are mangled as if they were filenames, and they must be unique after mangling. For example, the two labels “v2.1.30” and “v2.1.31” would not be distinguishable under PXELINUX because both mangle to the same DOS filename.

The kernel doesn’t have to be a Linux kernel; it can be a boot sector or a COMBOOT file.

APPEND -

Appends nothing. APPEND with a single hyphen as argument in a LABEL section can be used to override a global APPEND.

LOCALBOOT type

On PXELINUX, specifying LOCALBOOT 0 instead of a KERNEL option means invoking this particular label and causes a local disk boot instead of a kernel boot.

0: Performs a normal boot.

4: Performs a local boot with the Universal Network Driver Interface (UNDI) driver still resident in memory.

5: Performs a local boot with the entire PXE stack, including the UNDI driver, still resident in memory.

All other values are undefined. If you don’t know what the UNDI or PXE stacks are, specify 0.

TIMEOUT timeout

Indicates how long to wait at the boot: prompt until booting automatically, in units of 1/10s. The timeout is cancelled as soon as the user types anything on the keyboard, the assumption being that the user will complete the command line already begun. A timeout of zero (0) disables the timeout completely (this is also the default).

The maximum possible timeout value is 35996; (just less than one hour).

PROMPT flag_val

If flag_val is 0, displays the boot: prompt only if the Shift or Alt key is pressed, or Caps Lock or Scroll Lock is set (this is the default). If flag_val is 1, always displays the boot: prompt.

F2 filename
F1 filename
..etc...
F9 filename
F10 filename

Displays the indicated file on the screen when a function key is pressed at the boot: prompt. This can be used to implement preboot online help (presumably for the kernel command line options.) For backward compatibility with earlier releases, F10 can be also specified as F0. Note that there is currently no way to bind filenames to F11 and F12.

Preparing the Target System for PXE Boot

Prepare the system's BIOS for PXE boot by including the PXE option in the BIOS boot order.

Do not place the PXE option ahead of the hard disk boot option in the BIOS. If you do, this system tries to reinstall itself every time you boot it.

Preparing the Target System for Wake-on-LAN

Wake-on-LAN requires the appropriate BIOS option to be enabled prior to the installation. Also, make note of the MAC address of the target system because this data is needed to initiate Wake-on-LAN.

Wake-on-LAN

Wake On LAN allows a machine to be powered on via a special network packet that is sent containing the machine's MAC address. Because every machine in the world has a unique MAC identifier, you don't need to worry about accidentally powering on the wrong machine.

IMPORTANT:If the controlling machine is not located in the same network segment as the installation target that should be woken, either configure the WOL requests to be sent as multicasts or remotely control a machine on that network segment to act as the sender of these requests.

Users of SUSE LINUX Enterprise Server 9 can use a YaST module called WOL to easily configure Wake-on-LAN. Users of other versions of SUSE LINUX operating systems can use a command line tool.

Configuring Wake-on-LAN with YaST

  1. Log in as root.

  2. Run YaST > Network Services > WOL.

  3. Click Add, then specify the hostname and MAC address of the target system.

  4. To power on this machine, select the appropriate entry and click Wake up.

Manual Configuration of Wake-on-LAN

  1. Log in as root.

  2. Run YaST > Install and Remove Software, then install the netdiag package.

  3. Open a terminal and enter the following command as root to wake the target:

    ether-wake mac_of_target

    Replace mac_of_target with the actual MAC address of the target.

2.3.4 Booting the Target System for Installation

Basically, there are two different ways to customize the boot process for installation apart from those mentioned under Wake-on-LAN and PXE Boot.

You can either use the default boot options and F keys or use the boot options prompt of the installation boot screen to pass on any boot options that the installation kernel might need on this particular hardware.

Using the Default Boot Options

The boot options have already been described in detail in Manual Installation. Refer to the section called Booting for Installation for more information on the individual options.

Generally, just selecting Installation starts the installation boot process. If problems occur, the Installation—ACPI Disabled or Installation—Safe Settings options might come in handy.

Using the F Keys

The menu bar at the bottom of the screen offers some advanced functionality needed in some setups. Using the F keys, you can specify additional options to be given to the installation routines without having to know the detailed syntax of these parameters as you would need to if you entered them as boot options (see Using Custom Boot Options).

See the following table for a complete set of the available options.

Table 2-3 F Keys during Installation

Key

Purpose

Available Options

Default Value

F1

Provide help

None

None

F2

Change the screen resolution for the installation

  • Text Mode
  • VESA
  • Resolution #1
  • Resolution #2
  • ...

Depends on your graphics hardware.

F3

Select the installation source

  • CD-ROM
  • SLP
  • FTP
  • HTTP
  • NFS
  • SMB
  • Hard Disk

CD-ROM

F4

Select the installation language

All supported languages

English

F5

Display installation log files

  • Native
  • Verbose
  • Silent

Silent

F6

Apply driver update disk

Driver

None

Using Custom Boot Options

Using the appropriate set of boot options helps facilitate your installation procedure. Many parameters can also be configured later on using the linuxrc routines (described in further detail in “Section 3: Special Installation Procedures” in the SUSE LINUX Enterprise Server 9 Administration Guide), but using the boot options is easier. In some automated setups, the boot options can be provided via the initrd or an info file.

The following table lists all installation scenarios mentioned in this chapter with the required boot parameters and corresponding boot options. Just add all of them in the order they appear in the following table to get one boot option string that is handed down to the installation routines. For example (all in one line):

install=... netdevice=... hostip=... netmask=... vnc=... vncpassword=...

Replace all the values (...) in this string with the values appropriate for your setup.

Table 2-4 Installation (Boot) Scenarios Used in This Chapter

Installation Scenario

Parameters Needed for Booting

Boot Options

Using the NLD CDs or DVD as the Installation Source

None (system boots automatically)

N/A

Using a Network Installation Source

  • Location of the network installation server
  • Network setup if DHCP isn't supported
  • install=(nfs,http,ftp,smb)://path_to_instmedia
  • hostip=some_ip
  • netmask=some_netmask
  • gateway=ip_gateway

Simple Remote Installation via VNC—Static Network Configuration

  • Location of the installation server
  • Network device
  • IP address
  • Netmask
  • Gateway
  • VNC enablement
  • VNC password
  • install=(nfs,http,ftp,smb)://path_to_instmedia
  • netdevice=some_netdevice (needed only if several network devices are available)
  • hostip=some_ip
  • netmask=some_netmask
  • gateway=ip_gateway
  • vnc=1
  • vncpassword=some_password

Simple Remote Installation via VNC—Dynamic Network Configuration via DHCP

  • Location of the installation server
  • VNC enablement
  • VNC password
  • install=(nfs,http,ftp,smb)://path_to_instmedia
  • vnc=1
  • vncpassword=some_password

Remote Installation via VNC—PXE Boot and Wake-on-LAN

  • Location of the installation server
  • Location of the TFTP server
  • VNC enablement
  • VNC password

N/A (process managed through PXE and DHCP)

Simple Remote Installation via SSH—Static Network Configuration

  • Location of the installation server
  • Network device
  • IP address
  • Netmask
  • Gateway
  • SSH enablement
  • SSH password
  • install=(nfs,http,ftp,smb)://path_to_instmedia
  • netdevice=some_netdevice (needed only if several network devices are available)
  • hostip=some_ip
  • netmask=some_netmask
  • gateway=ip_gateway
  • usessh=1
  • sshpassword=some_password

Simple Remote Installation via SSH—Dynamic Network Configuration via DHCP

  • Location of the installation server
  • SSH enablement
  • SSH password
  • install=(nfs,http,ftp,smb)://path_to_instmedia
  • usessh=1
  • sshpassword=some_password

Remote Installation via SSH—PXE Boot and Wake-on-LAN

  • Location of the installation server
  • Location of the TFTP server
  • SSH enablement
  • SSH password

N/A (process managed through PXE and DHCP)

HINT:You can find more information on the linuxrc boot options used for booting a Linux system in /usr/share/doc/packages/linuxrc/linuxrc.html.

2.3.5 Monitoring the Installation Process

There are several options to remotely monitor the installation process. If the proper boot options have been specified while booting for installation, either VNC or SSH can be used to completely control the installation and system configuration from a remote workstation.

VNC Installation

Using any VNC viewer software, you can remotely control the installation of NLD from virtually any operating system. This section introduces the setup using a VNC viewer application or a Web browser, alternatively.

Preparing for VNC Installation

All you need to do on the installation target to prepare for a VNC installation is provide the appropriate boot options at the initial boot for installation (see Using Custom Boot Options). The target system boots up in a text-based environment and waits for a VNC client to connect to the installation program.

The installation program announces the IP address and display number you need to connect to for installation. If you have physical access to the target system, this information is provided right after the system boots for installation. Enter these data when your VNC client software prompts for it and provide your VNC password.

As the installation target announces itself via OpenSLP, you can retrieve the address information of the installation target via an SLP browser without the need for any physical contact to the installation itself, provided your network setup and all machines support OpenSLP:

  1. Start Konqueror (the KDE file and Web browser).

  2. Enter service://yast.installation.suse at the location bar.

    The target system appears as an icon in the Konqueror screen. Clicking this icon launches the KDE VNC viewer where you can perform the installation. Alternatively, run your VNC viewer software with the IP address provided and add :1 at the end of the IP address for the display that the installation is running on.

Connecting to the Installation Program

Basically, there are two ways to connect to a VNC server (the installation target, in this case). You can either launch an independent VNC viewer application on any operating system you want or connect using a Java-enabled Web browser.

Using VNC you can control the installation of a Linux system from any other operating system, including other Linux flavors, Windows, and Mac OS.

Connecting via a VNC Viewer Application

On a Linux machine, make sure that the tightvnc package is installed. On a Windows machine, install the Windows version of this application, which can be obtained at the TightVNV home page.

  1. Start the VNC viewer.

  2. Enter the IP address and display number of the installation target as provided by the SLP browser or the installation program itself:

    ip_address:display_number
    

    A window opens on your desktop displaying the YaST screens as in a normal local installation.

Connecting via a Web Browser

Using a Web browser to connect to the installation program makes you totally independent of any VNC software or the underlying operating system. As long as the browser application has Java support enabled, you can use any browser (such as Firefox, Internet Explorer, or Konqueror) to perform the installation of your Linux system.

  1. Launch your preferred Web browser.

  2. Enter the following at the address prompt:

    http://ip_address_of_target:5801

  3. Enter your VNC password when prompted to do so.

    The browser window displays the YaST screens as in a normal local installation.

SSH Installation

Using SSH, you can remotely control the installation of your Linux machine using any SSH client software.

Preparing for SSH Installation

Apart from installing the appropriate software package (OpenSSH for Linux and PuTTY for Windows), you need to give the appropriate boot options to enable SSH for installation. See Using Custom Boot Options for details. OpenSSH is installed by default on any SUSE LINUX based operating system.

Connecting to the Installation Program
  1. Retrieve the installation target's IP address.

    If you have physical access to the target machine, just take the IP address the installation routines provide at the console after the initial boot. Otherwise, take the IP address that has been assigned to this particular host in the DHCP server configuration.

  2. At a command line, enter

    ssh -X root@ip_address_of_target

    Replace ip_address_of_target with the actual IP address of the installation target.

  3. When prompted for a username, enter root.

  4. When prompted for a password, enter the password that has been set via the SSH boot option.

    After you have successfully authenticated, a command line prompt appears on the installation target.

  5. Type yast to launch the installation program.

    A window opens showing the normal YaST screens as described in Using the NLD CDs or DVD as the Installation Source.