N1 Provisioning Server 3.1, Blades Edition, System Administration Guide

Creating the JumpStart Setup

This section describes how to set up JumpStart for SPARC and x 86 architectures. This section also provides details on how to customize the JumpStart configuration and boot server for SPARC and x86 architectures. Procedures for customizing a resource pool server manually are also included.

ProcedureTo Create the JumpStart Setup for SPARC Architecture

The following procedure only provides the information on JumpStart setup required in the context of the N1 Provisioning Server environment. For details on JumpStart setup see the documentation for Solaris 9. You can set up a JumpStart installation server in several ways. The following procedure is only one example.

Steps
  1. Logon to the image server as superuser.

  2. Insert the Solaris 9 DVD on the image server.

  3. Create a directory to contain the DVD image.

    Example:


    mkdir -p /images/s9u5s

    Note –

    This document assumes the Solaris distribution is available at /images/s9u5s (for SPARC) and /images/s9u5x (for x86).


  4. Change to the Tools directory on the mounted disc.

    Example:


    cd /cdrom/cdrom0/s0/Solaris_9/Tools
  5. Copy the DVD image in the drive to the installation server's hard disk.

    Example:


    ./setup_install_server /images/s9u5s
  6. Verify that the path to the installation server's image is shared appropriately.

    share | grep /images/s9u5s


    Note –

    If the path is displayed and anon=0 is displayed in the options, proceed to the next step. If the path is not displayed or you do not have anon=0 in the options, continue with this step.


    1. Make the installation server available to the boot server by adding this entry to the /etc/dfs/dfstab file.

      share -F nfs -o rw,anon=0 -d "install server directory" /images/s9u5s

    2. Make sure the installation server's directory path is correctly shared.

      ps -ef | grep nfsd

      If the nfsd daemon is not running, start it.

      /etc/init.d/nfs.server start

      If the nfsd daemon is running, share the installation server.

      shareall

  7. Change directories to root by typing cd /.

  8. Eject the Solaris 9 DVD.

ProcedureTo Create the JumpStart Setup for the x86 Architecture

Steps
  1. Use the Solaris 9 x86 DVD the /images/s9u5x directory to hold the Solaris 9 distribution.

  2. Follow the instructions given above for SPARC architecture to create a Solaris x86 installation server , but instead of /images/s9u5s use the/images/s9u5x path.

  3. Patch the miniroot shipped with Solaris 9 12/03 x86 for the drivers for Sun Fire B100x, Sun Fire B200x. See the Sun Fire B1600 Chassis, and B100s, B100x, and B200x Blade Product Notes and the section Applying Mandatory Software Patches to the Solaris x86 Install Image for patching details.

  4. On the image server create the following directory:

    mkdir -m 755 /var/tmp/blades

  5. Download the software by following the instructions in section Solaris x86 Drivers and Documentation of the Sun Fire B1600 Chassis, and B100s, B100x, and B200x Blade Product Notes.

  6. Save the downloaded file to the directory /var/tmp/blades.

  7. At the Solaris prompt on the system you are going to use as the network installation server, unzip the files you have downloaded:


    cd /var/tmp/blades
    unzip mis.259-4174-11.zip
    
  8. Change to the directory in which you placed mis.259-4174-11.zip by typing:


    cd /var/tmp/blades
    
  9. Add the patches and packages automatically to the network installation server image by typing:


    ./modify_install_server -d /images/s9u5x
    

Customizing the JumpStart Boot and Configuration Server

This section describes how to set up and customize the JumpStart boot and configuration server on SPARC and x86 architectures. The JumpStart environment ensures that all the required software is installed on the resource pool server. This section describes customization of the JumpStart boot and configuration server on SPARC and x86 architectures.

If you have specific JumpStart customizations you must merge the scripts provided for N1 Provisioning Server with your customizations. The following example procedures for customizing the JumpStart boot and configuration server for SPARC and x 86 architectures set up a JumpStart environment that uses DHCP.

ProcedureTo Customize the Boot and Configuration Server for the SPARC Architecture

Steps
  1. Create the JumpStart directory on image server.

    Example:


    mkdir -p /images/jumpstart-sparc
  2. Verify that the path to the JumpStart directory is shared appropriately by typing:


    share | grep /images/jumpstart-sparc
    

    If the path is displayed and anon=0 is displayed in the options, proceed to the next step. If the path is not displayed or you do not have anon=0 in the options, continue with this step.

    1. Make the JumpStart directory NFS shared by adding the following entry to the /etc/dfs/dfstab file.


      share -F nfs -o anon=0,rw=@10.42.42.0/24 -d "jumpstart server directory sparc" 
      /images/jumpstart-sparc
      
    2. Make sure the JumpStart server's directory path is correctly shared.


      ps -ef | grep nfsd
      

      If the nfsd daemon is not running, start it by typing /etc/init.d/nfs.server start.

      If the nfsd daemon is running, share the JumpStart server by typing shareall.

  3. Use the following two scripts to customize the JumpStart begin and postinstallation for N1 Provisioning Server and copy them to the JumpStart directory:


    cp /tftpboot/terraspring/jumpstart/profiles/begin_js.sh 
    /images/jumpstart-sparc
    cp /tftpboot/terraspring/jumpstart/profiles/postinstall.sh /images/jumpstart-sparc
    

    See Customizing the Resource Pool Server Manually if you intend not to use the above two scripts to customize your JumpStart environment.


    Note –

    If you do not have your own specific begin or postinstallation scripts skip to step 4.



    Note –

    If you have your own specific begin or postinstallation scripts incorporate the begin_js.sh functionality in your begin scripts and postinstall.sh functionality into your postinstallation scripts.


  4. Create the following files with the following content for each file:


    cat /images/jumpstart-sparc/profile.sparc
    

    install_type initial_install
         cluster SUNWCXall
         partitioning explicit
         filesys any free /

    cat /images/jumpstart-sparc/rules
    

    arch sparc begin_js.sh profile.sparc postinstall.sh

    cat /images/jumpstart-sparc/sysidcfg
    

    system_locale=en US
         timezone=US/Pacific
         timerserver=localhost
         terminal=xterm
         name_service=NONE
         security_policy=NONE
         root_password=WPUDTTMUiG2JI
         network_interface=primary {
                 default_route=10.42.42.1 
                 netmask=255.255.255.0 protocol_ipv6==no
         }
  5. Make any other specific JumpStart customizations that you might want to have. See the Solaris 9 12/03 Installation Guide for details on how a JumpStart server can be configured.

  6. Validate the files using the check script.


    cd /images/jumpstart-sparc
    /images/s9u5s/Solaris_9/Misc/jumpstart_sample/check
    
  7. Ensure that you profile access to the resource pool server through rsh by issuing the following commands:


    cd /image/9su5s/Solaris_9/Tools/Boot
    echo "+" > .rhosts
    
  8. Ensure that a proper boot environment is setup for the platform name and group by issuing the following command:


    add_install_client -d -s
    Solaris-install-server-ip-address:Solaris-product-directory -c 
    JumpStart-server-ip-address:JumpStart-directory -p 
    Jumpstart-Configuration-server-ip-address:Jumpstart-Configuration-directory 
    platform_name platform_group
    

    Note –

    See the add_install_client -d -s for details.


    1. When you install the N1 Provisioning Server software, you specify the image subnet. So when using the N1 Provisioning Server as your JumpStart server, use the IP address on the image subnet. To determine what image IP address the N1 Provisioning Server is using, run the command ifconfig -a to get a list of interfaces and their IP addresses. Look for the IP address that is on the image subnet.

      Example:


      /images/s9u5s/Solaris_9/Tools/add_install_client -d -s 
      10.42.42.1:/images/s9u5s -c 10.42.42.1:/images/jumpstart-sparc -p 
      10.42.42.1:/images/jumpstart-sparc SUNW.Serverblade1 sun4u 

      Note –

      Each time you run add_install_client you are changing the boot file used for booting hardware of the specified platform_name and platform_group. The resource pool server will boot from the boot file that was setup by the last add_install_client command.


  9. The image command supports the following set of DHCP options:

    • SrootOpt

    • SrootIP4

    • SrootNM

    • SrootPTH

    • SswapIP4

    • SswapPTH

    • SbootFIL

    • Stz

    • SbootRS

    • SinstIP4

    • SinstNM

    • SinstPTH

    • SsysidCF

    • SjumpsCF

    • Sterm

    See the Preconfiguring System Configuration Information section of the Solaris 9 12/03 Installation Guide for more information on the DHCP options.

    Following are the contents of the DHCP options file for the example JumpStart configuration created in this procedure:


     cat dhcp-options.txt
         SinstNM 10.42.42.1
         SinstPTH /image/s9u5s
         SrootNM 10.42.42.1
         SinstIP4M 10.42.42.1
         SinstPTH /images/s9u5/Solaris_9/Tools/Boot
         SsysidCF 10.42.42.1:/images/jumpstart
         SjumpsCFF 10.42.42.1:/images/jumpstart

    Note –

    The image server IP address is used for the root server, installation server, and JumpStart configuration.


ProcedureTo Customize the Boot and Configuration Server for the x86 Architecture

Steps
  1. Create the JumpStart directory on image server.

    Example:


    mkdir -p /images/jumpstart-x86
  2. Verify that the path to the JumpStart directory is shared appropriately by typing:


    share | grep /images/jumpstart-x86
    

    If the path is displayed and anon=0 is displayed in the options, proceed to the next step. If the path is not displayed or you do not have anon=0 in the options, continue with this step.

    1. Make the JumpStart directory NFS shared by adding the following entry to the /etc/dfs/dfstab file.


      share -F nfs -o anon=0,rw=@10.42.42.0/24 -d "jumpstart server directory x86" 
      /images/jumpstart-x86
      
    2. Make sure the JumpStart server's directory path is correctly shared.


      ps -ef | grep nfsd
      

      If the nfsd daemon is not running, start it by typing /etc/init.d/nfs.server start.

      If the nfsd daemon is running, share the JumpStart server by typing shareall.

  3. Use the following two scripts to customize the JumpStart begin and postinstallation for N1 Provisioning Server and copy them to the JumpStart directory:


    cp /tftpboot/terraspring/jumpstart/profiles/begin_js.sh 
    /images/jumpstart-x86
    cp /tftpboot/terraspring/jumpstart/profiles/postinstall.sh /images/jumpstart-x86
    

    See Customizing the Resource Pool Server Manually if you intend not to use the above two scripts to customize your JumpStart environment.


    Note –

    If you do not have your own specific begin or postinstallation scripts skip to step 4.



    Note –

    If you have your own specific begin or postinstallation scripts incorporate the begin_js.sh functionality in your begin scripts and postinstall.sh functionality into your postinstallation scripts.


  4. Create the following files with the following content for each file:


    cat /images/jumpstart-x86/profile.x86
    

    install_type initial_install
         cluster SUNWCXall
         partitioning explicit
         filesys any free /

    cat /images/jumpstart-x86/rules
    

    arch i386 begin_js.sh profile.x86 postinstall.sh

    cat /images/jumpstart-x86/sysidcfg
    

    system_locale=en US
         timezone=US/Pacific
         timerserver=localhost
         terminal=dtterm
         keyboard=UNKNOWN
         display=UNKOWN
         pointer=UNKNOWN
         monitor=UNKNOWN {
                  DisplayChksum=0x0
         }
         root_password=WPUDTTMUiG2JI
         name_service=NONE
         security_policy=NONE 
         network_interface=PRIMARY {
                    default_route=10.42.42.1 
                    netmask=255.255.255.0 protocol_ipv6==no
         }
  5. Make any other specific JumpStart customizations that you might want to have. See the Solaris 9 12/03 Installation Guidefor details on how a JumpStart server can be configured.

  6. Validate the files using the check script.


    Note –

    Run the check command from the same Solaris distribution.



    cd /images/jumpstart-x86
    s9u5x/images/s9u5x/Solaris_9/Misc/jumpstart_sample/check
    
  7. Ensure that you profile access to the resource pool server through rsh by issuing the following commands:


    cd /image/s9u5s/Solaris_9/Tools/Boot
    echo "+" > .rhosts
    
  8. Ensure that a proper boot environment is setup for the platform name and group by issuing the following command:


    add_install_client -d -s
    Solaris-install-server-ip-address:Solaris-product-directory -c 
    JumpStart-server-ip-address:JumpStart-directory -p 
    Jumpstart-Configuration-server-ip-address:Jumpstart-Configuration-directory 
    platform_name platform_group
    

    Note –

    See the add_install_client -d -s for details.


    1. When you install the N1 Provisioning Server software, you specify the image subnet. So when using the N1 Provisioning Server as your JumpStart server, use the IP address on the image subnet. To determine what image IP address the N1 Provisioning Server is using, run the command ifconfig -a to get a list of interfaces and their IP addresses. Look for the IP address that is on the image subnet.

      Example:


      /images/s9u5x/Solaris_9/Tools/add_install_client -d -s 
      10.42.42.1:/s9u5x/images/s9u5x -c 10.42.42.1:/images/jumpstart-x86 -p 
      10.42.42.1:/images/jumpstart-x86 SUNW.i86pc i86pc 

      Note –

      Each time you run add_install_client you are changing the boot file used for booting hardware of the specified platform_name and platform_group. The resource pool server will boot from the boot file that was setup by the last add_install_client command.


  9. The image command supports the following set of DHCP options:

    • SrootOpt

    • SrootIP4

    • SrootNM

    • SrootPTH

    • SswapIP4

    • SswapPTH

    • SbootFIL

    • Stz

    • SbootRS

    • SinstIP4

    • SinstNM

    • SinstPTH

    • SsysidCF

    • SjumpsCF

    • Sterm

    • BootFile

    • SbootURI

    See the Preconfiguring System Configuration Information section of the Solaris 9 12/03 Installation Guide for more information on the DHCP options.

    The following is a sample DHCP options file for the example JumpStart configuration created in this procedure.


     cat dhcp-options.txt
         SinstNM 10.42.42.1
         SinstPTH /image/s9u5x
         SrootNM 10.42.42.1
         SinstIP4M 10.42.42.1
         SinstPTH /images/s9u5x/Solaris_9/Tools/Boot
         SsysidCF 10.42.42.1:/images/jumpstart-x86
         SjumpsCFF 10.42.42.1:/images/jumpstart-x86
         BootFile nbp.SUNW.i86pc
         SSbootURI tftp://10.42.42.1/SUNW.i86pc

    Note –

    The image server IP address is used for the root server, installation server, and JumpStart configuration.


Customizing the Resource Pool Server Manually

This section describes how to manually customize the resource pool server.

ProcedureTo Customize the Resource Pool Server Manually

Steps
  1. Manually complete the JumpStart installation and configure the Solaris image according to the instructions in the Solaris documentation and the following steps.

    1. Enable the DHCP on its primary interface (the default).

      1. Create the /etc/hostname.interface-identifier file for the primary interface:

        For example:


        /etc/hostname.ce0

        This file should be empty.

      2. Create the /etc/dhcp.interface-identifier file for the primary interface.

        This file should contain a single line that reads wait forever primary. Do not disable the default icmp ping operation on the primary interface from the N1 Provisioning Server software. The monitoring software performs anicmp ping operation on the primary interface to check whether a device is running.

      3. Create the following file for each additional interface, excluding the loopback interface:


        /etc/dhcp.<interface_identifier>
        

        Each of these files should contain a single line that reads wait 60.

      4. If the image is for a Solaris device with more than two interfaces, also create the following file for each nonprimary and nonloopback interface:


        /etc/hostname.interface_identifier
        

        These files should be empty.

    2. Change the last line of /etc/default/dhcpagent from:


      PARAM_REQUEST_LIST=1,3,12,43

      to


      PARAM_REQUEST_LIST=1,3,6,12,15,43
      

      If the image is for a Solaris device with more than two interfaces (excluding the loopback interface), also make the following modification to the /etc/default/dhcpagent file:

      Uncomment the parameter value pair “RELEASE_ON_SIGTERM=yes”.

    3. Delete all *.dhc files in the /etc/dhcp/ directory.

    4. Enable FTP.

      Although by default FTP is enabled, the following is how to enable FTP:

      1. Uncomment the line in the /etc/inetd.d. file that reads:


        ftpstream tcp6 nowait root /usr/sbin/n.ftpd n.ftpd
      2. To determine the ID of the net daemon, type the command:


        ps -ef | grep inetd
        
      3. Type the command:


        kill -HUP net_pid
        
      4. Ensure that root is not in the /etc/ftpusers file.

    5. Verify that the Java 2 Platform, Standard Edition, on the resource pool server is version 1.4.1_02.


      Note –

      For installation of Solaris 8, include a workaround for Solaris 8 bug No. 4457119. The recommended fix is to create the file /etc/rcS.d/S99dhcpfix with the following contents:


      #
      # Name:         /etc/rcS.d/S99dhcpfix
      #
      # Author:       Chris Morton
      #               Ericsson, Inc.
      #               (919) 472-6494
      #
      # This is here to fix a bug in Solaris DHCP  It will remove any lines 
      # in /etc/inet/hosts that DHCP added, so the 
      # /sbin/netstrategy program will return the correct values.
      
      HOSTSFILE=/etc/inet/hosts
      TEMPHOSTFILE=/tmp/hosts.$$
      
      case "$1" in
      "start")
              echo "N1"s Standard DHCP Environment"
              ;; # Fall through -- rest of script is the initialization code
      "stop")
              exit 0
              ;;
      *)
              echo "Usage: $0 { start | stop }"
              exit 1
              ;;
      esac
      
      
      # What's my hostname?:
      
      hostname=`/sbin/dhcpinfo Hostnamè
      if [ -z "$hostname" ]; then
              hostname="unknown"
      fi
      
      # What's my IpAddress
      
      ipaddress=`ifconfig ce0 | grep inet | awk '{print $2}'`
      
      
      # If you can find my hostname anywhere in /etc/inet/hosts, delete 
      that line.
      
      /usr/bin/rm -f ${TEMPHOSTFILE}
      /usr/bin/egrep -v "[    ]${hostname}([  ]|$)" ${HOSTSFILE} > 
      ${TEMPHOSTFILE} 2> /dev/null
      
      # Add a line based on the actuals
      
      echo "${ipaddress}      ${hostname}  ${TEMPHOSTFILE} 
      
      /usr/bin/cp -p ${TEMPHOSTFILE} ${HOSTSFILE}
      /usr/bin/rm -f ${TEMPHOSTFILE}

    6. Verify that the symbolic link /usr/java points to the directory where the Java 2 Platform is installed.

    7. Reboot the server.

  2. Copy the N1 Provisioning Server agent package from the N1 Provisioning Server software to the tftboot directory on the N1 Provisioning Server for installation on the image.


    Note –

    If you are running the JumpStart post installation script postinstall.sh, skip this step.


  3. Use TFTP to get the agent package from the control plane server.


    Note –

    If you are running the JumpStart post installation script postinstall.sh, skip this step.



    cd var/tmp
    tftp>cp
    tftp>binary
    tftp>get TSPRagsol.pkg
    Received 456704 bytes in 0.4 seconds 
    tftp>quit
    
  4. Manually install the monitoring software package by typing the following command:


    pkgadd -d TSPRagsol.pkg
    

    Note –

    If you are running the JumpStart post installation script postinstall.sh, skip this step.



    Note –

    Run the command pkginfo | grep package_name to ensure that you have installed the following operating environment packages:

    SUNWbzip SUNWbzipx SUNWzip

    SUNWgzip SUNWtcsh SUNWscpux


  5. Run the following command to start the monitoring software:


    /etc/init.d/N1PSagt start