[Next] [Previous] [Up] [Top] [Contents]

7.3.8 JumpStart

7.3.8.1 Configuration Information

When a new machine boots it searches for an install customization directory. It first checks the local floppy drive and if none is found there it then queries the bootparam server for an entry with the keyword install_config. The bootparam server would have an entry similar to the following in the /etc/bootparams file or it's NIS(+) bootparams map:

client_name install_config=server:/export/install_info -Solaris 1.X

-or-

* install_config=server:/export/install_info -Solaris 2.X, which takes wild card entries.

With add_install_client use the -c option to automatically setup the bootparam entry when you set up the client:

# ./add_install_client -s install_server:/cdrom -c config_server:/dir sunclient sun4

where /dir on config_server contains the auto-install configuration information.

There's a sample directory on the Solaris 2.X CDROM, auto_install_sample, that you can use as an example when setting up your configuration file. There is also a sample rules file there. The boot program provides the auto-install program with information about the machine being booted. That, in conjunction with the information provided to the server for this client, provides the auto-install program with sufficient information to determine hostname, host and network addresses, NIS(+) domainname, machine model and architecture type, kernel architecture, memory installed, disk size, and hostid for the client. The rules file then looks for sets of information defined by the Table below. Auto-install will then execute a script before the installation, begin, setup a profile based on the class, and execute a script when done, finish.

Casper Dik has made some good examples of these scripts available on the Internet at ftp.fwi.uva.nl:/pub/solaris/auto_install. .
Auto-install Rules File
ComparisonMatch TypeExpected Data Type
hostnameexacttext string
hostaddressexactdotted decimal address
networkexactdotted decimal address
domainnameexactNIS(+) domain - text string
archexactmachine architecture - text string
karchexactkernel architecture - text string
modelexactmachine model, e.g.: 4_75
memsizerangememory size in MB, e.g.: 16-64
disksizedisk_name rangespecific disk size in MB, e.g.: c0t3d0 180-500
installeddisk_slice releasespecific disk slice and OS release, e.g.: c0t3d0s0 solaris_2.5
totaldiskrangetotal disk size in MB, e.g. 180-500
hostidexact8 digit hex number, e.g.: 80442a6b
anyignoredalways matches

Note, that the backslash, \, at the end of a line of a rules line indicates that the line is continued on the next line. Lines beginning with # are comments.

So if your rules file has entries of the form (modified from an example by Casper Dik):

# key value begin class finish
# SPARCstation LX
karch sun4m &&\
model 'SUNW, SPARCstation-LX' &&\
memsize 16-64 &&\
disksize rootdisk 180-550 scripts/start packages/default scripts/finish
# SPARCstations 1, 1+, 2, ELC, SLC, IPC, IPX
karch sun4c &&\
memsize 16-64 &&\
totaldisk 180-250 scripts/start packages/no_var scripts/finish
# Anything not matched - don't install
any - scripts/no_match - -

Where the lines are interpreted as:

Specifies that a sun4m type architecture and the model SPARCstation LX are being selected.

Specifies that if the memory size is 16-64 MB and the root disk size is 180-550 MB set the parameters defined in the packages/default class file. Before installation run the begin file, scripts/start, and upon completion the finish script, scripts/finish, will be run.

Specifies that any machine with sun4c kernel architecture, and memory size of 16-64 MB, and total disk size of 180-250 MB should set the class parameters define in packages/no_var (e.g. so that /var is not a separate partition), and run the begin script, scripts/start, and the finish script, scripts/finish.

This matches any machine, so if the machine was not flagged by one of the previous lines in the file install with the scripts/no_match begin script. If you left off this last line the machine would perform an interactive install if it didn't match a previous line.

An example of a class configuration file:

filesys any 24 /

filesys any 80 /usr

filesys any 43 /var nosuid

filesys any 0 /home

filesys any 0 /opt

filesys any free swap

cluster SUNWCreq

package SUNWvolr delete

package SUNWvolu delete

cluster SUNWClp

package SUNWdoc

Where these lines are interpreted as:

The filesys entries specify the disk partitioning in MBs. The entry partitioning could be used with either default or existing to indicate that the disk should be partitioned based on the software selected or that the current partitions should be used, respectively. If not specified default is used.

This defines the cluster to be installed. If this is a configuration cluster the add|delete fields are ignored.

So the package SUNWvolr has be selected to be deleted from the previously chosen cluster.

Additional fields follow the format:

to specify a product to install and the OS version (e.g. Solaris 2.5).

to define the size to partition various file systems, e.g.:
filesys any 60 swap

to specify a package to install. The add and delete options specify whether the package should be added or deleted from the configuration cluster and clusters previously chosen, e.g.:
package SUNWaudmo add
package SUNWman delete


Unix System Administration - 8 AUG 1996
[Next] [Previous] [Up] [Top] [Contents]