sentinel.dk
by Frederik Dannemare, 2001

Installing Solaris over the network using Custom Jumpstart


INTRODUCTION TO CUSTOM JUMPSTART
Custom Jumpstart installation is a way of installing the Solaris operating system on multiple clients over a network.

This is especially useful when dealing with machines without a cd-rom drive. Also, it is very easy to set up multiple machines with pre-defined system settings without much interaction during the install procedure, which is rather convenient.

It is assumed that the install server and the clients reside on the same subnet. This way you can omit the use of an extra boot server on the subnet where the clients reside.


CREATE INSTALL/BOOT SERVER
First of all, you'll need a Solaris box to act as an install/boot server. This means you'll be copying Solaris CD images to this server.

The CD images will then be used for installing multiple Solaris machines (clients) over a network. Also, the very same server is used to serve the clients with boot information.

Install an 'End User' on your jumpstart server to be sure, you'll have all the needed network services available on your system.

Make sure you have the following services running on your jumpstart server:

/usr/sbin/inetd -s
/usr/sbin/rpcbind
/usr/lib/nfs/statd
/usr/lib/nfs/lockd
/usr/lib/nfs/mountd
/usr/lib/nfs/nfsd -a 16
/usr/sbin/in.rarpd -a
/usr/sbin/rpc.bootparamd


Notice that inetd should be running tftpd:
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot


COPY SOLARIS CD IMAGES TO THE JUMPSTART SERVER
Now you are ready to copy Solaris CD images to your install/boot server.

Be sure that you have enough disk space on the partition where the directory to hold the cd images is created.

Insert the Solaris Software CD 1 into your cd-rom drive and execute the following commands:

mkdir /data/cd-images
mkdir /data/cd-images/sol_8_sparc
cd /[cdrom-mount-point]/s0/Solaris_8/Tools
./setup_install_server /data/cd-images/sol_8_sparc


Now insert Solaris Software CD 2 into drive and execute the following commands:

cd /[cdrom-mount-point]/Tools
./add_to_install_server /data/cd-images/sol_8_sparc



CREATE JUMPSTART DIRECTORY

You'll need to create a Jumpstart directory on the install/boot server that will hold some important files containing information needed by the clients in order to do a network install.

Create jumpstart directory and make it available to clients via NFS:

mkdir /jumpstart
echo "share -F nfs -o ro,anon=0 /jumpstart" >> \
/etc/dfs/dfstab

echo "share -F nfs -o ro,anon=0 \
/data/cd-images/sol_8_sparc" \
>> /etc/dfs/dfstab

shareall



PRECONFIGURING SYSTEM CONFIGURATION INFORMATION
Create a sysidcfg file that contains info about system settings that will be used during the install of the clients.

vi /jumpstart/sysidcfg

#/jumpstart/sysidcfg
name_service=DNS
{domain_name=
name_server=
}

network_interface=
{hostname=
ip_address=
netmask=
protocol_ipv6=no
}

security_policy=NONE
system_locale=da_DK
terminal=vt100
timezone=MET
timeserver=localhost



CREATE PROFILE FILE
A profile file specifies how a client (or group of clients) should be installed.

vi /jumpstart/generic_profile

#/jumpstart/generic_profile
install_type initial_install
system_type standalone
partitioning default
cluster SUNWCprog
filesys any 256 swap



CREATE RULES FILE
The rules file holds rulesets that specifies what profile to use for a matching client. A ruleset could be "karch i86pc && network 192.168.1.0" which means "any client that has an Intel hardware architecture and resides on the 192.168.1.0 network".

Also, a begin script and a finish script for each ruleset can be specified along with the profile to use. A begin script is a shell script that is run on a client before the profile is read (which executes the installation of Solaris on the client), and the finish script is a shell script that is run after the profile has been read (i.e. after Solaris has been installed).

vi /jumpstart/rules

#/jumpstart/rules
any - - generic_profile -



VALIDATE RULES AND PROFILES
First copy the check script from the Solaris CD or CD image. E.g. if you have installed the CD image to /data/cd-images/sol_8_sparc do the following:

cp /data/cd-images/sol_8_sparc/Solaris_8/\
Misc/jumpstart_sample/check /jumpstart/

cd /jumpstart
./check



ADD INFORMATION ABOUT CLIENTS
Create /tftpboot to hold data for root image

mkdir /tftpboot


If operating with static ip addresses, you should add to /etc/hosts the ip addresses, fully-qualified domain names, and aliases that you want the clients to have.

vi /etc/hosts

#/etc/hosts
[ipaddr] [FQDN] [alias]
127.0.0.1 localhost
10.5.86.193 jumpstart.staff.tdk.net loghost
10.5.86.244 hopstart01.staff.tdk.net hopstart01



Also, you have to know the MAC addresses of the clients. Enter them into /etc/ethers.

vi /etc/ethers

#/etc/ethers
[macaddr] [FQDN]
8:0:20:fd:e9:ba hopstart01.staff.tdk.net



MAKE YOUR SERVER AWARE OF A NEW CLIENT
Finally, you will have to run the add_install_client to make the server aware of new clients.
The parameters entered shows up in /etc/bootparams.

cd /data/cd-images/sol_8_sparc/Solaris_8/Tools/
./add_install_client \
-s jumpstart.staff.tdk.net:/data/cd-images/sol_8_sparc \
-c jumpstart.staff.tdk.net:/jumpstart \
-p jumpstart.staff.tdk.net:/jumpstart \
hopstart02.staff.tdk.net sun4u


Boot your client from the 'ok' prompt with 'boot net - install'