Jumpstarting Solaris from a JumpStart Server
This page, which I wrote mainly for myself to remind me, tells you how to install Solaris from a jumpstart server, without the need to burn CD's or DVD's. It is particulary useful on older machines which may not have a DVD drive, or any other machine which does not have a DVD. The DVD of Solaris 10 contains more than tthe 5 CD's, so there is an advantage to using the DVD image.Another useful resource is Server Configuration for Solaris JumpStart Software which may be found on the Sun web site.
Register the hostname, so it has a fully qualified host name
For the procedure below to work properly, it is necessary that the host name is fully qualified. i.e, using nslookup, the host can be resolved.
kestrel / # nslookup teal.althorne.org
Server: 212.67.120.148
Address: 212.67.120.148#53
Non-authoritative answer:
teal.althorne.org canonical name = althorne.org.
Name: althorne.org
Address: 213.78.42.15
One can do this by changing the DNS entries - in my case from the 123-reg control panel. Since the name takes time to propogate, do this first.
Name: teal
Type: CNAME
Content: althorne.org.
Gather data from the client, which you will need to set it up
Before the jumpstart server can be fully configured, you need to know some information about the client on which you wish to install Solaris. You need to know its ethernet MAC address, as well as its architecture (Sun4u, Sun4m etc). The MAC address will be displayed after powering on the machine. If not it can be found at the command promt - you need to be root to display this.
# ifconfig -a
gives the MAC address.
ether 8:0:20:aa:f4:6d
The archeticture can be found with uname:
# uname -a
SunOS main-webserver 5.10 Generic_118822-25 sun4u sparc SUNW,Ultra-60
gives the architecture - in this case sun4u.
Getting a DVD image and using it
- Register for a Sun Online Account.
- Go to the Solaris area on the Sun webiste and download the various parts of the DVD image - these are zip files.
- Unzip the various ZIP files
- Concatonate the various parts together to make a single DVD image.
- Copy DVD image to the jumpstart server- in this case the file is copied to
/export/home/drkirkby/sol-10-u3-ga-sparc-dvd.iso
On the jumpstart server
- Use
lofiadmto allow you to access the DVD image as a block device, rather than as a regular file.
# lofiadm -a /export/home/drkirkby/sol-10-u3-ga-sparc-dvd.iso
/dev/lofi/1 Mount the block device as a file system - Make the directory
/usr/local/install
# mkdir /usr/local/install - Change to the directory to the location of the
setup_install_serverscript.
# cd /mnt/Solaris_10/Tools/ - Run the
setup_install_serverscript.# ./setup_install_server /usr/local/install Verifying target directory... Calculating the required disk space for the Solaris_10 product Calculating space required for the installation boot image Copying the CD image to disk... Copying Install Boot Image hierarchy... Install Server setup complete
- Create a directory to hold the
sysidcfg, profile, preinstall & postinstallfiles. I will use/usr/local/configdirectory to hold these files.
# mkdir /usr/local/config -
Edit the /usr/local/config/sysidcfg file
root_password=t5erhireDcGdI system_locale=C security_policy=NONE keyboard=UK-English language=UK-English timezone=GB network_interface=primary {hostname=teal netmask=255.255.255.0 protocol_ipv6=no default_route=192.168.0.1 } system_locale=en_GB name_service=DNS {domain_name=althorne.org name_server=212.67.120.148} #name_service=none timeserver=128.118.25.3 terminal=dtterm nfs4_domain=dynamic - Create the profile file which is
/usr/local/config/profile# profile keywords profile values # ----------------- ----------------- install_type initial_install system_type standalone partitioning explicit filesys c0t0d0s0 10000 / filesys c0t0d0s1 2048 swap filesys c0t0d0s7 free /export/home cluster SUNWCXall # Delete Infiniband packages, which interfers with GPIB controller. package SUNWudapltr delete package SUNWudapltu delete package SUNWtavor delete package SUNWrpcib delete package SUNWipoib delete package SUNWib delete
- Create a pre-install file
/usr/local/config/preinstall#!/bin/sh echo "This script can have any commands before the OS is installed"
- Create a post-install file
/usr/local/config/postinstall#!/bin/sh echo "This script can contain any commands to run after the OS is installed"
- Create the
rulesfile, which has the host name to be used along with references to the pre and post install scripts. You can use "-" if you would rather not create the pre and/or post install files.kestrel / # cat /usr/local/config/rules hostname teal preinstall profile postinstall - Run the check script while in the /export/config directory.
kestrel / # cd /usr/local/config kestrel /usr/local/config # /usr/local/install/Solaris_10/Misc/jumpstart_sample/check Validating rules... Validating profile profile... The custom JumpStart configuration is ok.
- Edit /etc/inet/hosts and add IP addresses and hostnames of the client(s) - in this case 'teal'
# cat /etc/inet/hosts # # Internet host table # 127.0.0.1 localhost 192.168.0.9 kestrel kestrel.althorne.org loghost 192.168.0.39 teal teal.althorne.org # client to be set up
- Edit /etc/ethers, as below
# cat /etc/ethers
0:3:ba:12:fe:c7 teal -
Change the directory to the location of the
add_install_clientscript on the server.
# cd /usr/local/config # /usr/local/install/Solaris_10/Tools/add_install_client -c kestrel:/usr/local/config -p kestrel:/usr/local/config teal sun4u
# echo "share -F nfs -o ro,anon=0 /usr/local/install" >> /etc/dfs/dfstab- # shareall
# mount -F hsfs /dev/lofi/1 /mnt
Bring the JumpStart client to run state 0 - OK prompt
Send a break to the machine. From a Solaris dtterm, "~#" works. ALT-B from Teraterm, ... etc. Use whatever your software needs to send a break sequence. Or, if the OS is running, using
# init 0
ok
Booting the jumpstart client
ok boot net - install