Contents
openSUSE® can be installed in different ways. As well as the usual media installation covered in Chapter 1, Installation with YaST, you can choose from various network-based approaches or even take a completely hands-off approach to the installation of openSUSE.
Each method is introduced by means of two short check lists: one listing the prerequisites for this method and the other illustrating the basic procedure. More detail is then provided for all the techniques used in these installation scenarios.
In the following sections, the system to hold your new openSUSE installation is referred to as target system or installation target. The term repository (previously called “installation source”) is used for all sources of installation data. This includes physical media, such as CD and DVD, and network servers distributing the installation data in your network. |
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 in need of detailed instructions for a particular step, follow the links provided for each one of them.
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 by a remote workstation using VNC to connect to the installation program. User interaction is required as with the manual installation in Chapter 1, Installation with YaST.
For this type of installation, make sure that the following requirements are met:
Remote repository: NFS, HTTP, FTP, or SMB with working network connection.
Target system with working network connection.
Controlling system with working network connection and VNC viewer software or Java-enabled browser (Firefox, Konqueror, Internet Explorer, Opera, etc.).
Physical boot medium (CD, DVD, or USB flash drive) for booting the target system.
Valid static IP addresses already assigned to the repository and the controlling system.
Valid static IP address to assign to the target system.
To perform this kind of installation, proceed as follows:
Set up the repository as described in Section 2.2, “Setting Up the Server Holding the Installation Sources”. Choose an NFS, HTTP, or FTP network server. For an SMB repository, refer to Section 2.2.5, “Managing an SMB Repository”.
Boot the target system using a boot medium (DVD, CD, or USB flash drive) of the openSUSE media kit. For more information about the openSUSE media kit, see Section 1.1, “Choosing the Installation Media”.
When the boot screen of the target system appears, use the boot options prompt to set the appropriate VNC options and the address of the repository. This is described in detail in Section 2.4, “Booting the Target System for Installation”.
The target system boots to a text-based environment, giving 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
OpenSLP and if the firewall settings permit, they can be found using
Konqueror in service:/
or slp:/
mode.
On the controlling workstation, open a VNC viewing application or Web browser and connect to the target system as described in Section 2.5.1, “VNC Installation”.
Perform the installation as described in Chapter 1, Installation with YaST. Reconnect to the target system after it reboots for the final part of the installation.
Finish the installation.
This type of installation still requires some degree of physical access to the target system to boot for installation. The network configuration is made with DHCP. The installation itself is entirely controlled from 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 that the following requirements are met:
Remote repository: NFS, HTTP, FTP, or SMB with working network connection.
Target system with working network connection.
Controlling system with working network connection and VNC viewer software or Java-enabled browser (Firefox, Konqueror, Internet Explorer, or Opera).
Boot the target system using a boot medium (DVD, CD, or USB flash drive) of the openSUSE media kit. For more information about the openSUSE media kit, see Section 1.1, “Choosing the Installation Media”.
Running DHCP server providing IP addresses.
To perform this kind of installation, proceed as follows:
Set up the repository as described in Section 2.2, “Setting Up the Server Holding the Installation Sources”. Choose an NFS, HTTP, or FTP network server. For an SMB repository, refer to Section 2.2.5, “Managing an SMB Repository”.
Boot the target system using a boot medium (DVD, CD, or USB flash drive) of the openSUSE media kit. For more information about the openSUSE media kit, see Section 1.1, “Choosing the Installation Media”.
When the boot screen of the target system appears, use the boot options prompt to set the appropriate VNC options and the address of the repository. This is described in detail in Section 2.4, “Booting the Target System for Installation”.
The target system boots to a text-based environment, giving 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
OpenSLP and if the firewall settings permit, they can be found using
Konqueror in service:/
or slp:/
mode.
On the controlling workstation, open a VNC viewing application or Web browser and connect to the target system as described in Section 2.5.1, “VNC Installation”.
Perform the installation as described in Chapter 1, Installation with YaST. Reconnect to the target system after it reboots for the final part of the installation.
Finish the installation.
This type of installation is completely hands-off. The target machine is started and booted remotely. User interaction is only needed for the actual installation. This approach is suitable for cross-site deployments.
To perform this type of installation, make sure that the following requirements are met:
Remote repository: 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, plugged in and connected to the network.
Controlling system with working network connection and VNC viewer software or Java-enabled browser (Firefox, Konqueror, Internet Explorer, or Opera).
To perform this type of installation, proceed as follows:
Set up the repository as described in Section 2.2, “Setting Up the Server Holding the Installation Sources”. Choose an NFS, HTTP, or FTP network server or configure an SMB repository as described in Section 2.2.5, “Managing an SMB Repository”.
Set up a TFTP server to hold a boot image that can be pulled by the target system. This is described in Section 2.3.2, “Setting Up a TFTP Server”.
Set up a DHCP server to provide IP addresses to all machines and reveal the location of the TFTP server to the target system. This is described in Section 2.3.1, “Setting Up a DHCP Server”.
Prepare the target system for PXE boot. This is described in further detail in Section 2.3.5, “Preparing the Target System for PXE Boot”.
Initiate the boot process of the target system using Wake on LAN. This is described in Section 2.3.7, “Wake on LAN”.
On the controlling workstation, open a VNC viewing application or Web browser and connect to the target system as described in Section 2.5.1, “VNC Installation”.
Perform the installation as described in Chapter 1, Installation with YaST. Reconnect to the target system after it reboots for the final part of the installation.
Finish the installation.
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 from a remote workstation using SSH to connect to the installer. User interaction is required as with the regular installation described in Chapter 1, Installation with YaST.
For this type of installation, make sure that the following requirements are met:
Remote repository: NFS, HTTP, FTP, or SMB with working network connection.
Target system with working network connection.
Controlling system with working network connection and working SSH client software.
Boot the target system using a boot medium (DVD, CD, or USB flash drive) of the openSUSE media kit. For more information about the openSUSE media kit, see Section 1.1, “Choosing the Installation Media”.
Valid static IP addresses already assigned to the repository and the controlling system.
Valid static IP address to assign to the target system.
To perform this kind of installation, proceed as follows:
Set up the repository as described in Section 2.2, “Setting Up the Server Holding the Installation Sources”. Choose an NFS, HTTP, or FTP network server. For an SMB repository, refer to Section 2.2.5, “Managing an SMB Repository”.
Boot the target system using a boot medium (DVD, CD, or USB flash drive) of the openSUSE media kit. For more information about the openSUSE media kit, see Section 1.1, “Choosing the Installation Media”.
When the boot screen of the target system appears, use the boot options prompt to set the appropriate parameters for network connection, address of the repository, and SSH enablement. This is described in detail in Section 2.4.2, “Using Custom Boot Options”.
The target system boots to a text-based environment, giving the network address under which the graphical installation environment can be addressed by any SSH client.
On the controlling workstation, open a terminal window and connect to the target system as described in Section 2.5.2.2, “Connecting to the Installation Program”.
Perform the installation as described in Chapter 1, Installation with YaST. Reconnect to the target system after it reboots for the final part of the installation.
Finish the installation.
This type of installation still requires some degree of physical access to the target system to boot for installation and determine the IP address of the installation target. The installation itself is entirely controlled from 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 that the following requirements are met:
Remote repository: NFS, HTTP, FTP, or SMB with working network connection.
Target system with working network connection.
Controlling system with working network connection and working SSH client software.
Physical boot medium (CD, DVD, or USB flash drive) for booting the target system.
Running DHCP server providing IP addresses.
To perform this kind of installation, proceed as follows:
Set up the repository source as described in Section 2.2, “Setting Up the Server Holding the Installation Sources”. Choose an NFS, HTTP, or FTP network server. For an SMB repository, refer to Section 2.2.5, “Managing an SMB Repository”.
Boot the target system using a boot medium (DVD, CD, or USB flash drive) of the openSUSE media kit. For more information about the openSUSE media kit, see Section 1.1, “Choosing the Installation Media”.
When the boot screen of the target system appears, use the boot options prompt to pass the appropriate parameters for network connection, location of the installation source, and SSH enablement. See Section 2.4.2, “Using Custom Boot Options” for detailed instructions on the use of these parameters.
The target system boots to a text-based environment, giving you the network address under which the graphical installation environment can be addressed by any SSH client.
On the controlling workstation, open a terminal window and connect to the target system as described in Section 2.5.2.2, “Connecting to the Installation Program”.
Perform the installation as described in Chapter 1, Installation with YaST. Reconnect to the target system after it reboots for the final part of the installation.
Finish the installation.
This type of installation is completely hands-off. The target machine is started and booted remotely.
To perform this type of installation, make sure that the following requirements are met:
Remote repository: NFS, HTTP, FTP, or SMB with working network connection.
TFTP server.
Running DHCP server for your network, providing a static IP to the host to install.
Target system capable of PXE boot, networking, and Wake on LAN, plugged in and connected to the network.
Controlling system with working network connection and SSH client software.
To perform this type of installation, proceed as follows:
Set up the repository as described in Section 2.2, “Setting Up the Server Holding the Installation Sources”. Choose an NFS, HTTP, or FTP network server. For the configuration of an SMB repository, refer to Section 2.2.5, “Managing an SMB Repository”.
Set up a TFTP server to hold a boot image that can be pulled by the target system. This is described in Section 2.3.2, “Setting Up a TFTP Server”.
Set up a DHCP server to provide IP addresses to all machines and reveal the location of the TFTP server to the target system. This is described in Section 2.3.1, “Setting Up a DHCP Server”.
Prepare the target system for PXE boot. This is described in further detail in Section 2.3.5, “Preparing the Target System for PXE Boot”.
Initiate the boot process of the target system using Wake on LAN. This is described in Section 2.3.7, “Wake on LAN”.
On the controlling workstation, start an SSH client and connect to the target system as described in Section 2.5.2, “SSH Installation”.
Perform the installation as described in Chapter 1, Installation with YaST. Reconnect to the target system after it reboots for the final part of the installation.
Finish the installation.
Depending on the operating system running on the machine to use as the network installation source for openSUSE, there are several options for the server configuration. The easiest way to set up an installation server is to use YaST on openSUSE 11.1 and higher.
You can even use a Microsoft Windows machine as the installation server for your Linux deployment. See Section 2.2.5, “Managing an SMB Repository” for details. |
YaST offers a graphical tool for creating network repositories. It supports HTTP, FTP, and NFS network installation servers.
Log in as root
to the machine that should act as installation
server.
Install the yast2-instserver
package.
Start
+ + .Select the repository type (HTTP, FTP, or NFS). The selected 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 with
. In both cases, define the directory in which the installation data should be made available on the server.Configure the required repository 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 on
which the installation data should be found. The repository will later
be located under
ftp://
(FTP) or under
Server-IP
/Alias
/Name
http://
(HTTP). Server-IP
/Alias
/Name
Name
stands for the name of the
repository, which is defined in the following step. If you selected
NFS in the previous step, define wild cards and export options. The
NFS server will be accessible under
nfs://
.
Details of NFS and exports can be found in Chapter 28, Sharing File Systems with NFS.
Server-IP
/Name
Firewall Settings | |
---|---|
Make sure that the firewall settings of your server system allow traffic on the ports for HTTP, NFS, and FTP. If they currently do not, enable or check first. |
Configure the repository. Before the installation media are copied to their destination, define the name of the repository (ideally, an easily remembered abbreviation of the product and version). YaST allows providing ISO images of the media instead of copies of the installation DVDs. If you want this, activate the relevant check box and specify the directory path under which the ISO files can be found locally. Depending on the product to distribute using this installation server, it might be that more add-on CDs or service pack CDs are required and should be added as extra repositories. To announce your installation server in the network via OpenSLP, activate the appropriate option.
Consider announcing your repository via OpenSLP if your network setup supports this option. This saves you from entering the network installation path on every target machine. The target systems are just booted using the SLP boot option and find the network repository without any further configuration. For details on this option, refer to Section 2.4, “Booting the Target System for Installation”. |
Upload the installation data. The most lengthy step in configuring an installation server is copying the actual installation media. 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 repositories and close the configuration by selecting
.Your installation 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 only need to configure and start this service correctly by hand if you have deactivated the automatic configuration of the selected network service with YaST as an initial step.
To deactivate a repository, select the repository to remove then select
. The installation data are removed from the system. To deactivate the network service, use the respective YaST module.If your installation server needs to provide the installation data for more than one product of the product version, start the YaST installation server module and select
in the overview of existing repositories to configure the new repository.Setting up an NFS source for installation is basically done in two steps. In the first step, create the directory structure holding the installation data and copy the installation media over to this structure. Second, export the directory holding the installation data to the network.
To create a directory to hold the installation data, proceed as follows:
Log in as root
.
Create a directory that will later hold all installation data and change into this directory. For example:
mkdir install/product
/productversion
cd install/product
/productversion
Replace product
with an abbreviation of the
product name and productversion
with a
string that contains the product name and version.
For each DVD contained in the media kit execute the following commands:
Copy the entire content of the installation DVD into the installation server directory:
cp -a /media/path_to_your_DVD_drive .
Replace path_to_your_DVD_drive
with the
actual path under which your DVD drive is addressed. Depending on
the type of drive used in your system, this can be
cdrom
, cdrecorder
,
dvd
, or dvdrecorder
.
Rename the directory to the DVD number:
mvpath_to_your_DVD_drive
DVDx
Replace x
with the actual number of your
DVD.
On openSUSE, you can export the repository with NFS using YaST. Proceed as follows:
Log in as root
.
Start
+ + .Select
and and click .
Select
.
productversion
Select exports
man page.
Click
. The NFS server holding the openSUSE repository is automatically started and integrated into the boot process.If you prefer manually exporting the repository via NFS instead of using the YaST NFS Server module, proceed as follows:
Log in as root
.
Open the file /etc/exports
and enter the
following line:
/productversion
*(ro,root_squash,sync)
This exports the directory
/
to any
host that is part of this network or to any host that can connect to
this server. To limit the access to this server, use netmasks or
domain names instead of the general wild card productversion
*
.
Refer to the export
man page for details.
Save and exit this configuration file.
To add the NFS service to the list of servers started during system boot, execute the following commands:
insserv /etc/init.d/nfsserver
Start the NFS server with rcnfsserver start. If you need to change the configuration of your NFS server later, modify the configuration file and restart the NFS daemon with rcnfsserver restart.
Announcing the NFS server via OpenSLP makes its address known to all clients in your network.
Log in as root
.
Create the /etc/slp.reg.d/install.suse.nfs.reg
configuration file with the following lines:
# Register the NFS Installation Server
service:install.suse:nfs://$HOSTNAME/path_to_repository
/DVD1,en,65535
description=NFS Repository
Replace path_to_repository
with the actual
path to the installation source on your server.
Start the OpenSLP daemon with rcslpd start.
For more information about OpenSLP, refer to the package documentation
located under /usr/share/doc/packages/openslp/
or
refer to Chapter 24, SLP Services in the Network. More Information about NFS, refer to
Chapter 28, Sharing File Systems with NFS.
Creating an FTP repository is very similar to creating an NFS repository. An FTP repository can be announced over the network using OpenSLP as well.
Create a directory holding the installation sources as described in Section 2.2.2, “Setting Up an NFS Repository Manually”.
Configure the FTP server to distribute the contents of your installation directory:
Log in as root
and install the package
vsftpd
using the YaST software
management.
Enter the FTP server root directory:
cd /srv/ftp
Create a subdirectory holding the installation sources in the FTP root directory:
mkdir repository
Replace repository
with the product name.
Mount the contents of the installation repository into the change root environment of the FTP server:
mount --bindpath_to_repository
/srv/ftp/repository
Replace path_to_repository
and
repository
with values matching your
setup. If you need to make this permanent, add it to
/etc/fstab
.
Start vsftpd with vsftpd.
Announce the repository via OpenSLP, if this is supported by your network setup:
Create the /etc/slp.reg.d/install.suse.ftp.reg
configuration file with the following lines:
# Register the FTP Installation Server
service:install.suse:ftp://$HOSTNAME/repository
/DVD1,en,65535
description=FTP Repository
Replace repository
with the actual name
to the repository directory on your server. The
service:
line should be entered as one continuous
line.
Start the OpenSLP daemon with rcslpd start.
Configuring an FTP Server with YaST | |
---|---|
If you prefer using YaST over manually configuring the FTP installation server, refer to Chapter 31, Setting up an FTP server with YaST for more information on how to use the YaST FTP server module. |
Creating an HTTP repository is very similar to creating an NFS repository. An HTTP repository can be announced over the network using OpenSLP as well.
Create a directory holding the installation sources as described in Section 2.2.2, “Setting Up an NFS Repository Manually”.
Configure the HTTP server to distribute the contents of your installation directory:
Install the Web server Apache as described in Section 30.1.2, “Installation”.
Enter the root directory of the HTTP server
(/srv/www/htdocs
) and create the subdirectory
that will hold the installation sources:
mkdir repository
Replace repository
with the product name.
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_to_repository
/srv/www/htdocs/repository
Modify the configuration file of the HTTP server
(/etc/apache2/default-server.conf
) to make it
follow symbolic links. Replace the following line:
Options None
with
Options Indexes FollowSymLinks
Reload the HTTP server configuration using rcapache2 reload.
Announce the repository via OpenSLP, if this is supported by your network setup:
Create the /etc/slp.reg.d/install.suse.http.reg
configuration file with the following lines:
# Register the HTTP Installation Server
service:install.suse:http://$HOSTNAME/repository
/DVD1/,en,65535
description=HTTP Repository
Replace repository
with the actual path
to the repository on your server. The service:
line should be entered as one continuous line.
Start the OpenSLP daemon using rcslpd restart.
Using SMB, you can import 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 openSUSE repository, proceed as follows:
Log in to your Windows machine.
Create a new folder that will hold the entire installation tree and
name it INSTALL
, for example.
Export this share according the procedure outlined in your Windows documentation.
Enter this share and create a subfolder, called
. Replace
product
product
with the actual product name.
Enter the
INSTALL/
folder
and copy each DVD to a separate folder, such as
product
DVD1
and DVD2
.
To use a SMB mounted share as a repository, proceed as follows:
Instead of copying physical media into your server directory manually, you can also mount the ISO images of the installation media into your installation server and use them as a repository. To set up an HTTP, NFS or FTP server that uses ISO images instead of media copies, proceed as follows:
Download the ISO images and save them to the machine to use as the installation server.
Log in as root
.
Choose and create an appropriate location for the installation data, as described in Section 2.2.2, “Setting Up an NFS Repository Manually”, Section 2.2.3, “Setting Up an FTP Repository Manually”, or Section 2.2.4, “Setting Up an HTTP Repository Manually”.
Create subdirectories for each DVD.
To mount and unpack each ISO image to the final location, issue the following command:
mount -o looppath_to_iso
path_to_repository
/product
/mediumx
Replace path_to_iso
with the path to your
local copy of the ISO image,
path_to_repository
with the source
directory of your server, product
with the
product name, and mediumx
with the type (CD
or DVD) and number of media you are using.
Repeat the previous step to mount all ISO images needed for your product.
Start your installation server as usual, as described in Section 2.2.2, “Setting Up an NFS Repository Manually”, Section 2.2.3, “Setting Up an FTP Repository Manually”, or Section 2.2.4, “Setting Up an HTTP Repository Manually”.
To automatically mount the ISO images at boot time, add the respective
mount entries to /etc/fstab
. An entry according to
the previous example would look like the following:
path_to_iso
path_to_repository
/product
medium
auto loop
This section covers the configuration tasks needed in complex boot scenarios. It contains ready-to-apply configuration examples for DHCP, PXE boot, TFTP, and Wake on LAN.
There are two ways to set up a DHCP server. For openSUSE, YaST provides a graphical interface to the process. Users can also manually edit the configuration files. For more information about DHCP servers, see also Chapter 26, DHCP.
To announce the TFTP server's location to the network clients and specify the boot image file the installation target should use, add two declarations to your DHCP server configuration.
Log in as root
to the machine hosting the DHCP server.
Install the
yast2-dhcp-server
package.
Start
+ + .Complete the setup wizard for basic DHCP server setup.
Select
and select when warned about leaving the start-up dialog.In the
dialog, select the subnet in which the new system should be located and click .In the
dialog select to add a new option to the subnet's configuration.
Select filename
and enter
pxelinux.0
as the value.
Add another option (next-server
) and set its value
to the address of the TFTP server.
Select
and to complete the DHCP server configuration.
To configure DHCP to provide a static IP address to a specific host,
enter the Step 5)
and add a new declaration of the host type. Add the options
hardware
and fixed-address
to this
host declaration and provide the appropriate values.
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 that needs to be pulled in by the installation routines on the target machine.
Log in as root
to the machine hosting the DHCP server.
Append the following lines to a subnet configuration of your DHCP
server's configuration file located under
/etc/dhcpd.conf
:
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.200 192.168.1.228;
# 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";
}
Replace
ip_of_the_tftp_server
with the actual IP
address of the TFTP server. For more information about the options
available in dhcpd.conf
, refer to the
dhcpd.conf
manual page.
Restart the DHCP server by executing rcdhcpd restart.
If you plan on using SSH for the remote control of a PXE and Wake on LAN installation, explicitly specify the IP address DHCP should provide to the installation target. 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-serverip_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 ethernetmac_address
; fixed-addresssome_ip_address
; } }
The host statement introduces the hostname of the installation target. To bind the hostname and IP address to a specific host, you must know and specify the system's hardware (MAC) address. Replace all the variables used in this example with the actual values that match your environment.
After restarting the DHCP server, it provides a static IP to the host specified, enabling you to connect to the system via SSH.
Set up a TFTP server with YaST or set it up manually on any other Linux operating system that supports xinetd and TFTP. The TFTP server delivers the boot image to the target system once it boots and sends a request for it.
Log in as root
.
Install the
yast2-tftp-server
package.
Start
+ + and install the requested package.Click
to make sure that the server is started and included in the boot routines. No further action from your side is required to secure this. xinetd starts tftpd at boot time.Click
to open the appropriate port in the firewall running on your machine. If there is no firewall running on your server, this option is not available.
Click /tftpboot
is
created and selected automatically.
Click
to apply your settings and start the server.
Log in as root
and install the packages
tftp
and xinetd
.
If unavailable, create /srv/tftpboot
and
/srv/tftpboot/pxelinux.cfg
directories.
Add the appropriate files needed for the boot image as described in Section 2.3.3, “Using PXE Boot”.
Modify the configuration of xinetd located under
/etc/xinetd.d
to make sure that the TFTP server
is started on boot:
If it does not exist, create a file called
tftp
under this directory with touch
tftp. Then run chmod 755 tftp.
Open the file tftp
and add the following
lines:
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /srv/tftpboot disable = no }
Save the file and restart xinetd with rcxinetd restart.
Some technical background information as well as PXE's complete specifications are available in the Preboot Execution Environment (PXE) Specification (http://www.pix.net/software/pxeboot/archive/pxespec.pdf).
Change to the directory
boot/<architecture>/loader
of your
installation repository and copy the linux
,
initrd
, message
,
biostest
, and memtest
files
to the /srv/tftpboot
directory by entering the
following:
cp -a linux initrd message biostest memtest /srv/tftpboot
Install the syslinux
package directly from
your installation DVDs with YaST.
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
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/<architecture>/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
Edit the /srv/tftpboot/pxelinux.cfg/default
file
and remove the lines beginning with gfxboot
,
readinfo
, and framebuffer
.
Insert the following entries in the append lines of the default
failsafe
and apic
labels:
insmod=kernel module
By means of this entry, enter the network Kernel module needed to
support network installation on the PXE client. Replace
kernel module
with the appropriate
module name for your network device.
netdevice=interface
This entry defines the client's network interface that must be used for the network installation. It is only necessary 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_to_repository
/DVD1
This entry defines the NFS server and the repository for the client
installation. Replace
ip_instserver
with the actual IP address
of your installation server.
path_to_repository
should be replaced
with the actual path to the repository. HTTP, FTP, or SMB
repositories are addressed in a similar manner, except for the
protocol prefix, which should read http
,
ftp
, or smb
.
If you need to pass other boot options to the installation
routines, such as SSH or VNC boot parameters, append them to the
|
Changing Kernel and initrd Filenames | |
---|---|
It is possible to use different filenames for Kernel and initrd images. This is useful if you want to provide different operating systems from the same boot server. However, you should be aware that only one dot is permitted in the filenames that are provided by TFTP for the PXE boot. |
An example /srv/tftpboot/pxelinux.cfg/default
file
follows. Adjust the protocol prefix for the repository to match your
network setup and specify your preferred method of connecting to the
installer by adding the vnc
and
vncpassword
or the usessh
and
sshpassword
options to the
install
entry. The lines separated by
\
must be entered as one continuous line without a
line break and without the \
.
default harddisk # default label linux kernel linux append initrd=initrd ramdisk_size=65536 \ install=nfs://ip_instserver
/path_to_repository
/product
/DVD1 # rescue label rescue kernel linux append initrd=initrd ramdisk_size=65536 rescue=1 # bios test label firmware kernel linux append initrd=biostest,initrd splash=silent install=exec:/bin/run_biostest showopts # memory test label memtest kernel memtest # hard disk label harddisk localboot 0 implicit 0 display message prompt 1 timeout 100
Replace
ip_instserver
and
path_to_repository
with the values used in
your setup.
The following section serves as a short reference to the PXELINUX
options used in this setup. Find more information about the options
available in the documentation of the
syslinux
package located under
/usr/share/doc/packages/syslinux/
.
The options listed here are a subset of all the options available for the PXELINUX configuration file.
DEFAULT kernel options
...
Sets the default Kernel command line. If PXELINUX boots automatically, it acts as if the entries after DEFAULT had been typed in at the boot prompt, except the auto option is automatically added, indicating an automatic boot.
If no configuration file is present or no DEFAULT entry is present in the configuration file, the default is the Kernel name “linux” with no options.
APPEND options...
Add 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 kernelmy_kernel
my_kernel_options
initrdmyinitrd
PXELINUX uses the following syntax:
labelmylabel
kernelmykernel
appendmyoptions
Labels are mangled as if they were filenames and they must be unique after mangling. For example, the two labels “v2.6.30” and “v2.6.31” would not be distinguishable under PXELINUX because both mangle to the same DOS filename.
The Kernel does not have to be a Linux Kernel; it can be a boot sector or a COMBOOT file.
APPEND -
Append 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.
Argument |
Description |
---|---|
|
Perform a normal boot |
|
Perform a local boot with the Universal Network Driver Interface (UNDI) driver still resident in memory |
|
Perform a local boot with the entire PXE stack, including the UNDI driver, still resident in memory |
All other values are undefined. If you do not know what the UNDI or
PXE stacks are, specify 0
.
TIMEOUT time-out
Indicates how long to wait at the boot prompt until booting automatically, in units of 1/10 second. The time-out is canceled as soon as the user types anything on the keyboard, assuming the user will complete the command begun. A time-out of zero disables the time-out completely (this is also the default). The maximum possible time-out value is 35996 (just less than one hour).
PROMPT flag_val
If flag_val
is 0, displays the boot prompt only if
or
is pressed or Caps
Lock or Scroll Lock is set (this is the
default). If flag_val
is 1, always displays the boot
prompt.
F2filename
F1filename
..etc... F9filename
F10filename
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 entered as F0. Note that there is currently no way to bind filenames to F11 and F12.
Prepare the system's BIOS for PXE boot by including the PXE option in the BIOS boot order.
BIOS Boot Order | |
---|---|
Do not place the PXE option ahead of the hard disk boot option in the BIOS. Otherwise this system would try to reinstall itself every time you boot it. |
Wake on LAN (WOL) requires the appropriate BIOS option to be enabled prior to the installation. Also, note down the MAC address of the target system. This data is needed to initiate Wake on LAN.
Wake on LAN allows a machine to be turned on by a special network packet containing the machine's MAC address. Because every machine in the world has a unique MAC identifier, you do not need to worry about accidentally turning on the wrong machine.
Wake on LAN across Different Network Segments | |
---|---|
If the controlling machine is not located in the same network segment as the installation target that should be awakened, 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. |
Basically, there are two different ways to customize the boot process for installation apart from those mentioned under Section 2.3.7, “Wake on LAN” and Section 2.3.3, “Using PXE Boot”. You can either use the default boot options and function keys or use the boot options prompt of the installation boot screen to pass any boot options that the installation Kernel might need on this particular hardware.
The boot options are described in detail in Chapter 1, Installation with YaST. Generally, just selecting starts the installation boot process.
If problems occur, use
or . For more information about troubleshooting the installation process, refer to Abschnitt „Probleme bei der Installation“ (Anhang A, Help and Troubleshooting, ↑Start-Up).The menu bar at the bottom screen offers some advanced functionality needed in some setups. Using the F keys, you can specify additional options to pass to the installation routines without having to know the detailed syntax of these parameters (see Section 2.4.2, “Using Custom Boot Options”). A detailed description of the available function keys is available at Section 1.5, “The Boot Screen”.
Using the appropriate set of boot options helps facilitate your
installation procedure. Many parameters can also be configured later
using the linuxrc routines, but using the boot options is easier. In
some automated setups, the boot options can be provided with
initrd
or an info
file.
The following table lists all installation scenarios mentioned in this chapter with the required parameters for booting and the corresponding boot options. Just append all of them in the order they appear in this table to get one boot option string that is handed to the installation routines. For example (all in one line):
install=xxx
netdevice=xxx
hostip=xxx
netmask=xxx
vnc=xxx
vncpassword=xxx
Replace all the values xxx
in this string
with the values appropriate for your setup.
Table 2.1. Installation (Boot) Scenarios Used in This Chapter¶
Installation Scenario |
Parameters Needed for Booting |
Boot Options |
---|---|---|
None: system boots automatically |
None needed | |
Section 2.1.1, “Simple Remote Installation via VNC—Static Network Configuration” |
|
|
Section 2.1.2, “Simple Remote Installation via VNC—Dynamic Network Configuration” |
|
|
Section 2.1.3, “Remote Installation via VNC—PXE Boot and Wake on LAN” |
|
Not applicable; process managed through PXE and DHCP |
Section 2.1.4, “Simple Remote Installation via SSH—Static Network Configuration” |
|
|
Section 2.1.5, “Simple Remote Installation via SSH—Dynamic Network Configuration” |
|
|
Section 2.1.6, “Remote Installation via SSH—PXE Boot and Wake on LAN” |
|
Not applicable; process managed through PXE and DHCP |
More Information about linuxrc Boot Options | |
---|---|
Find more information about the linuxrc boot options used for booting a Linux system at http://en.opensuse.org/SDB:Linuxrc. |
There are several options for remotely monitoring the installation process. If the proper boot options have been specified while booting for installation, either VNC or SSH can be used to control the installation and system configuration from a remote workstation.
Using any VNC viewer software, you can remotely control the installation of openSUSE from virtually any operating system. This section introduces the setup using a VNC viewer application or a Web browser.
All you need to do on the installation target to prepare for a VNC installation is to provide the appropriate boot options at the initial boot for installation (see Section 2.4.2, “Using Custom Boot Options”). The target system boots into 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 needed to connect for installation. If you have physical access to the target system, this information is provided right after the system booted for installation. Enter this data when your VNC client software prompts for it and provide your VNC password.
Because 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:
Start the KDE file and Web browser Konqueror.
Enter service://yast.installation.suse
in the
location bar. The target system then appears as an icon in the
Konqueror screen. Clicking this icon launches the KDE VNC viewer in
which to 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 the installation is
running on.
Basically, there are two ways to connect to a VNC server (the installation target in this case). You can either start an independent VNC viewer application on any operating system 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, or Mac OS.
On a Linux machine, make sure that the package
tightvnc
is installed. On a Windows machine,
install the Windows port of this application, which can be obtained at
the TightVNC home page
(http://www.tightvnc.com/download.html).
To connect to the installation program running on the target machine, proceed as follows:
Start the VNC viewer.
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.
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 (Firefox, Internet Explorer, Konqueror, Opera, etc.) to perform the installation of your Linux system.
To perform a VNC installation, proceed as follows:
Using SSH, you can remotely control the installation of your Linux machine using any SSH client software.
Apart from installing the appropriate software package (OpenSSH for Linux and PuTTY for Windows), you just need to pass the appropriate boot options to enable SSH for installation. See Section 2.4.2, “Using Custom Boot Options” for details. OpenSSH is installed by default on any SUSE Linux–based operating system.
Retrieve the installation target's IP address. If you have physical access to the target machine, just take the IP address the installation routine provides 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.
At a command line, enter the following command:
ssh -X root@ip_address_of_target
Replace ip_address_of_target
with the
actual IP address of the installation target.
When prompted for a username, enter root
.
When prompted for the password, enter the password that has been set with the SSH boot option. After you have successfully authenticated, a command line prompt for the installation target appears.
Enter yast to launch the installation program. A window opens showing the normal YaST screens as described in Chapter 1, Installation with YaST.