ACC SHELL

Path : /usr/share/doc/manual/opensuse-manuals_en/manual/
File Upload :
Current File : //usr/share/doc/manual/opensuse-manuals_en/manual/cha.deployment.remoteinst.html

<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Remote Installation</title><link rel="stylesheet" href="susebooks.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Documentation"><link rel="up" href="part.reference.install.html" title="Part I. Advanced Deployment Scenarios"><link rel="prev" href="part.reference.install.html" title="Part I. Advanced Deployment Scenarios"><link rel="next" href="cha.advdisk.html" title="Chapter 2. Advanced Disk Setup"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header" border="0" class="bctable"><tr><td width="80%"><div class="breadcrumbs"><p><a href="index.html"> Documentation</a><span class="breadcrumbs-sep"> &gt; </span><a href="book.opensuse.reference.html">Reference</a><span class="breadcrumbs-sep"> &gt; </span><a href="part.reference.install.html">Advanced Deployment Scenarios</a><span class="breadcrumbs-sep"> &gt; </span><strong><a accesskey="p" title="Part I. Advanced Deployment Scenarios" href="part.reference.install.html"><span>&#9664;</span></a>  <a accesskey="n" title="Chapter 2. Advanced Disk Setup" href="cha.advdisk.html"><span>&#9654;</span></a></strong></p></div></td></tr></table></div><div class="chapter" title="Chapter 1. Remote Installation"><div class="titlepage"><div><div><h2 class="title"><a name="cha.deployment.remoteinst"></a>Chapter 1. Remote Installation<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#cha.deployment.remoteinst">¶</a></span></h2></div></div></div><div class="toc"><p><b>Contents</b></p><dl><dt><span class="sect1"><a href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.scenario">1.1. Installation Scenarios for Remote Installation</a></span></dt><dt><span class="sect1"><a href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver">1.2. Setting Up the Server Holding the Installation Sources</a></span></dt><dt><span class="sect1"><a href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot">1.3. Preparing the Boot of the Target System</a></span></dt><dt><span class="sect1"><a href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst">1.4. Booting the Target System for Installation</a></span></dt><dt><span class="sect1"><a href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.monitor">1.5. Monitoring the Installation Process</a></span></dt></dl></div><p>
  openSUSE® can be installed in different ways. As well as the usual
  media installation covered in Chapter <i>Installation with YaST</i> (&#8593;Start-Up), you can choose
  from various network-based approaches or even take a completely hands-off
  approach to the installation of openSUSE.
 </p><p>
  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.
 </p><div class="note"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Note"><tr class="head"><td width="32"><img alt="[Note]" src="admon/note.png"></td><th align="left"></th></tr><tr><td colspan="2" align="left" valign="top"><p>
   In the following sections, the system to hold your new openSUSE
   installation is referred to as <span class="emphasis"><em>target system</em></span> or
   <span class="emphasis"><em>installation target</em></span>. The term
   <span class="emphasis"><em>repository</em></span> (previously called <span class="quote">&#8220;<span class="quote">installation
   source</span>&#8221;</span>) 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.
  </p></td></tr></table></div><div class="sect1" title="1.1. Installation Scenarios for Remote Installation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec.deployment.remoteinst.scenario"></a>1.1. Installation Scenarios for Remote Installation<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.scenario">¶</a></span></h2></div></div></div><p>
   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.
  </p><div class="sect2" title="1.1.1. Simple Remote Installation via VNC&#8212;Static Network Configuration"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.scenario.vncstat"></a>1.1.1. Simple Remote Installation via VNC&#8212;Static Network Configuration<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.scenario.vncstat">¶</a></span></h3></div></div></div><p>
    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 <i>Installation with YaST</i> (&#8593;Start-Up).
   </p><p>
    For this type of installation, make sure that the following requirements
    are met:
   </p><div class="itemizedlist"><ul class="itemizedlist" type="bullet"><li class="listitem" style="list-style-type: disc"><p>
      Remote repository: NFS, HTTP, FTP, or SMB with working network
      connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Target system with working network connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Controlling system with working network connection and VNC viewer
      software or Java-enabled browser (Firefox, Konqueror, Internet
      Explorer, Opera, etc.).
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Physical boot medium (CD, DVD, or USB flash drive) for booting the
      target system.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Valid static IP addresses already assigned to the repository and the
      controlling system.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Valid static IP address to assign to the target system.
     </p></li></ul></div><div class="procedure"><a name="proc.deployment.remoteinst.scenario.vncstat"></a><p>
     To perform this kind of installation, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Set up the repository as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver" title="1.2. Setting Up the Server Holding the Installation Sources">Section 1.2, &#8220;Setting Up the Server Holding the Installation Sources&#8221;</a>. Choose
      an NFS, HTTP, or FTP network server. For an SMB repository, refer to
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.smb" title="1.2.5. Managing an SMB Repository">Section 1.2.5, &#8220;Managing an SMB Repository&#8221;</a>.
     </p></li><li><p>
      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 &#8220;Choosing the Installation Media&#8221; (Chapter 1, <i>Installation with YaST</i>, &#8593;Start-Up).
     </p></li><li><p>
      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
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst" title="1.4. Booting the Target System for Installation">Section 1.4, &#8220;Booting the Target System for Installation&#8221;</a>.
     </p><p>
      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 <code class="literal">service:/</code> or <code class="literal">slp:/</code>
      mode.
     </p></li><li><p>
      On the controlling workstation, open a VNC viewing application or Web
      browser and connect to the target system as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.monitor.vnc" title="1.5.1. VNC Installation">Section 1.5.1, &#8220;VNC Installation&#8221;</a>.
     </p></li><li><p>
      Perform the installation as described in Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
      Reconnect to the target system after it reboots for the final part of
      the installation.
     </p></li><li><p>
      Finish the installation.
     </p></li></ol></div></div><div class="sect2" title="1.1.2. Simple Remote Installation via VNC&#8212;Dynamic Network Configuration"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.scenario.vncdyn"></a>1.1.2. Simple Remote Installation via VNC&#8212;Dynamic Network Configuration<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.scenario.vncdyn">¶</a></span></h3></div></div></div><p>
    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.
   </p><p>
    For this type of installation, make sure that the following requirements
    are met:
   </p><div class="itemizedlist"><ul class="itemizedlist" type="bullet"><li class="listitem" style="list-style-type: disc"><p>
      Remote repository: NFS, HTTP, FTP, or SMB with working network
      connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Target system with working network connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Controlling system with working network connection and VNC viewer
      software or Java-enabled browser (Firefox, Konqueror, Internet
      Explorer, or Opera).
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      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 &#8220;Choosing the Installation Media&#8221; (Chapter 1, <i>Installation with YaST</i>, &#8593;Start-Up).
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Running DHCP server providing IP addresses.
     </p></li></ul></div><div class="procedure"><a name="proc.deployment.remoteinst.scenario.vncdyn"></a><p>
     To perform this kind of installation, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Set up the repository as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver" title="1.2. Setting Up the Server Holding the Installation Sources">Section 1.2, &#8220;Setting Up the Server Holding the Installation Sources&#8221;</a>. Choose
      an NFS, HTTP, or FTP network server. For an SMB repository, refer to
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.smb" title="1.2.5. Managing an SMB Repository">Section 1.2.5, &#8220;Managing an SMB Repository&#8221;</a>.
     </p></li><li><p>
      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 &#8220;Choosing the Installation Media&#8221; (Chapter 1, <i>Installation with YaST</i>, &#8593;Start-Up).
     </p></li><li><p>
      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
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst" title="1.4. Booting the Target System for Installation">Section 1.4, &#8220;Booting the Target System for Installation&#8221;</a>.
     </p><p>
      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 <code class="literal">service:/</code> or <code class="literal">slp:/</code>
      mode.
     </p></li><li><p>
      On the controlling workstation, open a VNC viewing application or Web
      browser and connect to the target system as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.monitor.vnc" title="1.5.1. VNC Installation">Section 1.5.1, &#8220;VNC Installation&#8221;</a>.
     </p></li><li><p>
      Perform the installation as described in Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
      Reconnect to the target system after it reboots for the final part of
      the installation.
     </p></li><li><p>
      Finish the installation.
     </p></li></ol></div></div><div class="sect2" title="1.1.3. Remote Installation via VNC&#8212;PXE Boot and Wake on LAN"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.scenario.vncpxe"></a>1.1.3. Remote Installation via VNC&#8212;PXE Boot and Wake on LAN<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.scenario.vncpxe">¶</a></span></h3></div></div></div><p>
    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.
   </p><p>
    To perform this type of installation, make sure that the following
    requirements are met:
   </p><div class="itemizedlist"><ul class="itemizedlist" type="bullet"><li class="listitem" style="list-style-type: disc"><p>
      Remote repository: NFS, HTTP, FTP, or SMB with working network
      connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      TFTP server.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Running DHCP server for your network.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Target system capable of PXE boot, networking, and Wake on LAN,
      plugged in and connected to the network.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Controlling system with working network connection and VNC viewer
      software or Java-enabled browser (Firefox, Konqueror, Internet
      Explorer, or Opera).
     </p></li></ul></div><div class="procedure"><a name="proc.deployment.remoteinst.scenario.vncpxe"></a><p>
     To perform this type of installation, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Set up the repository as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver" title="1.2. Setting Up the Server Holding the Installation Sources">Section 1.2, &#8220;Setting Up the Server Holding the Installation Sources&#8221;</a>. Choose
      an NFS, HTTP, or FTP network server or configure an SMB repository as
      described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.smb" title="1.2.5. Managing an SMB Repository">Section 1.2.5, &#8220;Managing an SMB Repository&#8221;</a>.
     </p></li><li><p>
      Set up a TFTP server to hold a boot image that can be pulled by the
      target system. This is described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.tftp" title="1.3.2. Setting Up a TFTP Server">Section 1.3.2, &#8220;Setting Up a TFTP Server&#8221;</a>.
     </p></li><li><p>
      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
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.dhcp" title="1.3.1. Setting Up a DHCP Server">Section 1.3.1, &#8220;Setting Up a DHCP Server&#8221;</a>.
     </p></li><li><p>
      Prepare the target system for PXE boot. This is described in further
      detail in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.pxeprep" title="1.3.5. Preparing the Target System for PXE Boot">Section 1.3.5, &#8220;Preparing the Target System for PXE Boot&#8221;</a>.
     </p></li><li><p>
      Initiate the boot process of the target system using Wake on LAN. This
      is described in <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.wol" title="1.3.7. Wake on LAN">Section 1.3.7, &#8220;Wake on LAN&#8221;</a>.
     </p></li><li><p>
      On the controlling workstation, open a VNC viewing application or Web
      browser and connect to the target system as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.monitor.vnc" title="1.5.1. VNC Installation">Section 1.5.1, &#8220;VNC Installation&#8221;</a>.
     </p></li><li><p>
      Perform the installation as described in Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
      Reconnect to the target system after it reboots for the final part of
      the installation.
     </p></li><li><p>
      Finish the installation.
     </p></li></ol></div></div><div class="sect2" title="1.1.4. Simple Remote Installation via SSH&#8212;Static Network Configuration"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.scenario.sshstat"></a>1.1.4. Simple Remote Installation via SSH&#8212;Static Network Configuration<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.scenario.sshstat">¶</a></span></h3></div></div></div><p>
    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 <i>Installation with YaST</i> (&#8593;Start-Up).
   </p><p>
    For this type of installation, make sure that the following requirements
    are met:
   </p><div class="itemizedlist"><ul class="itemizedlist" type="bullet"><li class="listitem" style="list-style-type: disc"><p>
      Remote repository: NFS, HTTP, FTP, or SMB with working network
      connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Target system with working network connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Controlling system with working network connection and working SSH
      client software.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      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 &#8220;Choosing the Installation Media&#8221; (Chapter 1, <i>Installation with YaST</i>, &#8593;Start-Up).
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Valid static IP addresses already assigned to the repository and the
      controlling system.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Valid static IP address to assign to the target system.
     </p></li></ul></div><div class="procedure"><a name="proc.deployment.remoteinst.scenario.sshstat"></a><p>
     To perform this kind of installation, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Set up the repository as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver" title="1.2. Setting Up the Server Holding the Installation Sources">Section 1.2, &#8220;Setting Up the Server Holding the Installation Sources&#8221;</a>. Choose
      an NFS, HTTP, or FTP network server. For an SMB repository, refer to
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.smb" title="1.2.5. Managing an SMB Repository">Section 1.2.5, &#8220;Managing an SMB Repository&#8221;</a>.
     </p></li><li><p>
      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 &#8220;Choosing the Installation Media&#8221; (Chapter 1, <i>Installation with YaST</i>, &#8593;Start-Up).
     </p></li><li><p>
      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
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst.custom" title="1.4.2. Using Custom Boot Options">Section 1.4.2, &#8220;Using Custom Boot Options&#8221;</a>.
     </p><p>
      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.
     </p></li><li><p>
      On the controlling workstation, open a terminal window and connect to
      the target system as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.monitor.ssh.connect" title="1.5.2.2. Connecting to the Installation Program">Section 1.5.2.2, &#8220;Connecting to the Installation Program&#8221;</a>.
     </p></li><li><p>
      Perform the installation as described in Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
      Reconnect to the target system after it reboots for the final part of
      the installation.
     </p></li><li><p>
      Finish the installation.
     </p></li></ol></div></div><div class="sect2" title="1.1.5. Simple Remote Installation via SSH&#8212;Dynamic Network Configuration"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.scenario.sshdyn"></a>1.1.5. Simple Remote Installation via SSH&#8212;Dynamic Network Configuration<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.scenario.sshdyn">¶</a></span></h3></div></div></div><p>
    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.
   </p><p>
    For this type of installation, make sure that the following requirements
    are met:
   </p><div class="itemizedlist"><ul class="itemizedlist" type="bullet"><li class="listitem" style="list-style-type: disc"><p>
      Remote repository: NFS, HTTP, FTP, or SMB with working network
      connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Target system with working network connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Controlling system with working network connection and working SSH
      client software.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Physical boot medium (CD, DVD, or USB flash drive) for booting the
      target system.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Running DHCP server providing IP addresses.
     </p></li></ul></div><div class="procedure"><a name="proc.deployment.remoteinst.scenario.sshdyn"></a><p>
     To perform this kind of installation, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Set up the repository source as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver" title="1.2. Setting Up the Server Holding the Installation Sources">Section 1.2, &#8220;Setting Up the Server Holding the Installation Sources&#8221;</a>. Choose
      an NFS, HTTP, or FTP network server. For an SMB repository, refer to
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.smb" title="1.2.5. Managing an SMB Repository">Section 1.2.5, &#8220;Managing an SMB Repository&#8221;</a>.
     </p></li><li><p>
      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 &#8220;Choosing the Installation Media&#8221; (Chapter 1, <i>Installation with YaST</i>, &#8593;Start-Up).
     </p></li><li><p>
      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 <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst.custom" title="1.4.2. Using Custom Boot Options">Section 1.4.2, &#8220;Using Custom Boot Options&#8221;</a> for
      detailed instructions on the use of these parameters.
     </p><p>
      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.
     </p></li><li><p>
      On the controlling workstation, open a terminal window and connect to
      the target system as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.monitor.ssh.connect" title="1.5.2.2. Connecting to the Installation Program">Section 1.5.2.2, &#8220;Connecting to the Installation Program&#8221;</a>.
     </p></li><li><p>
      Perform the installation as described in Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
      Reconnect to the target system after it reboots for the final part of
      the installation.
     </p></li><li><p>
      Finish the installation.
     </p></li></ol></div></div><div class="sect2" title="1.1.6. Remote Installation via SSH&#8212;PXE Boot and Wake on LAN"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.scenario.sshpxe"></a>1.1.6. Remote Installation via SSH&#8212;PXE Boot and Wake on LAN<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.scenario.sshpxe">¶</a></span></h3></div></div></div><p>
    This type of installation is completely hands-off. The target machine is
    started and booted remotely.
   </p><p>
    To perform this type of installation, make sure that the following
    requirements are met:
   </p><div class="itemizedlist"><ul class="itemizedlist" type="bullet"><li class="listitem" style="list-style-type: disc"><p>
      Remote repository: NFS, HTTP, FTP, or SMB with working network
      connection.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      TFTP server.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Running DHCP server for your network, providing a static IP to the
      host to install.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Target system capable of PXE boot, networking, and Wake on LAN,
      plugged in and connected to the network.
     </p></li><li class="listitem" style="list-style-type: disc"><p>
      Controlling system with working network connection and SSH client
      software.
     </p></li></ul></div><div class="procedure"><a name="proc.deployment.remoteinst.scenario.sshpxe"></a><p>
     To perform this type of installation, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Set up the repository as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver" title="1.2. Setting Up the Server Holding the Installation Sources">Section 1.2, &#8220;Setting Up the Server Holding the Installation Sources&#8221;</a>. Choose
      an NFS, HTTP, or FTP network server. For the configuration of an SMB
      repository, refer to
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.smb" title="1.2.5. Managing an SMB Repository">Section 1.2.5, &#8220;Managing an SMB Repository&#8221;</a>.
     </p></li><li><p>
      Set up a TFTP server to hold a boot image that can be pulled by the
      target system. This is described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.tftp" title="1.3.2. Setting Up a TFTP Server">Section 1.3.2, &#8220;Setting Up a TFTP Server&#8221;</a>.
     </p></li><li><p>
      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
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.dhcp" title="1.3.1. Setting Up a DHCP Server">Section 1.3.1, &#8220;Setting Up a DHCP Server&#8221;</a>.
     </p></li><li><p>
      Prepare the target system for PXE boot. This is described in further
      detail in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.pxeprep" title="1.3.5. Preparing the Target System for PXE Boot">Section 1.3.5, &#8220;Preparing the Target System for PXE Boot&#8221;</a>.
     </p></li><li><p>
      Initiate the boot process of the target system using Wake on LAN. This
      is described in <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.wol" title="1.3.7. Wake on LAN">Section 1.3.7, &#8220;Wake on LAN&#8221;</a>.
     </p></li><li><p>
      On the controlling workstation, start an SSH client and connect to the
      target system as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.monitor.ssh" title="1.5.2. SSH Installation">Section 1.5.2, &#8220;SSH Installation&#8221;</a>.
     </p></li><li><p>
      Perform the installation as described in Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
      Reconnect to the target system after it reboots for the final part of
      the installation.
     </p></li><li><p>
      Finish the installation.
     </p></li></ol></div></div></div><div class="sect1" title="1.2. Setting Up the Server Holding the Installation Sources"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec.deployment.remoteinst.instserver"></a>1.2. Setting Up the Server Holding the Installation Sources<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.instserver">¶</a></span></h2></div></div></div><p>
   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.
  </p><div class="tip"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Tip"><tr class="head"><td width="32"><img alt="[Tip]" src="admon/tip.png"></td><th align="left"></th></tr><tr><td colspan="2" align="left" valign="top"><p>
    You can even use a Microsoft Windows machine as the installation server
    for your Linux deployment. See
    <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.smb" title="1.2.5. Managing an SMB Repository">Section 1.2.5, &#8220;Managing an SMB Repository&#8221;</a> for details.
   </p></td></tr></table></div><div class="sect2" title="1.2.1. Setting Up an Installation Server Using YaST"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.instserver.sles9"></a>1.2.1. Setting Up an Installation Server Using YaST<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.instserver.sles9">¶</a></span></h3></div></div></div><p>
    YaST offers a graphical tool for creating network repositories. It
    supports HTTP, FTP, and NFS network installation servers.
   </p><div class="procedure"><a name="proc.deployment.remoteinst.instserver.sles9"></a><ol class="procedure" type="1"><li><p>
      Log in as <code class="systemitem">root</code> to the machine that should act as installation
      server.
     </p></li><li><p>
      Install the <code class="systemitem">yast2-instserver</code>
      package.
     </p></li><li><p>
      Start <span class="guimenu">YaST</span>+<span class="guimenu">Miscellaneous</span>+<span class="guimenu">Installation
      Server</span>.
     </p></li><li><p>
      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 <span class="guimenu">Do Not Configure Any
      Network Services</span>. In both cases, define the directory in
      which the installation data should be made available on the server.
     </p></li><li><p>
      Configure the required repository type. This step relates to the
      automatic configuration of server services. It is skipped when
      automatic configuration is deactivated.
     </p><p>

      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
      <code class="literal">ftp://<em class="replaceable"><code>Server-IP</code></em>/<em class="replaceable"><code>Alias</code></em>/<em class="replaceable"><code>Name</code></em></code>
      (FTP) or under
      <code class="literal">http://<em class="replaceable"><code>Server-IP</code></em>/<em class="replaceable"><code>Alias</code></em>/<em class="replaceable"><code>Name</code></em></code>
      (HTTP). <em class="replaceable"><code>Name</code></em> 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
      <code class="literal">nfs://<em class="replaceable"><code>Server-IP</code></em>/<em class="replaceable"><code>Name</code></em></code>.
      Details of NFS and exports can be found in <a class="xref" href="cha.nfs.html" title="Chapter 26. Sharing File Systems with NFS">Chapter 26, <i>Sharing File Systems with NFS</i></a>.
     </p><div class="tip"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Tip: Firewall Settings"><tr class="head"><td width="32"><img alt="[Tip]" src="admon/tip.png"></td><th align="left">Firewall Settings</th></tr><tr><td colspan="2" align="left" valign="top"><p>
       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 <span class="guimenu">Open Port in Firewall</span> or check
       <span class="guimenu">Firewall Details</span> first.
      </p></td></tr></table></div></li><li><p>
      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.
     </p><div class="tip"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Tip"><tr class="head"><td width="32"><img alt="[Tip]" src="admon/tip.png"></td><th align="left"></th></tr><tr><td colspan="2" align="left" valign="top"><p>
       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 <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst" title="1.4. Booting the Target System for Installation">Section 1.4, &#8220;Booting the Target System for Installation&#8221;</a>.
      </p></td></tr></table></div></li><li><p>
      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 <span class="guimenu">Finish</span>.
     </p><p>
      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.
     </p></li></ol></div><p>
    To deactivate a repository, select the repository to remove then select
    <span class="guimenu">Delete</span>. The installation data are removed from the
    system. To deactivate the network service, use the respective YaST
    module.
   </p><p>
    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 <span class="guimenu">Add</span> in the
    overview of existing repositories to configure the new repository.
   </p></div><div class="sect2" title="1.2.2. Setting Up an NFS Repository Manually"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.instserver.nfs"></a>1.2.2. Setting Up an NFS Repository Manually<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.instserver.nfs">¶</a></span></h3></div></div></div><p>
    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.
   </p><div class="procedure"><a name="proc.deployment.remoteinst.instserver.nfs.cdir"></a><p>
     To create a directory to hold the installation data, proceed as
     follows:
    </p><ol class="procedure" type="1"><li><p>
      Log in as <code class="systemitem">root</code>.
     </p></li><li><p>
      Create a directory that will later hold all installation data and
      change into this directory. For example:
     </p><pre class="screen">mkdir install/<em class="replaceable"><code>product</code></em>/<em class="replaceable"><code>productversion</code></em></pre><pre class="screen">cd install/<em class="replaceable"><code>product</code></em>/<em class="replaceable"><code>productversion</code></em></pre><p>
      Replace <em class="replaceable"><code>product</code></em> with an abbreviation of the
      product name and <em class="replaceable"><code>productversion</code></em> with a
      string that contains the product name and version.
     </p></li><li><p>
      For each DVD contained in the media kit execute the following
      commands:
     </p><ol type="a" class="substeps"><li><p>
        Copy the entire content of the installation DVD into the
        installation server directory:
       </p><pre class="screen">cp -a /media/<em class="replaceable"><code>path_to_your_DVD_drive .</code></em></pre><p>
        Replace <em class="replaceable"><code>path_to_your_DVD_drive</code></em> with the
        actual path under which your DVD drive is addressed. Depending on
        the type of drive used in your system, this can be
        <code class="filename">cdrom</code>, <code class="filename">cdrecorder</code>,
        <code class="filename">dvd</code>, or <code class="filename">dvdrecorder</code>.
       </p></li><li><p>
        Rename the directory to the DVD number:
       </p><pre class="screen">mv <em class="replaceable"><code>path_to_your_DVD_drive</code></em> DVD<em class="replaceable"><code>x</code></em></pre><p>
        Replace <em class="replaceable"><code>x</code></em> with the actual number of your
        DVD.
       </p></li></ol></li></ol></div><div class="procedure"><a name="proc.deployment.remoteinst.instserver.nfs.export"></a><p>
     On openSUSE, you can export the repository with NFS using YaST.
     Proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Log in as <code class="systemitem">root</code>.
     </p></li><li><p>
      Start <span class="guimenu">YaST</span>+<span class="guimenu">Network
      Services</span>+<span class="guimenu">NFS Server</span>.
     </p></li><li><p>
      Select <span class="guimenu">Start</span> and <span class="guimenu">Open Port in
      Firewall</span> and click <span class="guimenu">Next</span>.
     </p></li><li><p>
      Select <span class="guimenu">Add Directory</span> and browse for the directory
      containing the installation sources, in this case,
      <code class="filename"><em class="replaceable"><code>productversion</code></em></code>.
     </p></li><li><p>
      Select <span class="guimenu">Add Host</span> and enter the hostnames of the
      machines to which to export the installation data. Instead of
      specifying hostnames here, you could also use wild cards, ranges of
      network addresses, or just the domain name of your network. Enter the
      appropriate export options or leave the default, which works fine in
      most setups. For more information about the syntax used in exporting
      NFS shares, read the <code class="systemitem">exports</code> man page.
     </p></li><li><p>
      Click <span class="guimenu">Finish</span>. The NFS server holding the
      openSUSE repository is automatically started and integrated into
      the boot process.
     </p></li></ol></div><div class="procedure"><a name="proc.deployment.remoteinst.instserver.nfs.exportman"></a><p>
     If you prefer manually exporting the repository via NFS instead of
     using the YaST NFS Server module, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Log in as <code class="systemitem">root</code>.
     </p></li><li><p>
      Open the file <code class="filename">/etc/exports</code> and enter the
      following line:
     </p><pre class="screen">/<em class="replaceable"><code>productversion</code></em> *(ro,root_squash,sync)</pre><p>
      This exports the directory
      <code class="filename">/<em class="replaceable"><code>productversion</code></em></code> 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 <code class="literal">*</code>.
      Refer to the <code class="systemitem">export</code> man page for details.
      Save and exit this configuration file.
     </p></li><li><p>
      To add the NFS service to the list of servers started during system
      boot, execute the following commands:
     </p><pre class="screen">insserv /etc/init.d/nfsserver</pre></li><li><p>
      Start the NFS server with <span class="command"><strong>rcnfsserver start</strong></span>. If you
      need to change the configuration of your NFS server later, modify the
      configuration file and restart the NFS daemon with
      <span class="command"><strong>rcnfsserver restart</strong></span>.
     </p></li></ol></div><div class="procedure"><a name="proc.deployment.remoteinst.instserver.nfs.slpann"></a><p>
     Announcing the NFS server via OpenSLP makes its address known to all
     clients in your network.
    </p><ol class="procedure" type="1"><li><p>
      Log in as <code class="systemitem">root</code>.
     </p></li><li><p>
      Create the <code class="filename">/etc/slp.reg.d/install.suse.nfs.reg</code>
      configuration file with the following lines:
     </p><pre class="screen">
# Register the NFS Installation Server
service:install.suse:nfs://$HOSTNAME/<em class="replaceable"><code>path_to_repository</code></em>/DVD1,en,65535 
description=NFS Repository</pre><p>
      Replace <em class="replaceable"><code>path_to_repository</code></em> with the actual
      path to the installation source on your server.
     </p></li><li><p>
      Start the OpenSLP daemon with <span class="command"><strong>rcslpd start</strong></span>.
     </p></li></ol></div><p>
    For more information about OpenSLP, refer to the package documentation
    located under <code class="filename">/usr/share/doc/packages/openslp/</code> or
    refer to <a class="xref" href="cha.slp.html" title="Chapter 22. SLP Services in the Network">Chapter 22, <i>SLP Services in the Network</i></a>. More Information about NFS, refer to
    <a class="xref" href="cha.nfs.html" title="Chapter 26. Sharing File Systems with NFS">Chapter 26, <i>Sharing File Systems with NFS</i></a>.
   </p></div><div class="sect2" title="1.2.3. Setting Up an FTP Repository Manually"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.instserver.ftp"></a>1.2.3. Setting Up an FTP Repository Manually<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.instserver.ftp">¶</a></span></h3></div></div></div><p>
    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.
   </p><div class="procedure"><a name="proc.deployment.remoteinst.instserver.ftp"></a><ol class="procedure" type="1"><li><p>
      Create a directory holding the installation sources as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.nfs" title="1.2.2. Setting Up an NFS Repository Manually">Section 1.2.2, &#8220;Setting Up an NFS Repository Manually&#8221;</a>.
     </p></li><li><p>
      Configure the FTP server to distribute the contents of your
      installation directory:
     </p><ol type="a" class="substeps"><li><p>
        Log in as <code class="systemitem">root</code> and install the package
        <code class="systemitem">vsftpd</code> using the YaST software
        management.
       </p></li><li><p>
        Enter the FTP server root directory:
       </p><pre class="screen">cd <code class="option">/srv/ftp</code></pre></li><li><p>
        Create a subdirectory holding the installation sources in the FTP
        root directory:
       </p><pre class="screen">mkdir <em class="replaceable"><code>repository</code></em> </pre><p>
        Replace <em class="replaceable"><code>repository</code></em> with the product name.
       </p></li><li><p>
        Mount the contents of the installation repository into the change
        root environment of the FTP server:
       </p><pre class="screen">mount --bind <em class="replaceable"><code>path_to_repository</code></em> /srv/ftp/<em class="replaceable"><code>repository</code></em></pre><p>
        Replace <em class="replaceable"><code>path_to_repository</code></em> and
        <em class="replaceable"><code>repository</code></em> with values matching your
        setup. If you need to make this permanent, add it to
        <code class="filename">/etc/fstab</code>.
       </p></li><li><p>
        Start vsftpd with <span class="command"><strong>vsftpd</strong></span>.
       </p></li></ol></li><li><p>
      Announce the repository via OpenSLP, if this is supported by your
      network setup:
     </p><ol type="a" class="substeps"><li><p>
        Create the <code class="filename">/etc/slp.reg.d/install.suse.ftp.reg</code>
        configuration file with the following lines:
       </p><pre class="screen">
# Register the FTP Installation Server
service:install.suse:ftp://$HOSTNAME/<em class="replaceable"><code>repository</code></em>/DVD1,en,65535 
description=FTP Repository</pre><p>
        Replace <em class="replaceable"><code>repository</code></em> with the actual name
        to the repository directory on your server. The
        <code class="literal">service:</code> line should be entered as one continuous
        line.
       </p></li><li><p>
        Start the OpenSLP daemon with <span class="command"><strong>rcslpd start</strong></span>.
       </p></li></ol></li></ol></div><div class="tip"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Tip: Configuring an FTP Server with YaST"><tr class="head"><td width="32"><img alt="[Tip]" src="admon/tip.png"></td><th align="left">Configuring an FTP Server with YaST</th></tr><tr><td colspan="2" align="left" valign="top"><p>
     If you prefer using YaST over manually configuring the FTP
     installation server, refer to <a class="xref" href="cha.ftp.html" title="Chapter 29. Setting up an FTP server with YaST">Chapter 29, <i>Setting up an FTP server with YaST</i></a> for more
     information on how to use the YaST FTP server module.
    </p></td></tr></table></div></div><div class="sect2" title="1.2.4. Setting Up an HTTP Repository Manually"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.instserver.http"></a>1.2.4. Setting Up an HTTP Repository Manually<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.instserver.http">¶</a></span></h3></div></div></div><p>
    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.
   </p><div class="procedure"><a name="proc.deployment.remoteinst.instserver.http"></a><ol class="procedure" type="1"><li><p>
      Create a directory holding the installation sources as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.nfs" title="1.2.2. Setting Up an NFS Repository Manually">Section 1.2.2, &#8220;Setting Up an NFS Repository Manually&#8221;</a>.
     </p></li><li><p>
      Configure the HTTP server to distribute the contents of your
      installation directory:
     </p><ol type="a" class="substeps"><li><p>
        <span>Install the Web server Apache as described
        in
        <a class="xref" href="cha.apache2.html#sec.apache2.quickstart.installation" title="28.1.2. Installation">Section 28.1.2, &#8220;Installation&#8221;</a></span>.
       </p></li><li><p>
        Enter the root directory of the HTTP server
        (<code class="filename">/srv/www/htdocs</code>) and create the subdirectory
        that will hold the installation sources:
       </p><pre class="screen">mkdir <em class="replaceable"><code>repository</code></em> 
       </pre><p>
        Replace <em class="replaceable"><code>repository</code></em> with the product name.
       </p></li><li><p>
        Create a symbolic link from the location of the installation sources
        to the root directory of the Web server
        (<code class="filename">/srv/www/htdocs</code>):
       </p><pre class="screen">ln -s <em class="replaceable"><code>/path_to_repository </code></em>/srv/www/htdocs/<em class="replaceable"><code>repository</code></em></pre></li><li><p>
        Modify the configuration file of the HTTP server
        (<code class="filename">/etc/apache2/default-server.conf</code>) to make it
        follow symbolic links. Replace the following line:
       </p><pre class="screen">Options None</pre><p>
        with
       </p><pre class="screen">Options Indexes FollowSymLinks</pre></li><li><p>
        Reload the HTTP server configuration using <span class="command"><strong>rcapache2
        reload</strong></span>.
       </p></li></ol></li><li><p>
      Announce the repository via OpenSLP, if this is supported by your
      network setup:
     </p><ol type="a" class="substeps"><li><p>
        Create the <code class="filename">/etc/slp.reg.d/install.suse.http.reg</code>
        configuration file with the following lines:
       </p><pre class="screen">
# Register the HTTP Installation Server
service:install.suse:http://$HOSTNAME/<em class="replaceable"><code>repository</code></em>/DVD1/,en,65535 
description=HTTP Repository</pre><p>
        Replace <em class="replaceable"><code>repository</code></em> with the actual path
        to the repository on your server. The <code class="literal">service:</code>
        line should be entered as one continuous line.
       </p></li><li><p>
        Start the OpenSLP daemon using <span class="command"><strong>rcslpd restart</strong></span>.
       </p></li></ol></li></ol></div></div><div class="sect2" title="1.2.5. Managing an SMB Repository"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.instserver.smb"></a>1.2.5. Managing an SMB Repository<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.instserver.smb">¶</a></span></h3></div></div></div><p>
    Using SMB, you can import the installation sources from a Microsoft
    Windows server and start your Linux deployment even with no Linux
    machine around.
   </p><div class="procedure"><a name="proc.deployment.remoteinst.instserver.smb.export"></a><p>
     To set up an exported Windows Share holding your openSUSE
     repository, proceed as follows:
    </p><ol class="procedure" type="1"><li><p>
      Log in to your Windows machine.
     </p></li><li><p>
      Create a new folder that will hold the entire installation tree and
      name it <code class="filename">INSTALL</code>, for example.
     </p></li><li><p>
      Export this share according the procedure outlined in your Windows
      documentation.
     </p></li><li><p>
      Enter this share and create a subfolder, called
      <code class="filename"><em class="replaceable"><code>product</code></em></code>. Replace
      <em class="replaceable"><code>product</code></em> with the actual product name.
     </p></li><li><p>
      Enter the
      <code class="filename">INSTALL/<em class="replaceable"><code>product</code></em></code> folder
      and copy each DVD to a separate folder, such as
      <code class="literal">DVD1</code> and <code class="literal">DVD2</code>.
     </p></li></ol></div><p>
    To use a SMB mounted share as a repository, proceed as follows:
   </p><div class="procedure"><a name="proc.deployment.remoteinst.instserver.smb.use"></a><ol class="procedure" type="1"><li><p>
      Boot the installation target.
     </p></li><li><p>
      Select <span class="guimenu">Installation</span>.
     </p></li><li><p>
      Press <span class="keycap">F4</span> for a selection of the repository.
     </p></li><li><p>
      Choose SMB and enter the Windows machine's name or IP address, the
      share name
      (<code class="filename">INSTALL/<em class="replaceable"><code>product</code></em>/DVD1</code>,
      in this example), username, and password.
     </p><p>
      After you hit <span class="keycap">Enter</span>, YaST starts
      and you can perform the installation.
     </p></li></ol></div></div><div class="sect2" title="1.2.6. Using ISO Images of the Installation Media on the Server"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.iso"></a>1.2.6. Using ISO Images of the Installation Media on the Server<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.iso">¶</a></span></h3></div></div></div><p>
    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:
   </p><div class="procedure"><ol class="procedure" type="1"><li><p>
      Download the ISO images and save them to the machine to use as the
      installation server.
     </p></li><li><p>
      Log in as <code class="systemitem">root</code>.
     </p></li><li><p>
      Choose and create an appropriate location for the installation data,
      as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.nfs" title="1.2.2. Setting Up an NFS Repository Manually">Section 1.2.2, &#8220;Setting Up an NFS Repository Manually&#8221;</a>,
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.ftp" title="1.2.3. Setting Up an FTP Repository Manually">Section 1.2.3, &#8220;Setting Up an FTP Repository Manually&#8221;</a>, or
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.http" title="1.2.4. Setting Up an HTTP Repository Manually">Section 1.2.4, &#8220;Setting Up an HTTP Repository Manually&#8221;</a>.
     </p></li><li><p>
      Create subdirectories for each DVD.
     </p></li><li><p>
      To mount and unpack each ISO image to the final location, issue the
      following command:
     </p><pre class="screen">mount -o loop <em class="replaceable"><code>path_to_iso</code></em> <em class="replaceable"><code>path_to_repository</code></em>/<em class="replaceable"><code>product</code></em>/<em class="replaceable"><code>mediumx</code></em></pre><p>
      Replace <em class="replaceable"><code>path_to_iso</code></em> with the path to your
      local copy of the ISO image,
      <em class="replaceable"><code>path_to_repository</code></em> with the source
      directory of your server, <em class="replaceable"><code>product</code></em> with the
      product name, and <em class="replaceable"><code>mediumx</code></em> with the type (CD
      or DVD) and number of media you are using.
     </p></li><li><p>
      Repeat the previous step to mount all ISO images needed for your
      product.
     </p></li><li><p>
      Start your installation server as usual, as described in
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.nfs" title="1.2.2. Setting Up an NFS Repository Manually">Section 1.2.2, &#8220;Setting Up an NFS Repository Manually&#8221;</a>,
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.ftp" title="1.2.3. Setting Up an FTP Repository Manually">Section 1.2.3, &#8220;Setting Up an FTP Repository Manually&#8221;</a>, or
      <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.instserver.http" title="1.2.4. Setting Up an HTTP Repository Manually">Section 1.2.4, &#8220;Setting Up an HTTP Repository Manually&#8221;</a>.
     </p></li></ol></div><p>
    To automatically mount the ISO images at boot time, add the respective
    mount entries to <code class="filename">/etc/fstab</code>. An entry according to
    the previous example would look like the following:
   </p><pre class="screen"><em class="replaceable"><code>path_to_iso</code></em> <em class="replaceable"><code>path_to_repository</code></em>/<em class="replaceable"><code>product</code></em>
    <em class="replaceable"><code>medium</code></em> auto loop</pre></div></div><div class="sect1" title="1.3. Preparing the Boot of the Target System"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec.deployment.remoteinst.boot"></a>1.3. Preparing the Boot of the Target System<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot">¶</a></span></h2></div></div></div><p>
   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.
  </p><div class="sect2" title="1.3.1. Setting Up a DHCP Server"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.boot.dhcp"></a>1.3.1. Setting Up a DHCP Server<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.dhcp">¶</a></span></h3></div></div></div><p>
    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.<span> For more
    information about DHCP servers, see also
    <a class="xref" href="cha.dhcp.html" title="Chapter 24. DHCP">Chapter 24, <i>DHCP</i></a>.</span>
   </p><div class="sect3" title="1.3.1.1. Setting Up a DHCP Server with YaST"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.boot.dhcp.yast"></a>1.3.1.1. Setting Up a DHCP Server with YaST<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.dhcp.yast">¶</a></span></h4></div></div></div><p>
     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.
    </p><div class="procedure"><a name="proc.deployment.remoteinst.boot.dhcp.yast"></a><ol class="procedure" type="1"><li><p>
       Log in as <code class="systemitem">root</code> to the machine hosting the DHCP server.
      </p></li><li><p>
       Start <span class="guimenu">YaST</span>+<span class="guimenu">Network
       Services</span>+<span class="guimenu">DHCP Server</span>.
      </p></li><li><p>
       Complete the setup wizard for basic DHCP server setup.
      </p></li><li id="st.deployment.remoteinst.boot.dhcp.yast.expert"><p>
       Select <span class="guimenu">Expert Settings</span> and select
       <span class="guimenu">Yes</span> when warned about leaving the start-up dialog.
      </p></li><li><p>
       In the <span class="guimenu">Configured Declarations</span> dialog, select the
       subnet in which the new system should be located and click
       <span class="guimenu">Edit</span>.
      </p></li><li><p>
       In the <span class="guimenu">Subnet Configuration</span> dialog select
       <span class="guimenu">Add</span> to add a new option to the subnet's
       configuration.
      </p></li><li><p>
       Select <code class="option">filename</code> and enter
       <code class="literal">pxelinux.0</code> as the value.
      </p></li><li><p>
       Add another option (<code class="option">next-server</code>) and set its value
       to the address of the TFTP server.
      </p></li><li><p>
       Select <span class="guimenu">OK</span> and <span class="guimenu">Finish</span> to
       complete the DHCP server configuration.
      </p></li></ol></div><p>
     To configure DHCP to provide a static IP address to a specific host,
     enter the <span class="guimenu">Expert Settings</span> of the DHCP server
     configuration module
     (<a class="xref" href="cha.deployment.remoteinst.html#st.deployment.remoteinst.boot.dhcp.yast.expert" title="Step 4">Step 4</a>)
     and add a new declaration of the host type. Add the options
     <code class="option">hardware</code> and <code class="option">fixed-address</code> to this
     host declaration and provide the appropriate values.
    </p></div><div class="sect3" title="1.3.1.2. Setting Up a DHCP Server Manually"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.boot.dhcp.man"></a>1.3.1.2. Setting Up a DHCP Server Manually<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.dhcp.man">¶</a></span></h4></div></div></div><p>
     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.
    </p><div class="procedure"><a name="proc.deployment.remoteinst.boot.dhcp.man"></a><ol class="procedure" type="1"><li><p>
       Log in as <code class="systemitem">root</code> to the machine hosting the DHCP server.
      </p></li><li><p>
       Append the following lines to a subnet configuration of your DHCP
       server's configuration file located under
       <code class="filename">/etc/dhcpd.conf</code>:
      </p><pre class="screen">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 <em class="replaceable"><code>ip_tftp_server</code></em>: 
  #
  # "filename" specifies the pxelinux image on the tftp server
  # the server runs in chroot under /srv/tftpboot 
  filename  "pxelinux.0";
}</pre><p>
       Replace

       <em class="replaceable"><code>ip_of_the_tftp_server</code></em> with the actual IP
       address of the TFTP server. For more information about the options
       available in <code class="filename">dhcpd.conf</code>, refer to the
       <code class="systemitem">dhcpd.conf</code> manual page.
      </p></li><li><p>
       Restart the DHCP server by executing <span class="command"><strong>rcdhcpd
       restart</strong></span>.
      </p></li></ol></div><p>
     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:
    </p><pre class="screen">group { 
  # PXE related stuff 
  # 
  # "next-server" defines the tftp server that will be used 
  next-server <em class="replaceable"><code>ip_tftp_server</code></em>:
  # 
  # "filename" specifies the pxelinux image on the tftp server 
  # the server runs in chroot under /srv/tftpboot
  filename "pxelinux.0";
  host test {
    hardware ethernet <em class="replaceable"><code>mac_address</code></em>; 
    fixed-address <em class="replaceable"><code>some_ip_address</code></em>;
    }
}
</pre><p>
     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.
    </p><p>
     After restarting the DHCP server, it provides a static IP to the host
     specified, enabling you to connect to the system via SSH.
    </p></div></div><div class="sect2" title="1.3.2. Setting Up a TFTP Server"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.boot.tftp"></a>1.3.2. Setting Up a TFTP Server<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.tftp">¶</a></span></h3></div></div></div><p>
    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.
   </p><div class="sect3" title="1.3.2.1. Setting Up a TFTP Server Using YaST"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.boot.tftp.yast"></a>1.3.2.1. Setting Up a TFTP Server Using YaST<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.tftp.yast">¶</a></span></h4></div></div></div><div class="procedure"><a name="proc.deployment.remoteinst.boot.tftp.yast"></a><ol class="procedure" type="1"><li><p>
       Log in as <code class="systemitem">root</code>.
      </p></li><li><p>
       Install the
       <code class="systemitem">yast2-tftp-server</code> package.
      </p></li><li><p>
       Start <span class="guimenu">YaST</span>+<span class="guimenu">Network
       Services</span>+<span class="guimenu">TFTP Server</span> and
       install the requested package.
      </p></li><li><p>
       Click <span class="guimenu">Enable</span> 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.
      </p></li><li><p>
       Click <span class="guimenu">Open Port in Firewall</span> 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.
      </p></li><li><p>
       Click <span class="guimenu">Browse</span> to browse for the boot image
       directory. The default directory <code class="filename">/tftpboot</code> is
       created and selected automatically.
      </p></li><li><p>
       Click <span class="guimenu">Finish</span> to apply your settings and start the
       server.
      </p></li></ol></div></div><div class="sect3" title="1.3.2.2. Setting Up a TFTP Server Manually"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.boot.tftp.man"></a>1.3.2.2. Setting Up a TFTP Server Manually<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.tftp.man">¶</a></span></h4></div></div></div><div class="procedure"><a name="proc.deployment.remoteinst.boot.tftp.man"></a><ol class="procedure" type="1"><li><p>
       Log in as <code class="systemitem">root</code> and install the packages
       <code class="systemitem">tftp</code> and <code class="systemitem">xinetd</code>.
      </p></li><li><p>
       If unavailable, create <code class="filename">/srv/tftpboot</code> and
       <code class="filename">/srv/tftpboot/pxelinux.cfg</code> directories.
      </p></li><li><p>
       Add the appropriate files needed for the boot image as described in
       <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.pxe" title="1.3.3. Using PXE Boot">Section 1.3.3, &#8220;Using PXE Boot&#8221;</a>.
      </p></li><li><p>
       Modify the configuration of xinetd located under
       <code class="filename">/etc/xinetd.d</code> to make sure that the TFTP server
       is started on boot:
      </p><ol type="a" class="substeps"><li><p>
         If it does not exist, create a file called
         <code class="filename">tftp</code> under this directory with <span class="command"><strong>touch
         tftp</strong></span>. Then run <span class="command"><strong>chmod 755 tftp</strong></span>.
        </p></li><li><p>
         Open the file <code class="filename">tftp</code> and add the following
         lines:
        </p><pre class="screen">service tftp 
{ 
        socket_type            = dgram
        protocol               = udp 
        wait                   = yes 
        user                   = root 
        server                 = /usr/sbin/in.tftpd 
        server_args            = -s /srv/tftpboot 
        disable                = no 
}
</pre></li><li><p>
         Save the file and restart xinetd with <span class="command"><strong>rcxinetd
         restart</strong></span>.
        </p></li></ol></li></ol></div></div></div><div class="sect2" title="1.3.3. Using PXE Boot"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.boot.pxe"></a>1.3.3. Using PXE Boot<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.pxe">¶</a></span></h3></div></div></div><p>
    Some technical background information as well as PXE's complete
    specifications are available in the Preboot Execution Environment (PXE)
    Specification
    (<a class="ulink" href="http://www.pix.net/software/pxeboot/archive/pxespec.pdf" target="_top">http://www.pix.net/software/pxeboot/archive/pxespec.pdf</a>).
   </p><div class="procedure"><a name="proc.deployment.remoteinst.boot.pxe"></a><ol class="procedure" type="1"><li><p>
      Change to the directory
      <code class="filename">boot/&lt;architecture&gt;/loader</code> of your
      installation repository and copy the <code class="filename">linux</code>,
      <code class="filename">initrd</code>, <code class="filename">message</code>,
      <code class="filename">biostest</code>, and <code class="filename">memtest</code> files
      to the <code class="filename">/srv/tftpboot</code> directory by entering the
      following:
     </p><pre class="screen">cp -a linux initrd message biostest memtest /srv/tftpboot</pre></li><li><p>
      Install the <code class="systemitem">syslinux</code> package directly from
      your installation DVDs with YaST.
     </p></li><li><p>
      Copy the <code class="filename">/usr/share/syslinux/pxelinux.0</code> file to
      the <code class="filename">/srv/tftpboot</code> directory by entering the
      following:
     </p><pre class="screen">cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
     </pre></li><li><p>
      Change to the directory of your installation repository and copy the
      <code class="filename">isolinux.cfg</code> file to <code class="filename">
      /srv/tftpboot/pxelinux.cfg/default</code> by entering the
      following:
     </p><pre class="screen">cp -a boot/&lt;architecture&gt;/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
     </pre></li><li><p>
      Edit the <code class="filename">/srv/tftpboot/pxelinux.cfg/default</code> file
      and remove the lines beginning with <code class="literal">gfxboot</code>,
      <code class="literal">readinfo</code>, and <code class="literal">framebuffer</code>.
     </p></li><li><p>

      Insert the following entries in the append lines of the default
      <code class="option">failsafe</code> and <code class="option">apic</code> labels:
     </p><div class="variablelist"><dl><dt><span class="term"><code class="option">insmod=<em class="replaceable"><code>kernel module</code></em></code>
       </span></dt><dd><p>
         By means of this entry, enter the network Kernel module needed to
         support network installation on the PXE client. Replace
         <em class="replaceable"><code>kernel module</code></em> with the appropriate
         module name for your network device.
        </p></dd><dt><span class="term"><code class="option">netdevice=<em class="replaceable"><code>interface</code></em></code>
       </span></dt><dd><p>
         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.
        </p></dd><dt><span class="term">
<code class="option">install=nfs://<em class="replaceable"><code>ip_instserver</code></em>/<em class="replaceable"><code>path_to_repository</code></em>/DVD1</code>
       </span></dt><dd><p>
         This entry defines the NFS server and the repository for the client
         installation. Replace

         <em class="replaceable"><code>ip_instserver</code></em> with the actual IP address
         of your installation server.
         <em class="replaceable"><code>path_to_repository</code></em> 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 <code class="literal">http</code>,
         <code class="literal">ftp</code>, or <code class="literal">smb</code>.
        </p><div class="important"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Important"><tr class="head"><td width="32"><img alt="[Important]" src="admon/important.png"></td><th align="left"></th></tr><tr><td colspan="2" align="left" valign="top"><p>
          If you need to pass other boot options to the installation
          routines, such as SSH or VNC boot parameters, append them to the
          <code class="option">install</code> entry. An overview of parameters and some
          examples are given in
          <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst" title="1.4. Booting the Target System for Installation">Section 1.4, &#8220;Booting the Target System for Installation&#8221;</a>.
         </p></td></tr></table></div></dd></dl></div><div class="tip"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Tip: Changing Kernel and initrd Filenames"><tr class="head"><td width="32"><img alt="[Tip]" src="admon/tip.png"></td><th align="left">Changing Kernel and initrd Filenames</th></tr><tr><td colspan="2" align="left" valign="top"><p>
       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.
      </p></td></tr></table></div><p>
      An example <code class="option">/srv/tftpboot/pxelinux.cfg/default</code> 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 <code class="literal">vnc</code> and
      <code class="literal">vncpassword</code> or the <code class="literal">usessh</code> and
      <code class="literal">sshpassword</code> options to the
      <code class="literal">install</code> entry. The lines separated by
      <code class="literal">\</code> must be entered as one continuous line without a
      line break and without the <code class="literal">\</code>.
     </p><pre class="screen">default harddisk 
        
# default
label linux 
  kernel linux 
  append initrd=initrd ramdisk_size=65536 \
     install=nfs://<em class="replaceable"><code>ip_instserver</code></em>/<em class="replaceable"><code>path_to_repository</code></em>/<em class="replaceable"><code>product</code></em>/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
</pre><p>
      Replace

      <em class="replaceable"><code>ip_instserver</code></em> and
      <em class="replaceable"><code>path_to_repository</code></em> with the values used in
      your setup.
     </p><p>
      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
      <code class="systemitem">syslinux</code> package located under
      <code class="filename">/usr/share/doc/packages/syslinux/</code>.
     </p></li></ol></div></div><div class="sect2" title="1.3.4. PXELINUX Configuration Options"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.boot.pxeopts"></a>1.3.4. PXELINUX Configuration Options<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.pxeopts">¶</a></span></h3></div></div></div><p>
    The options listed here are a subset of all the options available for
    the PXELINUX configuration file.
   </p><div class="variablelist"><dl><dt><span class="term"><code class="option">DEFAULT <em class="replaceable"><code>kernel options</code></em>...</code>
     </span></dt><dd><p>
       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.
      </p><p>
       If no configuration file is present or no DEFAULT entry is present in
       the configuration file, the default is the Kernel name
       <span class="quote">&#8220;<span class="quote">linux</span>&#8221;</span> with no options.
      </p></dd><dt><span class="term"><code class="option">APPEND <em class="replaceable"><code>options... </code></em></code>
     </span></dt><dd><p>
       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.
      </p></dd><dt><span class="term"><code class="option">LABEL <em class="replaceable"><code>label</code></em> KERNEL <em class="replaceable"><code>image</code></em>
       APPEND <em class="replaceable"><code>options</code></em>...</code>
     </span></dt><dd><p>
       Indicates that if <em class="replaceable"><code>label</code></em> is entered as the
       Kernel to boot, PXELINUX should instead boot
       <em class="replaceable"><code>image</code></em> and the specified
       <code class="option">APPEND</code> options should be used instead of the ones
       specified in the global section of the file (before the first
       <code class="option">LABEL</code> command). The default for
       <em class="replaceable"><code>image</code></em> is the same as
       <em class="replaceable"><code>label</code></em> and, if no <code class="option">APPEND</code>
       is given, the default is to use the global entry (if any). Up to 128
       <code class="option">LABEL</code> entries are permitted.
      </p><p>
       Note that GRUB uses the following syntax:
      </p><pre class="screen">title mytitle 
  kernel <em class="replaceable"><code>my_kernel</code></em> <em class="replaceable"><code>my_kernel_options</code></em> 
  initrd <em class="replaceable"><code>myinitrd</code></em>
</pre><p>
       PXELINUX uses the following syntax:
      </p><pre class="screen">label <em class="replaceable"><code>mylabel</code></em> 
  kernel <em class="replaceable"><code>mykernel</code></em> 
  append <em class="replaceable"><code>myoptions</code></em>
      </pre><p>
       
       Labels are mangled as if they were filenames and they must be unique
       after mangling. For example, the two labels <span class="quote">&#8220;<span class="quote">v2.6.30</span>&#8221;</span>
       and <span class="quote">&#8220;<span class="quote">v2.6.31</span>&#8221;</span> would not be distinguishable under
       PXELINUX because both mangle to the same DOS filename.
      </p><p>
       The Kernel does not have to be a Linux Kernel; it can be a boot
       sector or a COMBOOT file.
      </p></dd><dt><span class="term"><code class="option">APPEND -</code>
     </span></dt><dd><p>
       Append nothing. <code class="option">APPEND</code> with a single hyphen as
       argument in a <code class="option">LABEL</code> section can be used to override
       a global <code class="option">APPEND</code>.
      </p></dd><dt><span class="term"><code class="option">LOCALBOOT <em class="replaceable"><code>type</code></em></code>
     </span></dt><dd><p>
       On PXELINUX, specifying <code class="option">LOCALBOOT 0</code> instead of a
       <code class="option">KERNEL</code> option means invoking this particular label
       and causes a local disk boot instead of a Kernel boot.
      </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>
           <p>
            Argument
           </p>
          </th><th>
           <p>
            Description
           </p>
          </th></tr></thead><tbody><tr><td>
           <p>
            <code class="literal">0</code>
           </p>
          </td><td>
           <p>
            Perform a normal boot
           </p>
          </td></tr><tr><td>
           <p>
            <code class="literal">4</code>
           </p>
          </td><td>
           <p>
            Perform a local boot with the Universal Network Driver Interface
            (UNDI) driver still resident in memory
           </p>
          </td></tr><tr><td>
           <p>
            <code class="literal">5</code>
           </p>
          </td><td>
           <p>
            Perform a local boot with the entire PXE stack, including the
            UNDI driver, still resident in memory
           </p>
          </td></tr></tbody></table></div><p>
       All other values are undefined. If you do not know what the UNDI or
       PXE stacks are, specify <code class="literal">0</code>.
      </p></dd><dt><span class="term"><code class="option">TIMEOUT <em class="replaceable"><code>time-out</code></em></code>
     </span></dt><dd><p>
       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).
      </p></dd><dt><span class="term"><code class="option">PROMPT<em class="replaceable"><code> flag_val</code></em></code>
     </span></dt><dd><p>
       If <code class="option">flag_val</code> is 0, displays the boot prompt only if
       <span class="keycap">Shift</span> or
       <span class="keycap">Alt</span> is pressed or <span class="keycap">Caps
       Lock</span> or <span class="keycap">Scroll Lock</span> is set (this is the
       default). If <code class="option">flag_val</code> is 1, always displays the boot
       prompt.
      </p><pre class="screen">F2  <em class="replaceable"><code>filename</code></em>
F1  <em class="replaceable"><code>filename</code></em> 
..etc... 
F9  <em class="replaceable"><code>filename</code></em>
F10 <em class="replaceable"><code>filename</code></em></pre><p>
       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, <span class="keycap">F10</span>
       can be also entered as <span class="keycap">F0</span>. Note that there is
       currently no way to bind filenames to <span class="keycap">F11</span> and
       <span class="keycap">F12</span>.
      </p></dd></dl></div></div><div class="sect2" title="1.3.5. Preparing the Target System for PXE Boot"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.boot.pxeprep"></a>1.3.5. Preparing the Target System for PXE Boot<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.pxeprep">¶</a></span></h3></div></div></div><p>
    Prepare the system's BIOS for PXE boot by including the PXE option in
    the BIOS boot order.
   </p><div class="warning"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Warning: BIOS Boot Order"><tr class="head"><td width="32"><img alt="[Warning]" src="admon/warning.png"></td><th align="left">BIOS Boot Order</th></tr><tr><td colspan="2" align="left" valign="top"><p>
     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.
    </p></td></tr></table></div></div><div class="sect2" title="1.3.6. Preparing the Target System for Wake on LAN"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.boot.wolprep"></a>1.3.6. Preparing the Target System for Wake on LAN<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.wolprep">¶</a></span></h3></div></div></div><p>
    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.
   </p></div><div class="sect2" title="1.3.7. Wake on LAN"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.boot.wol"></a>1.3.7. Wake on LAN<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.boot.wol">¶</a></span></h3></div></div></div><p>
    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.
   </p><div class="important"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Important: Wake on LAN across Different Network Segments"><tr class="head"><td width="32"><img alt="[Important]" src="admon/important.png"></td><th align="left">Wake on LAN across Different Network Segments</th></tr><tr><td colspan="2" align="left" valign="top"><p>
     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.
    </p></td></tr></table></div></div></div><div class="sect1" title="1.4. Booting the Target System for Installation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec.deployment.remoteinst.bootinst"></a>1.4. Booting the Target System for Installation<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.bootinst">¶</a></span></h2></div></div></div><p>
   Basically, there are two different ways to customize the boot process for
   installation apart from those mentioned under
   <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.wol" title="1.3.7. Wake on LAN">Section 1.3.7, &#8220;Wake on LAN&#8221;</a> and
   <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.boot.pxe" title="1.3.3. Using PXE Boot">Section 1.3.3, &#8220;Using PXE Boot&#8221;</a>. 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.
  </p><div class="sect2" title="1.4.1. Using the Default Boot Options"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.bootinst.opts"></a>1.4.1. Using the Default Boot Options<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.bootinst.opts">¶</a></span></h3></div></div></div><p>
    The boot options are described in detail in Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
    Generally, just selecting <span class="guimenu">Installation</span> starts the
    installation boot process.
   </p><p>
    If problems occur, use <span class="guimenu">Installation&#8212;ACPI
    Disabled</span> or <span class="guimenu">Installation&#8212;Safe
    Settings</span>. For more information about troubleshooting the
    installation process, refer to Section &#8220;Installation Problems&#8221; (Chapter 9, <i>Common Problems and Their Solutions</i>, &#8593;Start-Up).
   </p><p>
    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
    <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst.custom" title="1.4.2. Using Custom Boot Options">Section 1.4.2, &#8220;Using Custom Boot Options&#8221;</a>). A
    detailed description of the available function keys is available at
    Section &#8220;The Boot Screen&#8221; (Chapter 1, <i>Installation with YaST</i>, &#8593;Start-Up).
   </p></div><div class="sect2" title="1.4.2. Using Custom Boot Options"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.bootinst.custom"></a>1.4.2. Using Custom Boot Options<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.bootinst.custom">¶</a></span></h3></div></div></div><p>
    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
    <code class="filename">initrd</code> or an <code class="filename">info</code> file.
   </p><p>
    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):
   </p><pre class="screen">install=<em class="replaceable"><code>xxx</code></em> netdevice<em class="replaceable"><code>=xxx</code></em> hostip=<em class="replaceable"><code>xxx</code></em> netmask=<em class="replaceable"><code>xxx</code></em> vnc=<em class="replaceable"><code>xxx</code></em> vncpassword=<em class="replaceable"><code>xxx</code></em>
   </pre><p>
    Replace all the values <em class="replaceable"><code>xxx</code></em> in this string
    with the values appropriate for your setup.
   </p><div class="table"><a name="tab.deployment.remoteinst.bootinst.custom"></a><p class="title"><b>Table 1.1. Installation (Boot) Scenarios Used in This Chapter</b><span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#tab.deployment.remoteinst.bootinst.custom">¶</a></span></p><div class="table-contents"><table summary="Installation (Boot) Scenarios Used in This Chapter" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>
        <p>
         Installation Scenario
        </p>
       </th><th>
        <p>
         Parameters Needed for Booting
        </p>
       </th><th>
        <p>
         Boot Options
        </p>
       </th></tr></thead><tbody><tr><td>
        <p>
         Chapter <i>Installation with YaST</i> (&#8593;Start-Up)
        </p>
       </td><td>
        <p>
         None: system boots automatically
        </p>
       </td><td>
        <p>
         None needed
        </p>
       </td></tr><tr><td>
        <p>
         <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.scenario.vncstat" title="1.1.1. Simple Remote Installation via VNC&#8212;Static Network Configuration">Section 1.1.1, &#8220;Simple Remote Installation via VNC&#8212;Static Network Configuration&#8221;</a>
        </p>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           Location of the installation server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Network device
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           IP address
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Netmask
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Gateway
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           VNC enablement
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           VNC password
          </p></li></ul></div>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">install=(nfs,http,&#8203;ftp,smb)://<em class="replaceable"><code>path_to_instmedia</code></em></code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">netdevice=<em class="replaceable"><code>some_netdevice</code></em></code>
           (only needed if several network devices are available)
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">hostip=<em class="replaceable"><code>some_ip</code></em> </code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">netmask=<em class="replaceable"><code>some_netmask</code></em>
           </code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">gateway=<em class="replaceable"><code>ip_gateway</code></em>
           </code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">vnc=1</code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">vncpassword=<em class="replaceable"><code>some_password</code></em>
           </code>
          </p></li></ul></div>
       </td></tr><tr><td>
        <p>
         <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.scenario.vncdyn" title="1.1.2. Simple Remote Installation via VNC&#8212;Dynamic Network Configuration">Section 1.1.2, &#8220;Simple Remote Installation via VNC&#8212;Dynamic Network Configuration&#8221;</a>
        </p>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           Location of the installation server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           VNC enablement
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           VNC password
          </p></li></ul></div>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">install=(nfs,http,&#8203;ftp,smb)://<em class="replaceable"><code>path_to_instmedia</code></em></code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="literal">vnc=1</code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">vncpassword=<em class="replaceable"><code>some_password</code></em>
           </code>
          </p></li></ul></div>
       </td></tr><tr><td>
        <p>
         <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.scenario.vncpxe" title="1.1.3. Remote Installation via VNC&#8212;PXE Boot and Wake on LAN">Section 1.1.3, &#8220;Remote Installation via VNC&#8212;PXE Boot and Wake on LAN&#8221;</a>
        </p>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           Location of the installation server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Location of the TFTP server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           VNC enablement
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           VNC password
          </p></li></ul></div>
       </td><td>
        <p>
         Not applicable; process managed through PXE and DHCP
        </p>
       </td></tr><tr><td>
        <p>
         <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.scenario.sshstat" title="1.1.4. Simple Remote Installation via SSH&#8212;Static Network Configuration">Section 1.1.4, &#8220;Simple Remote Installation via SSH&#8212;Static Network Configuration&#8221;</a>
        </p>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           Location of the installation server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Network device
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           IP address
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Netmask
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Gateway
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           SSH enablement
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           SSH password
          </p></li></ul></div>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">install=(nfs,http,&#8203;ftp,smb)://<em class="replaceable"><code>path_to_instmedia</code></em></code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">netdevice=<em class="replaceable"><code>some_netdevice</code></em></code>
           (only needed if several network devices are available)
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">hostip=<em class="replaceable"><code>some_ip</code></em> </code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">netmask=<em class="replaceable"><code>some_netmask</code></em>
           </code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">gateway=<em class="replaceable"><code>ip_gateway</code></em>
           </code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="literal">usessh=1</code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">sshpassword=<em class="replaceable"><code>some_password</code></em>
           </code>
          </p></li></ul></div>
       </td></tr><tr><td>
        <p>
         <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.scenario.sshdyn" title="1.1.5. Simple Remote Installation via SSH&#8212;Dynamic Network Configuration">Section 1.1.5, &#8220;Simple Remote Installation via SSH&#8212;Dynamic Network Configuration&#8221;</a>
        </p>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           Location of the installation server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           SSH enablement
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           SSH password
          </p></li></ul></div>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">install=(nfs,http,&#8203;ftp,smb)://<em class="replaceable"><code>path_to_instmedia</code></em></code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">usessh=1</code>
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           <code class="filename">sshpassword=<em class="replaceable"><code>some_password</code></em>
           </code>
          </p></li></ul></div>
       </td></tr><tr><td>
        <p>
         <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.scenario.sshpxe" title="1.1.6. Remote Installation via SSH&#8212;PXE Boot and Wake on LAN">Section 1.1.6, &#8220;Remote Installation via SSH&#8212;PXE Boot and Wake on LAN&#8221;</a>
        </p>
       </td><td>
        <div class="itemizedlist"><ul class="itemizedlist" type="bullet" compact><li class="listitem" style="list-style-type: disc"><p>
           Location of the installation server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           Location of the TFTP server
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           SSH enablement
          </p></li><li class="listitem" style="list-style-type: disc"><p>
           SSH password
          </p></li></ul></div>
       </td><td>
        <p>
         Not applicable; process managed through PXE and DHCP
        </p>
       </td></tr></tbody></table></div></div><br class="table-break"><div class="tip"><table border="0" cellpadding="3" cellspacing="0" width="100%" summary="Tip: More Information about linuxrc Boot Options"><tr class="head"><td width="32"><img alt="[Tip]" src="admon/tip.png"></td><th align="left">More Information about linuxrc Boot Options</th></tr><tr><td colspan="2" align="left" valign="top"><p>
     Find more information about the linuxrc boot options used for booting a
     Linux system at <a class="ulink" href="http://en.opensuse.org/Linuxrc" target="_top">http://en.opensuse.org/Linuxrc</a>.
    </p></td></tr></table></div></div></div><div class="sect1" title="1.5. Monitoring the Installation Process"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec.deployment.remoteinst.monitor"></a>1.5. Monitoring the Installation Process<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.monitor">¶</a></span></h2></div></div></div><p>
   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.
  </p><div class="sect2" title="1.5.1. VNC Installation"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.monitor.vnc"></a>1.5.1. VNC Installation<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.monitor.vnc">¶</a></span></h3></div></div></div><p>
    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.
   </p><div class="sect3" title="1.5.1.1. Preparing for VNC Installation"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.monitor.vnc.prep"></a>1.5.1.1. Preparing for VNC Installation<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.monitor.vnc.prep">¶</a></span></h4></div></div></div><p>
     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
     <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst.custom" title="1.4.2. Using Custom Boot Options">Section 1.4.2, &#8220;Using Custom Boot Options&#8221;</a>). The
     target system boots into a text-based environment and waits for a VNC
     client to connect to the installation program.
    </p><p>
     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.
    </p><p>
     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:
    </p><div class="procedure"><a name="proc.deployment.remoteinst.monitor.vnc.prep"></a><ol class="procedure" type="1"><li><p>
       Start the KDE file and Web browser Konqueror.
      </p></li><li><p>
       Enter <code class="literal">service://yast.installation.suse</code> 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 <code class="literal">:1</code>
       at the end of the IP address for the display the installation is
       running on.
      </p></li></ol></div></div><div class="sect3" title="1.5.1.2. Connecting to the Installation Program"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.monitor.vnc.connect"></a>1.5.1.2. Connecting to the Installation Program<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.monitor.vnc.connect">¶</a></span></h4></div></div></div><p>
     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.
    </p><p>
     Using VNC, you can control the installation of a Linux system from any
     other operating system, including other Linux flavors, Windows, or Mac
     OS.
    </p><p>
     On a Linux machine, make sure that the package
     <code class="systemitem">tightvnc</code> is installed. On a Windows machine,
     install the Windows port of this application, which can be obtained at
     the TightVNC home page
     (<a class="ulink" href="http://www.tightvnc.com/download.html" target="_top">http://www.tightvnc.com/download.html</a>).
    </p><div class="procedure"><a name="proc.deployment.remoteinst.monitor.vnc.connect.app"></a><p>
      To connect to the installation program running on the target machine,
      proceed as follows:
     </p><ol class="procedure" type="1"><li><p>
       Start the VNC viewer.
      </p></li><li><p>
       Enter the IP address and display number of the installation target as
       provided by the SLP browser or the installation program itself:

      </p><pre class="screen"><em class="replaceable"><code>ip_address</code></em>:<em class="replaceable"><code>display_number</code></em> </pre><p>
       A window opens on your desktop displaying the YaST screens as in a
       normal local installation.
      </p></li></ol></div><p>
     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.
    </p><p>
     To perform a VNC installation, proceed as follows:
    </p><div class="procedure"><a name="proc.deployment.remoteinst.monitor.vnc.connect.brow"></a><ol class="procedure" type="1"><li><p>
       Launch your preferred Web browser.
      </p></li><li><p>
       Enter the following at the address prompt:

      </p><pre class="screen">http://<em class="replaceable"><code>ip_address_of_target</code></em>:5801</pre></li><li><p>
       Enter your VNC password when prompted to do so. The browser window
       now displays the YaST screens as in a normal local installation.
      </p></li></ol></div></div></div><div class="sect2" title="1.5.2. SSH Installation"><div class="titlepage"><div><div><h3 class="title"><a name="sec.deployment.remoteinst.monitor.ssh"></a>1.5.2. SSH Installation<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.monitor.ssh">¶</a></span></h3></div></div></div><p>
    Using SSH, you can remotely control the installation of your Linux
    machine using any SSH client software.
   </p><div class="sect3" title="1.5.2.1. Preparing for SSH Installation"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.monitor.ssh.prep"></a>1.5.2.1. Preparing for SSH Installation<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.monitor.ssh.prep">¶</a></span></h4></div></div></div><p>
     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
     <a class="xref" href="cha.deployment.remoteinst.html#sec.deployment.remoteinst.bootinst.custom" title="1.4.2. Using Custom Boot Options">Section 1.4.2, &#8220;Using Custom Boot Options&#8221;</a> for
     details. OpenSSH is installed by default on any SUSE Linux&#8211;based
     operating system.
    </p></div><div class="sect3" title="1.5.2.2. Connecting to the Installation Program"><div class="titlepage"><div><div><h4 class="title"><a name="sec.deployment.remoteinst.monitor.ssh.connect"></a>1.5.2.2. Connecting to the Installation Program<span class="permalink"><a alt="Permalink" title="Copy Permalink" href="#sec.deployment.remoteinst.monitor.ssh.connect">¶</a></span></h4></div></div></div><div class="procedure"><a name="proc.deployment.remoteinst.monitor.ssh.connect"></a><ol class="procedure" type="1"><li><p>
       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.
      </p></li><li><p>
       At a command line, enter the following command:
      </p><pre class="screen">ssh -X root@<em class="replaceable"><code>ip_address_of_target</code></em>
</pre><p>
       Replace <em class="replaceable"><code>ip_address_of_target</code></em> with the
       actual IP address of the installation target.
      </p></li><li><p>
       When prompted for a username, enter <code class="literal">root</code>.
      </p></li><li><p>
       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.
      </p></li><li><p>
       Enter <span class="command"><strong>yast</strong></span> to launch the installation program. A
       window opens showing the normal YaST screens as described in
       Chapter <i>Installation with YaST</i> (&#8593;Start-Up).
      </p></li></ol></div></div></div></div></div><div class="navfooter"><table width="100%" summary="Navigation footer" border="0" class="bctable"><tr><td width="80%"><div class="breadcrumbs"><p><a href="index.html"> Documentation</a><span class="breadcrumbs-sep"> &gt; </span><a href="book.opensuse.reference.html">Reference</a><span class="breadcrumbs-sep"> &gt; </span><a href="part.reference.install.html">Advanced Deployment Scenarios</a><span class="breadcrumbs-sep"> &gt; </span><strong><a accesskey="p" title="Part I. Advanced Deployment Scenarios" href="part.reference.install.html"><span>&#9664;</span></a>  <a accesskey="n" title="Chapter 2. Advanced Disk Setup" href="cha.advdisk.html"><span>&#9654;</span></a></strong></p></div></td></tr></table></div></body></html>

ACC SHELL 2018