  Network Install HOWTO
  Graham White, gwhite@uk.ibm.com
  IBM Hursley, UK
  v1.0, 12th September 2002

  This HOWTO describes how to install Linux over a Local Area Network
  (LAN).  It covers setting up and administrating the install server
  machine as well as installing client machines from your server.  Since
  Network Installation is distribution dependent it covers SuSE, Redhat
  and Debian installs but also includes a generic Linux network install
  guide.
  ______________________________________________________________________

  Table of Contents



  1. Introduction

     1.1 Copyright
     1.2 Disclaimer
     1.3 Credits
     1.4 Translations
     1.5 Change Log

  2. Document Structure

     2.1 Server Setup Structure
     2.2 Client Install Structure
     2.3 Reading plan

  3. Quick Guide

     3.1 Advantages & Disadvantages
        3.1.1 Advantages
        3.1.2 Disadvantages
     3.2 Automatic vs Manual Installation
        3.2.1 Automatic Installation
        3.2.2 Manual Installation
     3.3 Hardware
     3.4 Software/Services
     3.5 Generic Server Setup Guide
        3.5.1 Begin Setup
        3.5.2 Setting Up Filespace
           3.5.2.1 How much space will you need?
           3.5.2.2 How much space do you have?
        3.5.3 Copy Installation Media
        3.5.4 Enable Remote Access
           3.5.4.1 NFS
           3.5.4.2 FTP
           3.5.4.3 HTTP
        3.5.5 Basic Setup Complete
     3.6 Generic Client Install Guide
        3.6.1 Create Config Files
           3.6.1.1 Configuration Program Installation
           3.6.1.2 Create A Basic Config File
           3.6.1.3 Advanced Config File Setup
        3.6.2 Boot the Machine

  4. SuSE Server Setup

     4.1 Setting Up Filespace
        4.1.1 How much space will you need?
        4.1.2 How much space do you have?
     4.2 Copy Installation Media
     4.3 Enable Remote Access
        4.3.1 NFS
     4.4 Package Customisation

  5. SuSE Client Install

     5.1 Create AutoYaST Config Files
        5.1.1 YaST 2 Module Installation
        5.1.2 Create A Basic Config File
        5.1.3 Advanced Config File Setup
     5.2 Boot the Machine
        5.2.1 Manual Installation
        5.2.2 Automatic Installation
           5.2.2.1 Further Boot Options

  6. Redhat Server Setup

     6.1 Setting Up Filespace
        6.1.1 How much space will you need?
        6.1.2 How much space do you have?
     6.2 Copy Installation Media
     6.3 Enable Remote Access
        6.3.1 NFS
        6.3.2 FTP
        6.3.3 HTTP
     6.4 Package Customisation
        6.4.1 Further Customisation

  7. Redhat Client Install

     7.1 Create Kickstart Config Files
        7.1.1 Kickstart Configurator Installation
        7.1.2 Create A Basic Config File
        7.1.3 Advanced Config File Setup
     7.2 Boot the Machine
        7.2.1 Further Boot Options

  8. Debian Server Setup

     8.1 Setting Up Filespace
        8.1.1 How much space will you need?
        8.1.2 How much space do you have?
     8.2 Mirror the Debian Archive
        8.2.1 Where to Mirror From?
        8.2.2 How to Mirror?
     8.3 Enable Remote Access
        8.3.1 NFS
        8.3.2 FTP
        8.3.3 HTTP

  9. Debian Client Install

     9.1 Boot the Machine

  10. Appendix A: Further Information

     10.1 HOWTO
        10.1.1 Generic
        10.1.2 Redhat
     10.2 Mini-HOWTO
        10.2.1 Generic
        10.2.2 Debian
     10.3 Web Pages
        10.3.1 Generic
        10.3.2 SuSE
        10.3.3 Redhat
        10.3.4 Debian
     10.4 Mailing Lists
        10.4.1 SuSE
        10.4.2 Redhat
        10.4.3 Debian


  ______________________________________________________________________

  1.  Introduction

  I was first prompted to write this document after reading a request
  for such a document on the LDP suggestions page.  I realised that this
  was within my area of expertise and approached the LDP about creating
  a new HOWTO document for the project.  I took the LDP standard
  template and have modified that in order to come up with the structure
  of this document.  Using both the template and a few SGML references,
  I have written the SGML source, that I have since found to be a
  particularly convenient type for converting into many different
  document formats.

  About the author - I started working with Linux 2 years ago (at the
  time of writing) when I joined IBM ®  in a Linux support role.  I
  started IBM with no previous administration experience and learned my
  skills on the job.  A year after I joined I was certified as a Redhat
  Expert (RHCE).  During my second year I implemented a Linux network
  install server that I am still managing and from which I hope to draw
  my knowledge to write this document.



  1.1.  Copyright

  (C) Copyright IBM Corp. 2002.



  1.2.  Disclaimer

  This document is provided "AS IS," with no express or implied
  warranties. Use the information in this document at your own risk.

  The following terms are registered trademarks of International
  Business Machines corporation in the United States and/or other
  countries: IBM. A full list of U.S. trademarks owned by IBM may be
  found at http://www.ibm.com/legal/copytrade.shtml.

  Linux is a trademark of Linus Torvalds

  Other company, produce, and service names may be trademarks or service
  marks of others.

  Naming of particular products or brands should not be seen as
  endorsements.

  This document may be reproduced or distributed in any form without
  prior permission provided the copyright notice is retained on all
  copies.  Modified versions of this document may be freely distributed
  provided that they are cloearly identified as such, and this copyright
  is included intact.

  You are strongly recommended to take a backup of your system before
  major installation, and backups at regular intervals.



  1.3.  Credits

  I am always open to putting more names in this section so if you want
  to get in here then please send me feedback or write your own section
  for a different Linux ® distribution that is not included yet.

  Thanks to my proof readers of version 0.9:
  - Adrian Fewings
  - Beth Carey
  - Paul Milner



  1.4.  Translations

  Currently this document is only available in English.  If you would
  like to be a translator for it then please mail me.

  1.5.  Change Log

  You can always find the latest copy of this document at the Linux
  Documentation Project <http://www.tldp.org/> homepage.


  V.    DATE                  CHANGE
  ______________________________________________________________________
  0.1   27th July 2002        Started writing the first draft
                              Wrote the Introduction Section.
  0.2   2nd August 2002       Finalised the document structure.
                              Written the SuSE Server Setup.
  0.3   20th August 2002      Tidied up source to work better with PDF docs
                              Written SuSE Client Install
  0.4   21st August 2002      Written Redhat Server Setup
  0.5   22nd August 2002      Written Redhat Client Install
  0.6   23rd August 2002      Written Debian Server Setup
  0.7   30th August 2002      Written Debian Client Install
  0.8   1st September 2002    Written Quick Install Section
  0.9   2nd September 2002    Written Structure Section & Tidied up loose ends
  1.0   12th September 2002   Proof read and made refinements
                              Submit to the LDP



  2.  Document Structure

  This document is split up into various sections that are designed to
  make it easy to read and learn from.  There are major sections that
  allow the reader to skip to parts of the HOWTO that will be relevant
  for them.  The entire document is not designed to be relevant to every
  reader and you may wish to skip out entire major sections of it.  Each
  major section will consist of a set of subsections, so if you think a
  major section is relevant to what you are reading this HOWTO for then
  please read ALL the subsections.

  This HOWTO covers different distributions of Linux and I try to be
  generic across different versions of a particular distribution.  It
  contains two basic high-level structures to it for each distribution
  that it contains, these are (a) sections on setting up Linux install
  ``server'' server machines, and (b) sections on setting up ``clients''
  using an install server.  In addition to these two types of main
  section there are also a few other sections that are designed for
  reference purposes to other documents, and how to use this document.



  2.1.  Server Setup Structure

  This is a rough list of points that you will need to follow in order
  to setup a Linux machine as a network install server.  The HOWTO
  sections on setting up servers roughly adhere to this list:

  1. Install a machine with Linux to be a server machine

  2. Check you have enough disk space free to serve Linux installs

  3. Set up the filespace you want to use to serve the Linux installs

  4. Copy the install media to your filespace

  5. Enable one or more remote access methods to your filespace

  6. Customise your server images



  2.2.  Client Install Structure

  This is a rough list of points that you will need to follow in order
  to install a Linux distribution from a network install server.  The
  HOWTO sections on installing client machines roughly adhere to this
  list:

  1. Install config program on a machine

  2. Use config program to create config files

  3. Edit the config file to include customisable options

  4. Create a bootable media

  5. Provide access to the config file

  6. Boot your machine and read the config file

  7. Client contacts server machine

  8. Manually supply any requested arguments

  9. Client installs and reboots to new operating system



  2.3.  Reading plan

  Although this is not the biggest reference guide in the world you can
  still help yourself for quicker reading by following the guidelines
  below.  I have tried to write the HOWTO in such a way that it will be
  useful to all skill levels in Linux.


     Expert
        (aka the elite). If you are familiar with Linux as well as
        installation over networks then you will probably be able to do
        most of your setup using the quick guide section, you will also
        find some useful references in the appendices for further
        reading purposes.  For distribution specific details of a
        network install then you should be able to reference the
        appropriate subsection.


     Experienced
        (aka competent). If you are familiar with Linux but new to
        network installations then you should be able to make good use
        of the various distribution independent sections.  Read
        carefully through the sections that you think are relevant for
        your purposes but you should be able to skip through the
        commands quite easily.  You will also find good references in
        the appendices for further reading.


     Newbie
        (mostly harmless). You will find some excellent installation
        references listed in the appendices that I would thoroughly
        recommend reading before attempting network installations.  Make
        sure you are completely happy with a basic non-network Linux
        installation before you attempt networked installs.  Once you
        think you are ready then read very thoroughly through the
        sections for the distribution you are interested in and make
        sure you read the non-distribution specific sections carefully
        too.  You should find the command references in this HOWTO very
        helpful.



  3.  Quick Guide

  This chapter gives some overview information about installing Linux
  over a network.  All examples and information here can be considered
  generic between different Linux distributions.  If you want more
  specific information for a particular distribution then please read
  one of the following relevant chapters.



  3.1.  Advantages & Disadvantages

  The following is a list of advantages and disadvantages of installing
  Linux over a network and the automatic installation features available
  with many distributions of Linux.  The list is in no specific order:



  3.1.1.  Advantages


  ·  Fastest installation (on a good network)

  ·  Automatic configuration available (unattended installation)

  ·  Very quick installation of many systems

  ·  No need for physical installation media

  ·  Customisable installation with packages not available from the
     standard distribution

  ·  Once the install system is setup and working installations are very
     simple

  ·  Multiple system configurations available for automatic installation
     with different config files

  ·  Simultaneous installation from a single source

  ·  No need for an install media library, space-saving

  ·  Very easy to update

  ·  No problems with reading install media



  3.1.2.  Disadvantages


  ·  Slow installation (on a bad network)

  ·  Added complexity of installation

  ·  Time needed initially to set up an install server

  ·  Relies on network and connectivity

  ·  Uses network bandwidth

  ·  A server machine is required (expensive)



  3.2.  Automatic vs Manual Installation

  This section briefly compares the differences between automatic (or
  unattended) installations with the more common manual installations
  available.  This should give you a good idea of which system is right
  for your usage.



  3.2.1.  Automatic Installation

  Automated or unattended installation is probably less used and less
  well known for installing systems than manual installation.  This
  instantly gives rise to the challenges of trying to educate people
  about what it is and how to use it.  Once you understand the basics of
  networked installation then automatic installation is a natural next
  step to take when installing and configuring your systems.

  Automatic installation has the major drawback of a longer setup period
  required at the start of your process.  This is to set up the install
  server (which you need to do for any network install environment) but
  you must also make up one or more configuration files for your install
  client to read.  It is this setup time and slight added complexity
  that you must weigh up before deciding whether to do manual or
  automatic installations.  Basically, as a rule of thumb, the more
  machines you have to install, the more time will be saved by using
  automatic installation techniques.

  Automated installations are very easy to perform once you have the
  initial setup completed.  You boot your client system in any way shape
  or form you like (usually by floppy disk) but you also provide access
  to your configuration file to the client at install time (usually
  either on the floppy disk or over the network connection).  The
  configuration file contains all the required information that your
  client will need for installation, from what mouse/keyboard to use
  right through to the packages that you want installed on your system.

  Another large bonus point of using the automated installation
  techniques is that most Linux distributions also provide means to add
  customised packages to the system at install time.  This means that
  you can install packages that are not provided by the particular Linux
  distribution you are installing.  There are normally also further
  configuration steps available such as the ability to write scripts for
  your installation that will get performed before, during, or after the
  install is complete.  This all adds up to providing much faster
  installation of a complete system that is already setup in a
  customised way for your particular environment.



  3.2.2.  Manual Installation

  This is the method of Operating System (OS) installation that most
  people are used to.  Commonly we install our base OS using CDROM disks
  and boot from CDROM or floppy disk before proceeding through a program
  of menus that allow us to customise certain options.  This is probably
  the greatest benefit of Manual Installation i.e. most people are
  familiar with the process. However, it can bring other benefits too
  such as a quick/easy/simple installation and this method of
  installation is used more (therefore tested more) than other methods
  of installation so it might just be more reliable too.

  The problems with manual installation come when you update your system
  very regularly, you are installing a large number of systems, or you
  want to have a particularly customised setup.  Manual installation
  will not allow you to add extra programs to your OS at install time,
  you will have to install the OS then boot it before configuring the
  programs you want in the way that you would like.  Also, this method
  can be quite time consuming if you are installing lots of systems,
  particularly if you only have a few sets of CDs.

  Manual installation can still be done using a networked install
  environment.  You can do this on any compatible OS that allows you to
  boot your client machine ready for installation before loading your
  network drivers and contacting your install server.  All the data that
  would otherwise have been copied from CD images is now sent over the
  network instead.



  3.3.  Hardware

  You do not require any special hardware in order to install Linux over
  a network in either manual or automated mode.  The basic requirements
  are:

  1. That you have a server machine available to you that has enough
     storage space on it to hold the install image that you want to
     transfer over the network.

  2. Ensure that this server is powerful enough to cope with the load
     that is going to be placed upon it.

  3. A network connection between your server and the client you want to
     install.

  4. A client machine with the appropriate hardware for the installation
     that you are intending to do.

  Some examples where you might require specific hardware may be if you
  have a specialised network or if you need to attach more storage to
  your server, for example.  In the example of attaching storage to your
  server, it does not matter in any way to the installation process
  where the install image is held, it can be on a local hard disk, in a
  RAID array, on a distributed filesystem or anywhere that the server
  machine can access reliably and quickly.

  It goes without saying that if you don't have a network or your
  network is unreliable or slow then do not attempt network
  installations as they may fail or take a very long time to complete.



  3.4.  Software/Services

  You will require a basic understanding of some of the services that
  run on a Linux based machine in order to setup your install server.
  These are services that make your install image available over your
  local network to the client machines that you want to install.  In
  addition you will also need basic Linux administration skills in order
  to set up and maintain your server well.

  Most Linux distributions have a network installation method that makes
  use of between one and three methods of transferring data cross a
  network. These services may or may not have an impact on the
  installation you are going to perform at the client end.  The
  differences between the services will depend on the Linux distribution
  you are installing and any distinctions that this distribution makes
  between these services.

  The three data transfer services are NFS (Network Filesystem), HTTP
  (Hypertext Transfer Protocol) and FTP (File Transfer Protocol).  Each
  of these services is slightly different in the way that it operates,
  the function that it is designed for, and the way that you
  administrate it.  Basic guidance is provided throughout this HOWTO
  about what these differences are but you are recommended to
  familiarise yourself with each of them so that you can manage your
  system responsibly and make informed choices about the services that
  you run.



  3.5.  Generic Server Setup Guide

  This section gives a brief run down of setting up an install server
  for a Linux distributions as they can be and are designed specifically
  to give you a very quick overview of what network installations
  involve.  If you want to perform network installations on your own
  machines then you are advised to read the relevant sections of this
  HOWTO in full.  If the HOWTO does not contain a section for the
  distribution that you want to install then you can either change the
  distribution you are installing over the network to match the HOWTO or
  use the following as a very rough guide on how to do it.



  3.5.1.  Begin Setup

  This section explains how to set up your server machine to be an
  install server for a generic Linux distribution.  For most
  distributions you can use any other distribution as the install
  server.  For example, you can install Redhat over your network using a
  server installed with SuSE.

  This guide starts from the point where you have a machine installed
  with Linux which is already up and running and connected to your
  network.  If you require help with installing Linux on your server
  then please consult the Further Information section of this HOWTO in
  ``Appendix A''.



  3.5.2.  Setting Up Filespace

  In order to set up an install server you will need to put on all the
  required data that will be needed to perform a full installation of
  the Linux distribution you are going to serve.  For example, if you
  are used to installing Linux using CDs then you will need space on
  your server to copy ALL the contents of each CD onto your server.

  So, before you even think about setting up your machine as an install
  server, you must check that you have the required space available.
  This sounds like a trivial thing to check but it is very important and
  easily forgotten when you're setting up.



  3.5.2.1.  How much space will you need?

  A guide for the amount of space that you will require will be the
  amount of space on your install media that you are intending to copy
  from later.  This might be one of the following approximate examples:

  ·  Number of CDs x 650Mb

  ·  Number of ISO images x 650Mb



  3.5.2.2.  How much space do you have?

  You will need the appropriate amount of space available to your system
  on some local filesystem.  It does not matter what form this takes,
  whether it's a RAID device, local disk (either SCSI or IDE), etc.
  Ensure that the space you intend to use is formatted with your chosen
  filesystem and is mounted.

  You can check this space with the command:

  df -h



  If this output shows you have enough space to copy your install media
  then great, you can continue installation.  If not then it's time to
  think about an upgrade to your intended server machine!



  3.5.3.  Copy Installation Media

  Once you know you have enough space available it's time to start
  copying your install media to your chosen filesystem and directory.
  This might involve copying the entire contents of all your CDs to one
  install directory on your server or copying the data over the network
  by some method, etc.



  3.5.4.  Enable Remote Access

  Time to make your install data available to other machines on the
  network.  Most distributions allow installation over the network using
  NFS, HTTP and FTP protocols. You can select which of these will be
  used at install time on the client.  If one of the services is not
  setup on the machine then it will still be available for selection by
  the client but the install will not work.  Therefore, it is either
  best to enable all three services on your server (so they all work on
  each client machine) or if you don't enable all three then advertise
  the fact very well and say which service should be used for your
  particular install server.



  3.5.4.1.  NFS

  To install over NFS you need to meet certain conditions on the server:

  ·  Your install directory is exported

  ·  NFS is installed and running


  ·  Portmap is running

  To export your install directory edit the /etc/exports file and add an
  entry for your installation target directory to it.  If you are not
  sure about exporting filesystems then see your man page for the
  exports file at exports (5).



  3.5.4.2.  FTP

  To install over FTP you need to allow FTP access to the directory that
  you have setup on the server as the installation directory.  This can
  be either anonymous FTP access or access through a named account with
  a password.  Anonymous access is probably best unless you have a
  reason to protect your install server via a password.

  If you want anonymous FTP to point to a different directory then you
  can use sym links to point to the directory that you have set up as
  the install directory on the server.  This will allow FTP into a
  chrooted environment but still give you access to the install images
  in a different location.



  3.5.4.3.  HTTP

  If you have a web server running and want to enable HTTP access to
  your install server then add sym links from your document root to the
  install server directory and this will grant access.  If you are not
  familiar with web servers or are not comfortable with this approach
  then leave out HTTP access from your install server as it provides no
  benefits over NFS or FTP installs which may be simpler to set up.

  If you do choose to use HTTP then basically all you have to do is make
  the install directory visible to your web server by making it appear
  under the document root by some means.



  3.5.5.  Basic Setup Complete

  You have now completed the basic setup of your install server.
  Different distributions will grant you different options for further
  customisation techniques of the installation process.  The most
  commonly found customisation is the option to install packages that do
  not come as standard with the distribution you are installing.
  However, there may be further customisations you want to do on your
  particular server or that are available for your particular Linux
  distribution.



  3.6.  Generic Client Install Guide

  This section gives a brief run down of setting up a client machine
  using your install server. The terms and theory here are as general to
  all Linux distributions as I can be and are designed specifically to
  give you a very quick overview of what network installations involve.
  If you want to perform network installations on your own machines then
  you are advised to read the relevant sections of this HOWTO in full.
  If the HOWTO does not contain a section for the distribution that you
  want to install then you can either change the distribution you are
  installing over the network to match the HOWTO or use the following as
  a very rough guide on how to do it.

  3.6.1.  Create Config Files

  You only need to read/follow this section if you are intending to use
  an automated install process, if you intend to do a manual
  installation over your network then skip this section.  Here we go
  through the process of creating configuration files that the installer
  will read in order to create the configuration of our client machines
  we are installing during an unattended network installation.



  3.6.1.1.  Configuration Program Installation

  In order to start creating your config files you will need to install
  the relevant config file editor.  Each distribution that is capable of
  installing in unattended mode over the network will provide some means
  of editing config files.  Make sure you have these installed on some
  Linux machine that will allow you to create and save all the different
  configurations you might want to install on your network.



  3.6.1.2.  Create A Basic Config File

  Once you have confirmed that you have the configuration program
  package installed, you can start to create configuration files.  For
  most situations the basic configuration described here will be
  sufficient to perform your installations.

  Start the configuration program that you have on your system. In most
  cases, you will now be presented with a window that allows you to
  configure most of your installation options as if you were installing
  a new machine or performing an upgrade. You can proceed through each
  menu, configuring your options for a particular system or set of
  similar systems that you wish to automatically install.

  Once you have progressed through each configuration screen, you are
  ready to save out your configuration file to disk.  Click the save
  button and choose a location on your system to store configuration
  files.  If you are creating lots of different configurations then it
  might be worthwhile creating your own configuration repository - don't
  forget to name the files sensibly so you know which is which.



  3.6.1.3.  Advanced Config File Setup

  Before attempting advanced configuration please make sure that you
  have first created a valid basic configuration file as described
  ``above''.  It is perfectly possible to create your own configuration
  files from scratch but it is far easier to use the tools provided to
  do the job for you!

  Once you have your configuration file saved, you can open it in your
  favourite text editor.  You can use or modify any of the existing tags
  in your file, just so long as the tags, options, and syntax you use
  are legal.  Once you have edited the file manually then save it back
  out in text format again. The best use of editing the configuration
  file manually is probably for adding your own customised packages to
  the installation.



  3.6.2.  Boot the Machine

  The most common method of booting a client ready for installation over
  a network is to use a floppy disk.

  1. If you have not already created a boot floppy then do it now (you
     only need to do this step once, when you have a boot floppy you can
     install as many machines as you like with a single floppy):

  ·  Locate the floppy image that you need to use.

  ·  Copy the image to your floppy disk (make sure you have one inserted
     in the drive, but not mounted) using the following command:

     dd if=your-file.img of=/dev/fd0



  2. If you are doing an automated install (with the config file) then
     you should follow this step (otherwise skip to next step):

  ·  Copy your config file to the root directory of the floppy

  3. Insert your floppy disk into the client machine that you want to
     install.  Make sure that the floppy disk is in the boot list of
     your BIOS and turn on your machine to boot from the floppy.

  4. At the boot prompt:

  ·  If you are doing an automated install then start the automated
     process

  ·  If you're not using config files then press ENTER for the default
     installation

  5. Finish the installation.

  Don't forget that some distributions will allow you to boot from other
  media as well as floppy images to perform network installations.
  Also, each distribution normally has a set of extra boot options that
  you can use if the above method does not work on your hardware.  These
  extra configuration options are normally for less common hardware but
  are provided to make sure you can perform network installs.



  4.  SuSE Server Setup

  This section explains how to set up your server machine to be an
  install server for SuSE Linux.  You can set up any Linux distribution
  to be a SuSE Linux install server, this machine does not necessarily
  have to be running SuSE Linux itself.

  This guide starts from the point where you have a machine installed
  with Linux which is already up and running and connected to your
  network.  If you require help with installing Linux on your server
  then please consult the Further Information section of this HOWTO in
  ``Appendix A''.



  4.1.  Setting Up Filespace

  In order for your server to act as a SuSE Network Install server you
  will need to put on all the required data that will be needed to
  perform a full installation of the SuSE version you are serving.  For
  example, if you are used to installing SuSE using CDs then you will
  need space on your server to copy ALL the contents of each CD onto
  your server.

  So, before you even think about setting up your machine as an install
  server, you must check that you have the required space available.
  This sounds like a trivial thing to check but it is very important and
  easily forgotten when you're setting up.



  4.1.1.  How much space will you need?

  A guide for the amount of space that you will require will be the
  amount or space of install media that you are intending to copy from
  later.  This might be one of the following examples:


  ·  Number of CDs x 650Mb

  ·  Number of ISO images x 650Mb

  ·  One DVD which might be roughly 5Gb



  4.1.2.  How much space do you have?

  You will need the appropriate amount of space available to your system
  on some local filesystem.  It does not matter what form this takes,
  whether it's a RAID device, local disk (either SCSI or IDE), etc.
  Ensure that the space you intend to use is formatted with your chosen
  filesystem and is mounted.

  You can check this space with the command:

  df -h



  If this output shows you have enough space to copy your install media
  then great, you can continue installation.  If not then it's time to
  think about an upgrade to your intended server machine!



  4.2.  Copy Installation Media

  Once you know you have enough space available it's time to start
  copying your install media to your chosen filesystem and directory.
  For the purposes of this HOWTO we will use the following example to
  represent the directory from which our install server will be setup
  and running:

  /install



  Copy your install media to /install.  The following example shows you
  how to do this for copying your SuSE CD images to /install:

  1. Mount your CD

  2. Copy the data from CD

  3. Unmount the CD

  4. Now swap CDs and repeat from step 1 for each of your CDs you have.

  5. Ensure that you have the dot files from the root directory of each
     CD copied over to /install

  Now you should have all you need in /install but if you have copied
  from CD then as far as SuSE is concerned the /install directory still
  represents a set of CD images that you have copied.  You need to
  change this such that the set of CD images appears as a single
  installation medium.  Use the following Perl command to do this:

  perl -pi -e 's/InstPath:\t\d+/InstPath:\t01/' /install/suse/setup/descr/common.pkd



  4.3.  Enable Remote Access

  Time to make your install data available to other machines on the
  network.



  4.3.1.  NFS

  SuSE is best installed over the network using NFS since support for
  the HTTP and FTP protocols is not necessarily supported during
  installation, even though later system updates may be applied over
  HTTP or FTP.

  To install over NFS you need to meet certain conditions on the server:

  ·  Your install directory is exported

  ·  NFS is installed and running

  ·  Portmap is running

  To export your install directory edit the /etc/exports file and add an
  entry for /install to it.  In our example, we would use the folowing
  line:

  /install *(ro)


  When you have saved your exports file you must then get your NFS dae­
  mon to read its configuration file again in order to export the direc­
  tory you just added.  Do this by running the command:

  exportfs -r


  This gives us the most simple read-only export to all hosts on our
  network.  If you want to include more advanced options in your export
  e.g. only exporting to certain hosts on the network or a certain sub­
  net, etc then see your man page for the exports file at exports (5).

  You have now completed the basic setup of your install server.

  4.4.  Package Customisation

  You can, if you wish, add your own packages to the SuSE distribution
  so that they are installed along with SuSE over the network when you
  install your clients.  The advantage of this is that you don't have to
  spend time configuring each machine for packages that you may want
  installed that are not included with SuSE.  Examples of this might be
  your own RPM packages that you have created or some specialised
  package.

  Simply copy your RPM package files into the following directory

  /install/suse/custom


  NOTE: you may need to create this directory if it does not exist

  Your custom RPM packages should now be available to the clients.



  5.  SuSE Client Install

  You should have already decided by now using the ``Quick Guide''
  section of this HOWTO whether you are going to install your machine
  using the automated process or a manual process.  The automated
  process under SuSE is known as AutoYaST and in short provides you with
  a configuration file for the machine that you are going to install so
  that you can perform unattended installs of client machines.



  5.1.  Create AutoYaST Config Files

  You only need to read/follow this section if you are intending to use
  an automated install process, if you intend to do a manual
  installation over your network then skip this section.  Here we go
  through the process of creating configuration files that the installer
  will read in order to create the configuration of our client machine
  we are installing during an unattended network installation.



  5.1.1.  YaST 2 Module Installation

  In order to start creating your config files you will need to install
  the AutoYaST module for YaST2 on your SuSE machine.  You will need
  three RPMs for this, all of which are on your SuSE source media e.g.
  CDs.  The three RPMs are:

  ·  yast2-trans-autoinst

  ·  yast2-config-autoinst

  ·  yast2-module-autoinst

  Check to see if you already have them installed with the command:

  rpm -q {rpm package name}



  If these packages are not installed then install with the command:

  rpm -Uvh {rpm package name}



  5.1.2.  Create A Basic Config File

  Once you have confirmed that you have the AutoYaST packages installed
  on your system, you can now start to create configuration files.  For
  most situations the basic configuration described here will be
  sufficient to perform your installations.

  Start the YaST2 Autoinstall configuration GUI with the command:

  yast2 autoyast



  You will now be presented with a window that allows you to configure
  most of your installation options as if you were installing a new
  machine or performing an upgrade.  You can proceed through the menu
  system configuring your options for a particular system or set of
  similar systems that you wish to automatically install. Alternatively,
  you can create class definitions which allows you to save different
  parts of the configuration setup and then use different classes for
  different sets of machines.

  The use of classes is particularly good when you have a set of systems
  that are similar but that you would like installed in slightly
  different ways.  For example, you could create a class definition for
  the hardware setup of all your client machines and create a separate
  class for the packages you want installed on them, whether they are
  server machines, test machines, workstations, etc.  You can then
  choose which classes are used by which machines when they are
  installed.  In our example here, all the machines would use the same
  hardware setup, but the workstation machines could install our
  workstation class of packages, test machines the test class, etc.

  Once you have progressed through each configuration screen in the
  config setup GUI from YaST2 you are ready to save out your
  configuration file to disk.  NOTE: it is outside the boundaries of
  this document to take you through each configuration option for
  installation, we are just concerned with the principles of network
  installs here.  Please consult your SuSE documentation or the SuSE
  Website <http://www.suse.com> for this information.

  When you save your configuration files they will be stored locally in
  two different locations depending on what file you have created as
  follows:

  ·  Machine configuration files are stored in
     /var/lib/autoinstall/repository

  ·  Class definition files are stored in /var/lib/autoinstall/classes



  5.1.3.  Advanced Config File Setup

  Before attempting advanced configuration please make sure that you
  have first created a valid basic configuration file as described
  ``above''.  It is perfectly possible to create your own configuration
  files from scratch but it is far easier to use the tools provided to
  do the job for you!

  Once you have your configuration file saved, you can open it in your
  favourite text editor.  The file is in XML format so it is
  particularly easy to follow and edit manually.  You can use or modify
  any of the existing tags in your file, just so long as the tags,
  options, and syntax you use are legal.  A full guide to the tags and
  their usage can be found in the AutoYaST manual, please see ``Appendix
  A'' of this guide for a reference.

  The best use of editing the configuration file manually is probably
  for adding your own customised packages to the installation.  Back in
  the ``SuSE Server Setup'' section we describe how to add your own
  customised packages to your install server.  Here, we describe how to
  access those packages using the configuration file so they can be
  automatically installed with the rest of the system.

  You should be able to locate a <software> section in your basic
  configuration file in your editor.  You can use a sub-tag inside the
  software section called the <extra_packages> tag which can be used as
  in the following example:

  <software>
          <extra_packages>
                  <package_location>
                          custom
                  </package_location>
                  <packages config:type="list">
                          <package>{Your package name}</package>
                          <package>{Another Package}</package>
                  </packages>
          <extra_packages>
          <base>Default<base>
  <software>



  The package location is written as custom which describes the
  directory under the suse directory of you install server where you
  have put your custom packages, in our example this would be
  /install/suse/custom, but you only need to write custom here.

  You can include as many package tags under the packages section as you
  wish.  Use one package tag for each custom package you want to include
  in your config file and install on the client machine.

  The base tag at the bottom should be left as you configured it during
  the basic configuration.

  Save your modified configuration file from your text editor and it
  will then be ready to use in your installations as described below.



  5.2.  Boot the Machine

  There are different situations during a network installation boot of
  one of your client systems that might mean that you wish to boot in
  one of the ways below.  NOTE: you only need use one of the methods
  described for the particular usage for which it has been described.



  5.2.1.  Manual Installation

  If you skipped over the section above about creating AutoYaST config
  files then this is the way in which you should boot your client
  machines.
  1. Turn on your machine, ensure the CD drive is in the boot list of
     your BIOS, insert the CD.  You should be faced with the normal boot
     menu of the SuSE installation program.  As an alternative to
     booting from CD, you can boot from floppy images, from the network,
     or using whichever method you would normally use to boot the
     installation program.

  2. Select the "Manual Installation" option from the boot menu

  3. Your client should now boot the installation program and present
     you with a new menu system for the installer

  4. Load any network modules you will need in order to connect to your
     network

  5. Load any other modules you might need for installation e.g. SCSI
     modules if you are installing onto a SCSI type machine.

  6. Select "Start Installation" from the menu

  7. Choose the NFS option and fill in the IP addresses when prompted
     for.  These should all be familiar to you i.e. the IP address of
     your server, and perhaps your client and nameserver as well if you
     have not selected to use DHCP.

  8. The installation will now proceed to the configuration screens
     where you can select the installation options you require for your
     client in the normal way

  9. Once you have configured all the installation options and selected
     to start the installation process, instead of reading from the
     normal CD (or other) media, the installation program will read all
     the information it needs from the network.

  10.
     Don't forget to remove the CD (or other media) from the drive
     otherwise you could end up with a recursive installation process.

  11.
     Go grab a cup of something while you wait for your shiny new
     installation to finish, no changing of installation media needed.



  5.2.2.  Automatic Installation

  If you followed the section above about creating AutoYaST config files
  then this is the way in which you should boot your client machines.

  1. Copy your config file that you have already created as above from
     your repository directory on your hard disk to your floppy disk as
     a file called autoinst.xml.  You can do this as follows:

     Insert and mount a floppy disk
     cp /var/lib/autoinstall/repository/Your-File /dev/fd0/autoinst.xml
     Unmount the floppy disk



  2. Put your floppy disk with the config file in your client machine

  3. Turn on your machine, ensure the CD drive is in the boot list of
     your BIOS, insert the CD.  You should be faced with the normal boot
     menu of the SuSE installation program.  As an alternative to
     booting from CD, you can boot from floppy images, from the network,
     or using whichever method you would normally use to boot the
     installation program.

  4. At the boot menu leave the default line as Linux to do the standard
     boot, but add the following parameters in order to read your
     configuration file from the floppy disk:

     linux autoyast=floppy



  5. Your client should now boot the installation program and it will
     try to load appropriate modules and install the system with the
     information that you have provided in the config file.

  6. If you are prompted to input any information for any reason then do
     so e.g. if the installer cannot connect to your network.

  7. Once the installation is running then you can remove the CD and the
     floppy disk and grab a cup of something while you wait for your
     shiny new installation to finish, no changing of installation media
     needed.



  5.2.2.1.  Further Boot Options

  This is an extension to the technique used to boot client machines for
  Automatic Installations as described above.  You should try this
  method if you have tried and failed with the method above.  This
  section should help you if you have had network connection problems
  during boot, for example, if you do not have a DHCP server on your
  network.

  You can create what we call an "info" file to hold information about
  your clients network details.  This can then be used more explicitly
  by the install process to contact your network.  This is a plain text
  file in which you put certain keyword and value combinations that are
  recognised by the installer.

  The list of keywords you can use is as follows:

  ·  autoyast - the location of your configuration file

  ·  gateway - the gateway your client should use (if any)

  ·  insmod - any special kernel modules you need to be loaded

  ·  install - a full path to your server installation directory

  ·  ip - the address of your client machine.  If this is blank then the
     installer will try BOOTP/DHCP

  ·  nameserver - the nameserver address on your network

  ·  netdevice - the network adaptor you want to be used

  ·  netmask - your client's netmask

  ·  server - the hostname or IP address of the server you have set up
     i.e. the machine you have your NFS exports from

  ·  serverdir - the directory on your server the installation should be
     taken from

  Using the above keywords in an example info file, you might end up
  with something looking a little bit like this:
  install: nfs://10.0.0.100/install/SuSE8.0
  netdevice: eth0
  server: 10.0.0.100
  serverdir: /install/SuSE8.0
  ip: 10.0.0.200
  netmask: 255.0.0.0
  gateway: 10.0.0.1
  nameserver: 10.0.0.2
  autoyast: floppy



  Substitute the IP addresses above for relevant ones for your
  particular network and save this file with filename info in the root
  directory of your floppy disk that contains your configuration file
  autoinst.xml



  6.  Redhat Server Setup

  This section explains how to set up your server machine to be an
  install server for Redhat Linux.  You can set up any Linux
  distribution to be a Redhat install server, this machine does not
  necessarily have to be running Redhat.

  This guide starts from the point where you have a machine installed
  with Linux which is already up and running and connected to your
  network.  If you require help with installing Linux on your server
  then please consult the Further Information section of this HOWTO in
  ``Appendix A''.



  6.1.  Setting Up Filespace

  In order for your server to act as a Redhat network install server you
  will need to put on all the required data that will be needed to
  perform a full installation of the Redhat version you are serving.
  For example, if you are used to installing Redhat using CDs then you
  will need space on your server to copy ALL the contents of each CD
  onto your server.

  So, before you even think about setting up your machine as an install
  server, you must check that you have the required space available.
  This sounds like a trivial thing to check but it is very important and
  easily forgotten when you're setting up.



  6.1.1.  How much space will you need?

  A guide for the amount of space that you will require will be the
  amount or space of install media that you are intending to copy from
  later.  This might be one of the following examples:

  ·  Number of CDs x 650Mb

  ·  Number of ISO images x 650Mb



  6.1.2.  How much space do you have?

  You will need the appropriate amount of space available to your system
  on some local filesystem.  It does not matter what form this takes,
  whether it's a RAID device, local disk (either SCSI or IDE), etc.
  Ensure that the space you intend to use is formatted with your chosen
  filesystem and is mounted.

  You can check this space with the command:

  df -h



  If this output shows you have enough space to copy your install media
  then great, you can continue installation.  If not then it's time to
  think about an upgrade to your intended server machine!



  6.2.  Copy Installation Media

  Once you know you have enough space available it's time to start
  copying your install media to your chosen filesystem and directory.
  For the purposes of this HOWTO we will use the following example to
  represent the directory from which our install server will be setup
  and running:

  /install



  Copy your install media to /install.  The following example shows you
  how to do this for copying your Redhat CD images to /install:

  1. Mount your CD

  2. Copy the data from CD

  3. Unmount the CD

  4. Now swap CDs and repeat from step 1 for each of your CDs you have.



  6.3.  Enable Remote Access

  Time to make your install data available to other machines on the
  network.  Redhat can be installed over the network using NFS, HTTP and
  FTP protocols.  You can select which of these will be used at install
  time on the client.  If one of the services is not setup on the
  machine then it will still be available for selection by the client
  but the install will not work.  Therefore, it is either best to enable
  all three services on your server (so they all work on each client
  machine) or if you don't enable all three then advertise the fact very
  well and say which service should be used for your particular install
  server.



  6.3.1.  NFS

  The NFS protocol is the only one which will work with the graphical
  install method of Redhat when installing your client machine.
  Therefore, if you want to do graphical (as opposed to text based)
  installations then you must enable this service on your server.
  To install over NFS you need to meet certain conditions on the server:

  ·  Your install directory is exported

  ·  NFS is installed and running

  ·  Portmap is running

  To export your install directory edit the /etc/exports file and add an
  entry for /install to it.  In our example, we would use the folowing
  line:

  /install *(ro)


  When you have saved your exports file you must then get your NFS dae­
  mon to read its configuration file again in order to export the direc­
  tory you just added.  Do this by running the command:

  exportfs -r


  This gives us the most simple read-only export to all hosts on our
  network.  If you want to include more advanced options in your export
  e.g. only exporting to certain hosts on the network or a certain sub­
  net, etc then see your man page for the exports file at exports (5).



  6.3.2.  FTP

  The FTP protocol will only allow text installs to be performed by your
  clients.  This may or may not be ideal for your situation but bear it
  in mind.

  To install over FTP you need to allow FTP access to the directory that
  you have setup on the server as the installation directory.  This can
  be either anonymous FTP access or access through a named account with
  a password.  Anonymous access is probably best unless you have a
  reason to protect your install server via a password.

  If you want anonymous FTP to point to a different directory then you
  can use sym links to point to the directory that you have set up as
  the install directory on the server.  This will allow FTP into a
  chrooted environment but still give you access to the install images
  in a different location.



  6.3.3.  HTTP

  Similarly to the FTP protocol, HTTP will only allow text installs on
  the client side.  If you have a web server running and want to enable
  HTTP access to your install server then add sym links from your
  document root to the install server directory and this will grant
  access.  If you are not familiar with web servers or are not
  comfortable with this approach then leave out HTTP access from your
  install server as it provides no benefits over NFS or FTP installs
  which may be simpler to set up.

  If you do choose to use HTTP then basically all you have to do is make
  the install directory visible to your web server by making it appear
  under the document root by some means.

  You have now completed the basic setup of your install server.

  6.4.  Package Customisation

  You can, if you wish, add your own packages to the Redhat distribution
  so that they are installed along with Redhat over the network when you
  install your clients.  The advantage of this is that you don't have to
  spend time configuring each machine for packages that you may want
  installed that are not included with Redhat.  Examples of this might
  be your own RPM packages that you have created or some specialised
  package.

  Make sure you have the anaconda-runtime package installed on your
  server.  This is normally installed if you're running Redhat but if
  you have another distribution on the server then you should be able to
  install the Redhat RPM without too much trouble.  To check if you have
  the correct package enter the command

  rpm -q anaconda-runtime

  of the package is returned then you have it installed, if nothing is
  returned the install the RPM as required.

  Now simply copy your RPM package files into the following directory

  /install/Redhat/RPMS


  This is the directory that should already contain all the Redhat stan­
  dard RPMS for the Redhat version you have setup on your install
  server.

  Once you have copied your custom RPMS you need to regenerate Redhat's
  list of packages that it can install.  Do this using the following
  command:

  /usr/lib/anaconda-runtime/genhdlist /install


  The directory used here of /install is the example directory we have
  been using so far.  Replace this with the directory where you copied
  the Redhat CD images to.  The directory should be the base directory
  of the Redhat CD set i.e. the one that contains a subdirectory called
  Redhat before the directory called RPMS

  Your custom RPM packages should now be available to the clients.



  6.4.1.  Further Customisation

  In addition to adding your own RPMS to Redhat you can also create RPM
  groups for the installation process.  These will be similar to the
  standard groups offered by the Redhat install already such as the
  "Software Development" group which will install all packages for this
  purpose onto your system.

  This allows quick installation of many RPMS for a specific purpose on
  your systems and the groups will become available like the normal
  Redhat groups (and are used in the same way) upon installation of the
  client.

  To create your own groups you must edit a text file called the comps
  file.  In our example, this is located at:

  /install/Redhat/base/comps


  Copy the syntax for the groups that are already in the file and you
  can create your own groupings.  These can include both packages from
  the standard Redhat install or any custom packages that you might have
  already added i.e. you can include any package in the RPMS directory.

  Once you have edited the file then save it back out over the original
  (it might be an idea to take a backup of the original but it will
  always be on your CD images anyway if you need it).  You must now run
  the genhdlist command again as explained above.



  7.  Redhat Client Install

  You should have already decided by now using the ``Quick Guide''
  section of this HOWTO whether you are going to install your machine
  using the automated process or a manual process.  The automated
  process under Redhat is known as Kickstart and in short provides you
  with a configuration file for the machine that you are going to
  install so that you can perform unattended installs of client
  machines.



  7.1.  Create Kickstart Config Files

  You only need to read/follow this section if you are intending to use
  an automated install process, if you intend to do a manual
  installation over your network then skip this section.  Here we go
  through the process of creating configuration files that the installer
  will read in order to create the configuration of our client machine
  we are installing during an unattended network installation.



  7.1.1.  Kickstart Configurator Installation

  In order to start creating your config files you will need to install
  the Kickstart Configurator on your Linux machine.  You will need one
  of two RPMS for this depending on the version of Redhat you are using.
  These RPMS are available on your Redhat install CDs as follows:

  ·  redhat-config-kickstart - for versions 8.x and above

  ·  ksconfig - for earlier versions

  Check to see if you already have them installed with the command:

  rpm -q {rpm package name}



  If these packages are not installed then install with the command:

  rpm -Uvh {rpm package name}



  7.1.2.  Create A Basic Config File

  Once you have confirmed that you have the configurator packages
  installed, you can now start to create configuration files.  For most
  situations the basic configuration described here will be sufficient
  to perform your installations.

  Start the Kickstart configuration program that you have on your
  system.  This will be done with the command redhad-config-kickstart
  for Redhat 8.x systems and above (or if you have the redhat-config-
  kickstart RPM installed), or the command ksconfig for other Redhat
  systems (or if you have the ksconfig RPM installed).

  You will now be presented with a window that allows you to configure
  most of your installation options as if you were installing a new
  machine or performing an upgrade.  You can proceed through each menu,
  configuring your options for a particular system or set of similar
  systems that you wish to automatically install.

  Once you have progressed through each configuration screen, you are
  ready to save out your configuration file to disk.  NOTE: it is
  outside the boundaries of this document to take you through each
  configuration option for installation, we are just concerned with the
  principles of network installs here.  Please consult your Redhat
  documentation or the Redhat Website <http://www.redhat.com> for this
  information.  Click the "save" button and choose a location on your
  system to store configuration files.  If you are creating lots of
  different configurations then it might be worthwhile creating your own
  configuration repository - don't forget to name the files sensibly so
  you know which is which.



  7.1.3.  Advanced Config File Setup

  Before attempting advanced configuration please make sure that you
  have first created a valid basic configuration file as described
  ``above''.  It is perfectly possible to create your own configuration
  files from scratch but it is far easier to use the tools provided to
  do the job for you!

  Once you have your configuration file saved, you can open it in your
  favourite text editor.  You can use or modify any of the existing tags
  in your file, just so long as the tags, options, and syntax you use
  are legal.  Once you have edited the file manually then save it back
  out in text format again.

  The best use of editing the configuration file manually is probably
  for adding your own customised packages to the installation.  Back in
  the ``Redhat Server Setup'' section we describe how to add your own
  customised packages to your install server.  Here, we describe how to
  access those packages using the configuration file so they can be
  automatically installed with the rest of the system.

  You should be able to locate a packages section in your basic
  configuration file in your editor.  You can add extra packages by name
  as you require to the end of this list of packages.  Follow the format
  of the other packages that you have listed in the file already from
  the basic configuration.  Packages that start with @ are package group
  names.  You can use any of the default Redhat package groups or you
  can use any custom groups you may have created.

  You can add as many packages and groups under the packages section as
  you wish.  Just put one package on each line and follow the format
  already provided.

  Save your modified configuration file from your text editor and it
  will then be ready to use in your installations as described below.


  7.2.  Boot the Machine

  It is simplest to use a floppy disk to boot your clients ready for
  installation.  Everything you need is provided for you on the Redhat
  CDs as follows:

  1. If you have not already created a boot floppy then do it now (you
     only need to do this step once, when you have a boot floppy you can
     install as many machines as you like with a single floppy):

  ·  Locate the floppy image that you need to use.  This is on the first
     Redhat CD and is at images/bootnet.img

  ·  From the images directory on the CD copy the image to your floppy
     disk (make sure you have one inserted in the drive, but not
     mounted) using the following command:

     dd if=bootnet.img of=/dev/fd0



  2. If you are doing an automated install (with the config file) then
     you should follow this step (otherwise skip to next step):

  ·  Mount your floppy disk

     mount /mnt/floppy



  ·  Copy your config file to the root directory of the floppy with the
     name ks.cfg

     cp /path/to/file /mnt/floppy



  ·  Umount your floppy disk

     umount /mnt/floppy



  3. Insert your floppy disk into the client machine that you want to
     install Redhat on.  Make sure that the floppy disk is in the boot
     list of your BIOS and turn on your machine to boot from the floppy.

  4. At the boot prompt:

  ·  If you are doing an automated install:

     linux ks=floppy



  ·  If you're not using config files then press ENTER for the default
     installation

  5. Finish the installation:

  ·  If you are doing an automated install then you must complete any
     parts of the configuration process that you have missed in the
     config file.  If you have a complete config file then you're done
     so go get yourself a cup of something nice and wait for your
     install to finish.

  ·  If you are doing a manual install then you must complete the
     installation in the normal way, going through each menu of the
     Redhat install program and selecting the options you require for
     your machine.  When you finish then it's time for a cup of
     something nice, no need to swap install media here.



  7.2.1.  Further Boot Options

  This is an extension to the technique used to boot client machines for
  automatic installations as described above.  You should try this
  method if you have tried and failed with the method above.  This
  section should help you if you have had network connection problems
  during boot, for example, if you do not have a network card supported
  by the floppy boot disk.

  You can create a second floppy disk to use in the boot process which
  contains extra drivers for network cards.  This can then be read on
  boot and the drivers loaded for your card from there instead.  This is
  done as follows:

  1. In the images directory on your CD you should find a file called
     drvnet.img.

  2. From the images directory on your CD, copy the file to a different
     floppy disk with the command:

     dd if=drvnet.img of=/dev/fd0


  Again, make sure your floppy disk is not mounted when you run this
  command.

  3. Now you have a network driver floppy disk.  You should return to
     your installation as described above but now add the keyword dd to
     your command line.

  ·  So for automated intall we type:

     linux dd ks=floppy



  ·  For manual install we type:

     linux dd



  4. When prompted if you have a driver disk, select YES.  Then swap the
     boot disk for your driver disk and the extra drivers will load and
     detect your network card.

  5. You should now continue with the installation as described above.



  8.  Debian Server Setup

  This section explains how to set up your server machine to be an
  install server for Debian.  You can set up any Linux distribution to
  be a Debian install server, this machine does not necessarily have to
  be running Debian.  Don't forget that there are already plenty of
  Debian mirrors out there that provide free access to the Debian
  archive so unless you really need your own archive it might be best
  just to use one that already exists.

  This guide starts from the point where you have a machine installed
  with Linux which is already up and running and connected to your
  network.  If you require help with installing Linux on your server
  then please consult the Further Information section of this HOWTO in
  ``Appendix A''.



  8.1.  Setting Up Filespace

  In order for your server to act as a Debian network install server you
  will need to set up your machine to be a mirror of the Debian
  archives.  Unlike most Linux distributions, Debian is commonly
  installed over the network, so you are not likely to have obtained a
  set of CD images containing Debian.  A mirror system is provided that
  enables you to copy all the required data to your own server machine,
  for free.

  Before you even think about setting up your machine as an install
  server, you must check that you have the required space available.
  This sounds like a trivial thing to check but it is very important and
  easily forgotten when you're setting up.



  8.1.1.  How much space will you need?

  The entire Debian archives are roughly around 40Gb at the time of
  writing but if you are going to set up a full mirror then bear in mind
  that this will grow.  It is possible for you to mirror only parts of
  the Debian archive and you can obviously mirror just the parts that
  you think you will require.  For example, if you do not use a certain
  machine architecture then there may be little point in your mirroring
  this part of the archive.

  The latest information about the size of the Debian archive is
  available from their website at  <http://www.debian.org/mirror/size>.



  8.1.2.  How much space do you have?

  You will need the appropriate amount of space available to your system
  on some local filesystem.  It does not matter what form this takes,
  whether it's a RAID device, local disk (either SCSI or IDE), etc.
  Ensure that the space you intend to use is formatted with your chosen
  filesystem and is mounted.

  You can check this space with the command:

  df -h



  If this output shows you have enough space then great, you can
  continue.  If not then it's time to think about an upgrade to your
  intended server machine!



  8.2.  Mirror the Debian Archive

  When you are confident that you have enough space for the data you
  want to mirror then you can move on to this step.  If you are not sure
  you have enough space to mirror all the parts of the Debian archive
  that you want then you can always try this method, then if you run out
  of space, remove some parts of the archive from the mirror and try
  again.

  Debian maintain their own guide on how to set up your own Debian
  mirror.  You are welcome to view this at
  <http://www.debian.org/mirror/ftpmirror>.  The list of steps below is
  based on the Debian instructions but is my own interpretation of them,
  designed to be easy to use and understand.



  8.2.1.  Where to Mirror From?

  There are an awful lot of Debian sites out there that you could mirror
  from.  It is best for you to choose one that is near your location or
  one that you know will have a good bandwidth to your location.  Please
  remember, that if everybody uses the same sites for their own mirrors
  then things will get rather slow, so choose carefully.

  A list of sites that you can choose to mirror from can be found at
  <http://www.debian.org/misc/README.mirrors>



  8.2.2.  How to Mirror?

  I would recommend using a program called rsync to copy the data from
  your chosen server to your own server.  This is a program that is
  ideally suited to mirroring data from one system to another.  If you
  want to find out more information about rsync itself then see the
  webpages or the man pages for it.

  Debian provide a well commented script at
  <http://www.debian.org/mirror/anonftpsync> that will perform the
  mirroring for you.  Go to this site and download the script to your
  server machine, we will then need to set up the script to mirror the
  archive as you want it.

  Now go through the entire script (it's not very long) and look at each
  line.  Decide whether you want the line to be active in your script or
  not.  If you don't know what a line does then it is probably best to
  leave it at it's default setting.  However, you must set up the script
  with some minimal settings in order for it to work at all.  These will
  include your chosen server, the location to put the archive on your
  machine, etc.

  Once you have set up the script with all the required information
  requested in it then you are ready to run it and it will start copying
  data from the server you have chosen to your own server machine.
  Don't forget to change the permissions of the script so that it is
  executable and then run it from the command line.

  The Debian archive is regularly updated and in order to maintain your
  own archive and make sure it is up to date, you will need to
  periodically run the script again to copy any changes made.  NOTE: the
  script uses rsync which is a one-way transaction, you can never copy
  from your machine to your chosen server (as you don't have permission
  to do so!).  It is probably best to run the script daily, so you can
  edit your crontab to do this or put the script in
  /etc/cron.d/cron.daily if your Linux distribution has this set up.
  8.3.  Enable Remote Access

  Time to make your install data available to other machines on the
  network.  Debian can be installed using NFS, HTTP and FTP protocols.
  You can select which of these will be used at install time on the
  client.  If one of the services is not setup on the machine then it
  will still be available for selection by the client but the install
  will not work.  Therefore, it is either best to enable all three
  services on your server (so they all work on each client machine) or
  if you don't enable all three then advertise the fact very well and
  say which service should be used for your particular install server.



  8.3.1.  NFS

  To install over NFS you need to meet certain conditions on the server:

  ·  Your install directory is exported

  ·  NFS is installed and running

  ·  Portmap is running

  To export your install directory edit the /etc/exports file and add an
  entry for directory you have copied your Debian archive to.  In our
  examples throughout this HOWTO, we would use the folowing line:

  /install *(ro)


  When you have saved your exports file you must then get your NFS dae­
  mon to read its configuration file again in order to export the direc­
  tory you just added.  Do this by running the command:

  exportfs -r


  This gives us the most simple read-only export to all hosts on our
  network.  If you want to include more advanced options in your export
  e.g. only exporting to certain hosts on the network or a certain sub­
  net, etc then see your man page for the exports file at exports (5).



  8.3.2.  FTP

  To install over FTP you need to allow FTP access to the directory that
  you have setup on the server as the installation directory.  This can
  be either anonymous FTP access or access through a named account with
  a password.  Anonymous access is probably best unless you have a
  reason to protect your install server via a password.

  If you want anonymous FTP to point to a different directory then you
  can use sym links to point to the directory that you have set up as
  the install directory on the server.  This will allow FTP into a
  chrooted environment but still give you access to the install images
  in a different location.



  8.3.3.  HTTP

  If you have a web server running and want to enable HTTP access to
  your install server then add sym links from your document root to the
  install server directory and this will grant access.  If you are not
  familiar with web servers or are not comfortable with this approach
  then leave out HTTP access from your install server as it provides no
  benefits over NFS or FTP installs which may be simpler to set up.

  If you do choose to use HTTP then basically all you have to do is make
  the install directory visible to your web server by making it appear
  under the document root by some means.  If you are using the Apache
  webserver then Debian recommend adding the following to your http.conf
  file

  <directory /org/ftp.debian.org/ftp>
     IndexOptions NameWidth=* +SuppressDescription
     DirectoryIndex .
  </directory>



  You have now completed the basic setup of your install server.



  9.  Debian Client Install

  This version of the Network Install HOWTO does not include information
  about automatic installation of a Debian system, if this is what you
  need then please refer to the link in the Further Information section
  located in ``Appendix A''.  A later version of this HOWTO is likely to
  include details for this system.



  9.1.  Boot the Machine

  There are many ways to boot your machine in order to install Debian,
  you can if you wish use a Debian CD 1 which contains all the floppy
  boot disks on one easy to use media to boot your system.  However, it
  is more common to boot an install of Debian using floppy disks, these
  are provided by Debian on their mirror system.

  Obtain the floppy boot images from your chosen mirror server from the
  directory /debian/dists/stable/main/disks-hardware/current/images-1.44
  where disks-hardware is the hardware type that you are going to
  install Debian onto.  Note that there are several different sets of
  floppy disk boot images in this directory and you should be careful to
  choose one that is suitable for your use. If you are not sure which to
  use then just use the ones in the directory specified rather than any
  of it's subdirectories.

  Copy each floppy disk image that you have downloaded from the server
  to a different floppy disk following the example below:

  ·  Insert a floppy disk

  ·  dd if=/path/to/image of=/dev/fd0

  ·  Remove floppy disk.

  Do not mount the floppy disks when using this procedure to create
  floppy boot disks.  Also, don't forget to check that the floppy disks
  you are going to use are (a) good floppy disks i.e. not broken, and
  (b) do not contain any data that you need as the entire disk will be
  overwritten with all data lost.

  Once you have a set of boot disks you can boot your client system from
  them by inserting the first disk and turning on your system.  You will
  be presented with a welcome screen with some instructions on which you
  should be able to press [ENTER] to continue the installation.  A
  normal Debian installation can now take place, see the ``Further
  Information'' section for references to instructions on how to install
  Debian.



  10.  Appendix A: Further Information

  This page is an informal list of references in no particular order
  that I have found useful or that others have pointed out to me.  If
  you have a suggested reference that is not listed here then please
  mail it to me and I will add it to the list.



  10.1.  HOWTO

  These are intended as the primary starting points to get the
  background information as well as show you how to solve a specific
  problem.



  10.1.1.  Generic


  ·  Net-HOWTO <http://www.tldp.org/HOWTO/Net-HOWTO/index.html>

  ·  Installation-HOWTO <http://www.tldp.org/HOWTO/Installation-
     HOWTO/index.html>



  10.1.2.  Redhat


  ·  Kickstart-HOWTO <http://www.tldp.org/HOWTO/KickStart-HOWTO.html>



  10.2.  Mini-HOWTO

  These are the smaller free text relatives to the HOWTOs above.



  10.2.1.  Generic


  ·  Pre-Installation-Checklist <http://www.tldp.org/HOWTO/mini/Pre-
     Installation-Checklist/index.html>

  ·  Post-Installation-Checklist <http://www.tldp.org/HOWTO/mini/Post-
     Installation-Checklist/index.html>



  10.2.2.  Debian


  ·  Debian-Jigdo <http://www.tldp.org/HOWTO/mini/Debian-
     Jigdo/index.html>



  10.3.  Web Pages

  There is a huge number of informative web pages out there and by their
  very nature they change quickly.  I will attempt to keep the links
  below as valid as possible but they may become outdated.



  10.3.1.  Generic


  ·  Linux Documentation Project <http://www.tldp.org> - the Linux
     documentation reference site.



  10.3.2.  SuSE


  ·  Main SuSE Website <http://www.suse.com>

  ·  Autoinstall Website <http://www.suse.de/~nashif/autoinstall>



  10.3.3.  Redhat


  ·  Main Redhat Website <http://www.redhat.com>

  ·  Documentation Page <http://www.redhat.com/docs>

  ·  Support/Resources Page
     <http://www.redhat.com/apps/support/resources>



  10.3.4.  Debian


  ·  Main Debian Website <http://www.debian.org>

  ·  Installation Manual
     <http://www.debian.org/releases/stable/installmanual>

  ·  Setting up your own Debian mirror
     <http://www.debian.org/mirrors/ftpmirror>

  ·  List of mirrors <http://www.debian.org/misc/README.mirrors>

  ·  Debian Fully Automatic Installation <http://www.informatik.uni-
     koeln.de/fai>



  10.4.  Mailing Lists



  10.4.1.  SuSE


  ·  suse-autoinstall@suse.com is a mailing list specific to AutoYaST.
     List archives are at http://lists.suse.com/archive/suse-autoinstall
     <http://lists.suse.com/archive/suse-autoinstall>
     Subscribe address is suse-autoinstall-subscribe@suse.com
     <mailto:suse-autoinstall-subscribe@suse.com>



  10.4.2.  Redhat


  ·  redhat-install-list@redhat.com is a mailing list for Redhat
     installation.
     List archives are only available to list members
     List information page is at
     https://listman.redhat.com/mailman/listinfo/redhat-install-list
     <https://listman.redhat.com/mailman/listinfo/redhat-install-list>

  ·  Other Redhat Lists are also available on-line
     Information page is at http://www.redhat.com/support/forums
     <http://www.redhat.com/support/forums>



  10.4.3.  Debian


  ·  Debian mailing lists can be found at
     http://www.debian.org/MailingLists
     <http://www.debian.org/MailingLists>

  ·  List archives can be found at http://lists.debian.org
     <http://lists.debian.org>



