Solaris Jumpstart - Howto guide

Updated Jun 2026 · Tested on Linux, Unix

Solaris Jumpstart - howto guide

Setup and configuration of jumpstart server & clients . Jumpstart offers a way to install Solaris using network over multiple server with similar of different configurations. Here is a step by Step howto guide to install Solaris over network.

1.0 Before you start

Pre Installation Checklist :

  • The install server or boot server is in the same local network segment as client with network link up .
  • NFS services are running On jumpstart server
  • The tftp services are running . To start uncomment the tftp entry in /etc/inet/inetd.conf and restart the inet services
  • The reverse address lookup daemon ,in.rarpd , is running .

2.0 Preparing for a jumpstart server

Create and share a directory to store and share install server data.

#mkdir /export/install

share it #vi /etc/dfs/dfstab

add share -F nfs -o ro,anon=0 /export/install to export file system for sharing. Do a shareall so that the file system is now exported

2.1 Setting up an Install server

Mount Solaris cdrom

Follow the steps : #cd /cdrom/cdrom0/s0/Solaris_2.7/Tools

#./setup_install_server /export/install

This will copy the cdrom contents in to the /export/install directory.

2.2 Setting up a boot server

For installing clients over different networks you need a boot server in the same subnet as client . Boot server after booting the client hands over subsequent installation & configuration process to install server .

./setup_install_server -b /export/install sun4u

the above command installs software for booting the client. You also have to do a add host and add_install_client in boot server, see adding clients . Rest of the configuration has to be done at install server.

2.3 Setting up configuration files

Make a jumpstart directory say /jumpstart Copy sample jumpstart files from cd

#cp –r /cdrom/cdrom0/s0/Solaris_2.7/Misc/* /jumpstart

2.4 Making Rules

Edit the sample rules file as per your requirement

#vi /jumpstart/rules

Keywords their value and usage is described in rules file itself. any minus sign (-) in rule value always matches for that keyword.

RULE_KEYWORD RULE_VALUE DESCRIPTIONS

domainname text system’s domain name disksize text range system’s disk size disk device name text disk size (MBytes range) hostname text system’s host name installed text text system’s installed ver. of Solaris disk device name (text) OS release text karch text system’s kernel architecture memsize range system’s memory size (MBytes range) model text’ system’s model number network text system’s IP address totaldisk range system’s total disk size (MBytes range)

The following rule set matches any machine and redirect the install request to a profile file called any_machine.

any - - any_machine -

more examples can be found in rules file.

2.5 Verifying rules

A script called check validates and generates a rules.ok file if syntax, keywords are in order.

#./check Validating rules… Validating profile any_machine… rules ok.

The clients will read the rules.ok file for booting information

2.6 Creating Profiles

Profile is a text file which contains configuration information for the clients

A sample profile file called any_machine is already there . You can create your custom profile files through text editor and mention in rules file.

#vi any_machine install_type initial_install system_type server partitioning explicit filesys c0t0d0s0 500 / filesys c0t0d0s1 1000 swap filesys c0t0d0s3 1000 /usr filesys c0t0d0s4 1000 /var filesys c0t0d0s5 1000 /opt cluster SUNWCall add

2.7 Sysidcfg file

Sysidcfg file keeps the various system information like locale time zone etc and supply it to the client at the booting time. In the absence of this the installation turns in to interactive mode to prompt you to supply the value for these variables

You have to create this file in text editor . A sample file would look like following

vi sysidcfg

system_locale=en_US install_locale=en_US timeserver=localhost timezone=US/Pacific network_interface=hme0 {netmask=255.255.255.0} name_service=NONE

2.8 Add a host entry

Edit the /etc/ethers file and put a host entry for your client ;ethernet address followed by host name.

On client ok>banner will give ethernet address

#vi /etc/ethers 8:00:50:44:88:12 mercury

2.9 Adding a Client

The clients are added using add_install_client command . You have to be in the Tools directory of Solaris CD or image as the programme looks for the presence of valid Boot image dir in the same directory.

#cd /export/install/Solaris_2.7/Tools #./add_install_client -e 8:00:50:44:88:12 -s jupiter:/export/install -c jupiter:/jumpstart -p jupiter:/jumpstart mercury sun4u

-e specify the ethernet address of client -s option specify the location of boot image ( As given in setup_install_server) -c option specify the jumpstart directory path. -p option specify the sysidcfg file location jupiter is your jumpstart server mercury is jumpstart client to be installed. sun4u is the architecture of client You need to enter the client through above command at the boot server also

3.0 Starting The client Installation

at client use the following command

ok>boot net - install

the system will initialize and starts booting from network and you will see these messages

System is coming up checking rules file using profile any _machine selecting cluster SUNWCall Preparing system to install software setting up disk creating and checking up file systems installing packages

After completion it will reboot and ask the new root password and after that takes you to the console prompt where you can login and do additional task you want to do.

4.0 Begin & Finish Scripts

These are the optional features of jumpstart . A begin script is a shell script which is used to perform the task before Solaris OS is installed. These are specified in the rules file.

These can be used for creating dynamic derived profiles or backing up files before upgrading.

A finish script is used to perform the tasks after the OS is installed but before reboot.

These can be used to customize root environment , adding patches , files etc.

These scripts can not be checked by the check script so it must be accurate.

Out put of these scripts goes to /var/adm/begin.log and finish.log.

These should be owned by the root with permission 644

5.0 Trouble Shooting

The following are a few of the common errors encountered in jumpstart.

Error : unknown client “client host name”

Source : add_install_client Cause : host name can’t be resolved . check host entry is there in /etc/ethers or in nis/nis+ maps .

File just loaded does not appear to be executable .

Source : Solaris booting process Cause : Improper media . Make sure proper media is available through disk image or CD in the install server . Also see that the rules point to valid media type.

Warning : getfile:RPC failed : error 5 (RPC timed out)

Source: Client boot requests Cause : Muliple entries for a client in different servers. There should not be multiple entries in different install server’s /etc/bootparams , /tftpboot or /rplboot . These causes a hang situation when all of them try to answer.

No network boot server .Unable to install the system. See installation instructions

Source : Client boot request. Cause : Installation is not proper. Check the boot server installation again for any error in command or file .

Timeout waiting for ARP/RARP packet …

Source : Client boot request . Cause : No server is answering its request for booting .Probably they don’t know about this client . See the proper entries are there in /etc/bootparams or nis maps with proper entries in nsswitch.conf . add_install_client is responsible for adding client information in jumpstart server so check the command and its option.