Creating a fully automated Solaris 10 Jumpstart

This post provides the necessary steps in creating a fully automated jumpstart for Solaris 10

  • Create install location:
    # mkdir /export/js/config /export/js/install
  • Add the following lines to /etc/dfs/dfstab to share the mountpoints
    share -F nfs -o ro,anon=0 /export/js/config
    share -F nfs -o ro,anon=0 /export/js/install
  • Restart NFS server
    # svcadm restart nfs/server
  • Mount Solaris 10 DVD
  • Copy Solaris 10 contents to install server
    # cd /cdrom/cdrom0/Solaris_10/Tools
    # ./setup_install_server /export/js/install/SOL10_0910_SPARC
    # cp /export/js/install/Solaris_10/Misc/jumpstart_sample/check /export/js/config

The following steps are used to create

  • server1 - initial jumpstart client
  • server2 - flash client
  • Add servers to /etc/hosts file
    10.1.1.11 server1
    10.1.1.12 server2
  • Add the clients MAC address to /etc/ethers
    8:0:20:a1:58:57 server1
    8:0:20:aa:23:d5 server2
  • Add clients to jumpstart rules
    hostname server1 - prof_initial server1_finish
    hostname server2 - prof_flash server2_finish
  • Create profile /export/js/config/prof_initial
    install_type  initial_install
    system_type   standalone
    cluster       SUNWCXall
    partitioning  explicit
    pool rpool auto auto auto bename solaris dataset /var
  • Create profile /export/js/config/prof_flash
    install_type     flash_install
    archive_location nfs 10.1.1.1:/export/js/install/flash/sol10_0910.flar
    partitioning     explicit
    pool rpool auto auto auto bename solaris dataset /var
  • Create server1 finish script (/export/js/config/server1_finish)
    perl -pi -e 's/PermitRootLogin no/PermitRootLogin yes/g' /a/etc/ssh/sshd_config
    echo 'server1' > /a/etc/hostname.nxge0
    echo '::1 localhost' > /a/etc/hosts
    echo '172.0.1.1 localhost loghost' >> /a/etc/hosts
    echo '10.1.1.11 server1 server1.' >> /a/etc/hosts
    echo 'server1' > /a/etc/nodename
    echo '10.1.1.254' > /a/etc/defaultrouter
    echo '10.1.1.0 255.255.255.0' > /a/etc/netmasks
  • Create server2 finish script (/export/js/config/server2_finish)
    perl -pi -e 's/PermitRootLogin no/PermitRootLogin yes/g' /a/etc/ssh/sshd_config
    echo 'server2' > /a/etc/hostname.nxge0 
    echo '::1 localhost' > /a/etc/hosts
    echo '172.0.0.1 localhost loghost' >> /a/etc/hosts
    echo '10.1.1.12 server2 server2.' >> /a/etc/hosts
    echo 'server2' > /a/etc/nodename
    echo '10.1.1.254' > /a/etc/defaultrouter
    echo '10.1.1.0 255.255.255.0' > /a/etc/netmasks
  • Create /export/js/config/clean_install file
    perl -pi -e 's/PermitRootLogin no/PermitRootLogin yes/g' /a/etc/ssh/sshd_config
    rm /a/etc/hostname.*
    cat /dev/null > /a/etc/netmasks
    echo '::1 localhost' > /a/etc/hosts
    echo '172.0.0.1 localhost loghost' >> /a/etc/hosts
  • Create /export/js/config/sysidcfg file
    name_service=NONE
    network_interface=nxge0 {
        netmask=255.255.255.0
        default_route=NONE
        protocol_ipv6=no
    }
    root_password=QwEeTy123456789.
    security_policy=NONE
    system_locale=en_GB
    timezone=Europe/London
    timeserver=localhost
    terminal=vt100
    nfs4_domain=dynamic
    keyboard=US-English
    auto_reg=NONE

    where root_passwd is the password entry for root from /etc/shadow on the jumpstart server

  • Create jumpstart rules ok
    # cd /export/js/config
    # ./check
  • Add the clients to the jumpstart configuration
    # cd /export/js/install/SOL10_0910_SPARC/Solaris_10/Tools
    # ./add_install_client -c 10.1.1.100:/export/config -p 10.1.1.100:/export/js/config server1 sun4u
    # ./add_install_client -c 10.1.1.100:/export/config -p 10.1.1.100:/export/js/config server2 sun4u

    where 10.1.1.100 is the IP address of my jumpstart server

Here are the steps to run on the jumpstart clients at the ok prompt

ok boot NIC - install

where NIC is the physical address of the network interface that has the same MAC address defined in /etc/ethers on the jumpstart server

You can use the following to get the information about NIC if needed:

ok show-nets

a) /pci@6,600000/network@0
b) /pci@2,600000/network@0
q) NO SELECTION

Enter Selection, q to quit: b

/pci@2,600000/network@0 has been selected.

Type ^Y ( Control-Y ) to insert it in the command line.

e.g. ok nvalias mydev ^Y

for creating devalias mydev for /pci@2,600000/network@0

{25} ok cd /pci@2,600000/network@0

{25} ok .properties
status okay
local-mac-address 08 00 20 aa 23 d5