Chapter 6 Preparing Custom JumpStart Installations
This chapter provides step-by-step instructions about how
to prepare the systems at your site from which and on which you intend to
install the Solaris 8 software using the custom JumpStart installation
method.
Note -
The name of this product is Solaris 8, but code and path
or package path names might appear as Solaris_2.8 or SunOS_5.8. Always follow the code or path as it is written.
Custom JumpStart Scenario
Custom JumpStart provides a way to install groups
of systems automatically and identically. The first step when preparing custom
JumpStart installations is deciding how you want to install Solaris on the
systems at your site. The following scenario illustrates how to set up and
perform a custom JumpStart installation at a particular site. Suppose, for
example:
-
You need to install Solaris on 100 new systems.
-
Seventy of the systems are SPARC based, owned by your engineering
group, and need to be installed as standalone systems with the Solaris operating
environment software group for developers.
-
The remaining 30 systems are IA (Intel Architecture) based,
owned by your marketing group, and need to be installed as standalone systems
with the Solaris operating environment software group for end users.
After you decide how you want the systems at your site to be installed,
you must create a rules file and a profile for each group
of systems. The rules file is a text file that contains
a rule for each group of systems (or single systems) on which you want to
install Solaris automatically.
Each rule distinguishes a group of systems based on one or more system
attributes, and it links each group to a profile, a text file that defines
how the Solaris software is to be installed on each system in the group. Both
the rules file and profile must be located in a JumpStart
directory.
You, as the system administrator at this site, need to create a rules file that contains two different rules, one for the engineering
group and another for the marketing group. For each rule, you use the platform
group for each type of system to distinguish the engineering group from the
marketing group: SPARC and IA, respectively.
Each rule also contains a link to an appropriate profile. For example,
in the rule for the engineering group, you add a link to the profile, called eng_profile, that you created for the engineering group. And, in
the rule for the marketing group, you add a link to the profile, called market_profile, that you created for the marketing group.
After creating the rules file and profile, you
must validate them with the check script. If the check script runs successfully, the rules.ok
file is created, which is a generated version of the rules
file that JumpStart uses to install the Solaris software.
What Happens During a Custom JumpStart Installation
JumpStart reads the rules.ok file and tries to
find the first rule whose defined system attributes match the system on which
JumpStart is attempting to install the Solaris software. If a match occurs,
JumpStart uses the profile specified in the rule to install Solaris on the
system automatically.
Figure 6-1 illustrates how a custom JumpStart
installation works on a standalone, non-networked system using a diskette
in the system's diskette drive.
Figure 6-1 How a Custom JumpStart Installation Works:
Non-Networked Example
Figure 6-2 illustrates how a custom JumpStart
installation works for more than one system on a network in which different
profiles are accessed from a single server.
Figure 6-2 How a Custom JumpStart Installation Works:
Networked Example
As shown in Figure 6-1 and Figure 6-2,
the custom JumpStart files you need to set up can be located on either a diskette
or server (called a profile diskette and profile server, respectively).
-
A profile diskette is required when you want to perform custom
JumpStart installations on non-networked, standalone systems.
-
A profile server is used when you want to perform custom JumpStart
installations on networked systems that have access to a server.
Figure 6-3 describes what happens on a system
during a custom JumpStart installation and shows the order in which JumpStart
looks for custom JumpStart files.
Figure 6-3 What Happens During a Custom JumpStart Installation
Task Map: Preparing Custom JumpStart Installations
Table 6-1 Task Map: Preparing Custom JumpStart Installations
| | Task | | Description | | For instructions, go
to |
|
| |
Create a JumpStart directory
| |
On a diskette
If you want to perform custom JumpStart installations on systems that are
not connected to a network, you must create a profile diskette, which is a
diskette that contains the custom JumpStart files.
| |
"Creating a Profile Diskette"
| |
| | | |
On a server
If you want to perform custom
JumpStart installations on systems connected to a network, you must create
a profile server, which is a server that contains a JumpStart directory for
the custom JumpStart files.
| |
"Creating a Profile Server"
| |
| |
| | | | | | |
| |
Allow all systems
access to the profile server
| |
Optional. When you use a profile server, you can enable all systems
at once to access the profile server. By doing this, you don't have to individually
enable every system to access the profiles on the profile server.
| |
"Allowing All Systems Access to the Profile Server"
| |
| |
| | | | | | |
| |
Add rules to the rules file
| |
After you decide how you
want each group of systems (or single systems) at your site to be installed,
you have to create a rule for each specific group that you want to install.
Each rule distinguishes a group based on one or more system attributes, and
it links each group to a profile.
| |
"Creating the rules File"
| |
| |
| | | | | | |
| |
Create a profile
for every rule
| |
A profile is a text file that defines
how to install the Solaris software (for example, which software group to
install) on a system. Every rule specifies a profile to define how a system
is to be installed with Solaris when the rule is matched. You usually create
a different profile for every rule; however, the same profile can be used
in more than one rule.
| |
"Creating a Profile"
| |
| |
| | | | | | |
| |
Test the profiles
| |
Optional. After you create
a profile, use the pfinstall(1M) command to test the profile before you
actually use it to install or upgrade a system.
| |
"Testing a Profile"
| |
| |
| | | | | | |
| |
Validate the rules file
| |
The rules.ok
file is a generated version of the rules file that JumpStart
uses to match the system to be installed with a profile. You must use the check script to validate the rules file.
| |
"Validating the rules File"
| |
| | | | | | | |
|
Creating a Profile Server
When setting up custom JumpStart installations for systems on the network,
you need to create a directory on a server (called a JumpStart directory).
A JumpStart directory contains all the essential custom JumpStart files (for
example, the rules file, rules.ok
file, and profiles) at its root level.
The server that contains a JumpStart directory is called a profile server. A profile server can be the same system as an install
or boot server, or it can be a completely different server.
Ensure that root owns the JumpStart directory and
that its permissions are set to 755.
Note -
A profile server can provide custom JumpStart files for different
platforms. For example, an IA server can provide custom JumpStart files for
both SPARC and IA based systems.
To Create a JumpStart Directory on a Server
Note -
This procedure assumes that the system is running Volume
Manager. If you are not using Volume Manager to manage diskettes
and CDs, refer to System Administration Guide, Volume I for detailed information
about managing removable media without Volume Manager.
-
Log in as superuser on the server on which you want to create the JumpStart
directory.
-
Create the JumpStart directory anywhere on the server:
# mkdir -m 755 jumpstart_dir_path
|
where jumpstart_dir_path is the absolute
path of the JumpStart directory.
For example, the following command creates a directory called jumpstart in the root (/) directory and sets
its permissions to 755:
-
Edit the /etc/dfs/dfstab file by adding the following
entry:
share -F nfs -o ro,anon=0 jumpstart_dir_path
|
For example, the following entry shares the /jumpstart
directory:
share -F nfs -o ro,anon=0 /jumpstart
|
-
Type shareall and press Return or Enter.
-
Do you want to copy examples of custom JumpStart files to your JumpStart
directory?
-
If no, stop; you are done creating a JumpStart directory on
your profile server.
-
If yes, use the decision table below to determine what to
do next.
|
If you want to copy the examples
from
|
Then
|
|
The Solaris 8 Software 1 of 2
CD for your platform
|
Insert the CD labeled Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition
into the server's CD-ROM drive.
Volume Manager automatically mounts
the CD.
|
|
An image of the Solaris 8 Software 1 of 2
CD for your platform on a local disk
|
Change directory to the location of the Solaris 8 Software 1 of 2 SPARC Platform Edition
or Solaris 8 Software 1 of 2 Intel Platform Edition CD image. For example:
|
-
Copy the example custom JumpStart files into the JumpStart directory
on the profile server:
# cp -r media_path/Solaris_8/Misc/jumpstart_sample/* jumpstart_dir_path
|
where media_path is the path to the CD or
image on the local disk and jumpstart_dir_path
is the path on the profile server where you want to place the example custom
JumpStart files.
For example, the following command copies the jumpstart_sample directory into the /jumpstart directory on
the profile server:
cp -r /cdrom/cdrom0/s2/Solaris_8/Misc/jumpstart_sample/* /jumpstart
|
-
Update the example JumpStart files so they work in your environment.
Allowing All Systems Access to the Profile Server
When you create a profile server, you must ensure
that systems can access it during a custom JumpStart installation. Use one
of these ways to ensure access:
-
Use a wildcard in the /etc/bootparams
file.
-
Every time you add a system for network installation, use
the -c option with the add_install_client
command.
To save time when adding systems for network installations, use the
following procedure to allow all systems access to the profile server. Otherwise,
see "Creating the rules File".
To Allow All Systems Access to
the Profile Server
Note -
This procedure is not necessary if you intend to use a diskette
with the JumpStart directory on it.
This procedure is valid only if you are using the /etc/bootparams file to store network installation information. If you are using
the NIS or NIS+ bootparams database for network installation
information, you need to update the bootparams database
with the entry shown in Step 3.
-
On the install or boot server, log in as superuser.
-
Using a text editor of your choice, open /etc/bootparams.
-
Add this entry:
* install_config=server:jumpstart_dir_path
|
where:
|
*
|
Is a wildcard character that specifies that all systems
have access.
|
|
server
|
Is the host name of the profile server
where the JumpStart directory is located.
|
|
jumpstart_dir_path
|
Is the
absolute path of the JumpStart directory.
|
For example, the following entry allows all systems to access the /jumpstart directory on the profile server named sherlock:
* install_config=sherlock:/jumpstart
|
Caution - Using this procedure might produce the following error message
when an install client is booted:
WARNING: getfile: RPC failed: error 5: (RPC Timed out).
"Booting a System Over the Network" contains details about this error
message.
All systems can now access the profile server. You no longer need to use
the -c option with the add_install_client
command when adding systems for network installations.
Creating a Profile Diskette
A diskette that contains a JumpStart directory is called a profile diskette.
Requirements
You must create a JumpStart directory on a diskette if a system is not connected to a network because the system does not have access
to a profile server. The system on which you create a profile diskette must
have a diskette drive, however.
Essential custom JumpStart files (the rules file, rules.ok file, and profiles) must be located in the root (/) directory on the profile diskette. Ensure that root owns the JumpStart directory and that its permissions are set to
755.
SPARC: To Create a Profile Diskette
Note -
This procedure assumes that the system is running Volume Manager.
If you are not using Volume Manager to manage diskettes and CDs, refer to System Administration Guide,
Volume I for detailed information about managing removable
media without Volume Manager.
-
Log in as superuser on a SPARC based system to which a diskette drive
is attached.
-
Insert a blank diskette (or one that can be overwritten) into the diskette
drive.
-
Mount the diskette:
-
Does the diskette already have a UFS (UNIX file system) on it?
-
If you don't know, examine the contents of the file /etc/mnttab on the system for an entry like this:
/vol/dev/diskette0/scrap /floppy/scrap ufs suid,rw,largefiles,dev=1740008 927147040
|
Did you find an entry?
-
If yes, go to Step 7.
-
If no, go to the next step.
Caution - Formatting erases all data on the diskette.
-
Format the diskette:
-
Create a UFS on the diskette:
# newfs /vol/dev/aliases/floppy0
|
-
Do you want to copy examples of custom JumpStart files to your JumpStart
directory?
-
If no, stop; you are done creating a JumpStart directory on
your profile diskette.
-
If yes, use the decision table below to determine what to
do next.
|
If you want to copy the examples
from
|
Then
|
|
The Solaris 8 Software 1 of 2 SPARC Platform Edition
CD
|
Insert the CD labeled Solaris 8 Software 1 of 2 SPARC Platform Edition
into the server's CD-ROM drive.
Volume Manager automatically mounts
the CD.
|
|
An image of the Solaris 8 Software 1 of 2 SPARC Platform Edition
CD on a local disk
|
Change directory to the location of the Solaris 8 Software 1 of 2 SPARC Platform Edition
CD image. For example:
|
-
Copy the example custom JumpStart files into the JumpStart directory
on the profile diskette:
# cp -r media_path/Solaris_8/Misc/jumpstart_sample/* jumpstart_dir_path
|
where media_path is the path to the CD or
image on the local disk and jumpstart_dir_path
is the path to the profile diskette where you want to place the example custom
JumpStart files.
Note -
You must place all custom JumpStart installation files in the
root (/) directory on the diskette.
For example, the following command copies the contents of jumpstart_sample on the Solaris 8 Software 1 of 2 SPARC Platform Edition CD to the root
(/) directory on a profile diskette named scrap:
cp -r /cdrom/sol_8_sparc/Solaris_8/Misc/jumpstart_sample/* /floppy/scrap
|
-
Update the example JumpStart files on the profile diskette so they work
in your environment.
-
Eject the diskette:
You have completed creating a profile diskette. You can now update the rules file and create profiles on the profile diskette to perform
custom JumpStart installations. To continue, go to "Creating the rules File".
IA: To Create a Profile Diskette
Note -
This procedure assumes that the system is running Volume Manager.
If you are not using Volume Manager to manage diskettes and CDs, refer to System Administration Guide,
Volume I for detailed information about managing removable
media without Volume Manager.
-
Log in as superuser on an IA based system to which a diskette drive
is attached.
-
Insert the Solaris 8 Device Configuration Assistant Intel Platform Edition diskette into the diskette drive (usually
drive A:). You will use this diskette as the profile diskette.
-
Mount the diskette:
-
Copy the image of the Solaris 8 Device Configuration Assistant
to the system's hard disk:
# dd if=/vol/dev/aliases/floppy0 of=boot_image
|
where boot_image is the name of the file
into which you want to copy the image of the Solaris 8 Device Configuration
Assistant. You can specify an absolute path name.
For example, the following command copies the boot diskette to a file
named boot_save:
dd if=/vol/dev/aliases/floppy0 of=boot_save
|
-
Eject the diskette by clicking Eject Disk in the File Manager window
or by typing eject floppy on the command line.
-
On the Removable Media Manager dialog box, click OK.
-
Manually eject the diskette labeled Solaris 8 Device Configuration Assistant Intel Platform Edition.
-
Insert a blank diskette (or one that can be overwritten) into the diskette
drive.
-
Mount the diskette:
Caution - Formatting erases all data on the diskette.
-
Format the diskette:
-
Copy the Solaris 8 Device Configuration Assistant image from
the system's hard disk to the formatted diskette:
# dd if=boot_image of=/vol/dev/aliases/floppy0
|
where boot_image is the name of the file
where you want to copy the image of the Solaris 8 Device Configuration
Assistant. You can specify an absolute path name.
-
Do you want to copy examples of custom JumpStart files to your JumpStart
directory?
-
If no, stop; you are done creating a JumpStart directory on
your profile diskette.
-
If yes, use the decision table below to determine what to
do next.
|
If you want to copy the examples
from
|
Then
|
|
The Solaris 8 Software 1 of 2 Intel Platform Edition
CD
|
Insert the CD labeled Solaris 8 Software 1 of 2 Intel Platform Edition
into the server's CD-ROM drive.
Volume Manager automatically mounts
the CD.
|
|
An image of the Solaris 8 Software 1 of 2 Intel Platform Edition
CD on a local disk
|
Change directory to the location of Solaris 8 Software 1 of 2 Intel Platform Edition
CD image. For example:
|
-
Copy the example custom JumpStart files into the JumpStart directory
on the profile diskette:
# cp -r media_path/Solaris_8/Misc/jumpstart_sample/* jumpstart_dir_path
|
where media_path is the path to the CD or
image on the local disk and jumpstart_dir_path
is the path to the profile diskette where you want to place the example custom
JumpStart files.
Note -
You must place all custom JumpStart installation files in the
root (/) directory on the profile diskette.
For example, the following command copies the contents of jumpstart_sample on the Solaris 8 Software 1 of 2 Intel Platform Edition CD to the root
(/) directory on a profile diskette named scrap:
cp -r /cdrom/sol_8_ia/s2/Solaris_8/Misc/jumpstart_sample/* /floppy/scrap
|
-
Update the example JumpStart files on the profile diskette so they work
in your environment.
-
Eject the diskette by clicking Eject Disk in the File Manager window
or by typing eject floppy on the command line.
-
On the Removable Media Manager dialog box, click OK.
-
Manually eject the diskette.
You have completed creating a profile diskette. Now you can update the rules file and create profiles on the profile diskette to perform
custom JumpStart installations. To continue, go to "Creating the rules File".
Creating the rules File
What Is a rules File?
The rules file is a text file that contains a rule
for each group of systems (on a single system) on which you want to install
the Solaris operating environment. Each rule distinguishes a group of systems
based on one or more system attributes and links each group to a profile,
which is a text file that defines how the Solaris software is to be installed
on each system in the group. For example, the rule:
karch i86pc - basic_prof -
|
specifies that JumpStart is to automatically install any system with
the i86pc platform group based on the information in the basic_prof profile. The rules file is used
to create the rules.ok file, which is required for custom
JumpStart installations.
Note -
If you set up the JumpStart directory using the procedures in "Creating a Profile Diskette" or "Creating a Profile Server", an
example rules file is already located in the JumpStart
directory. The sample rules file contains documentation
and some example rules. If you use the sample rules file,
make sure you comment out the example rules you do not intend to use.
Syntax of the rules File
The rules file must:
The rules file can contain:
-
Commented text
Any text included after the # symbol on a line is
treated by JumpStart as commented text. If a line begins with the # symbol, the entire line is treated as a comment.
-
One or more blank lines
-
One or more multi-line rules
To continue a single rule onto a new line, include a backslash character
(\) just before pressing Return or Enter.
Syntax of a Rule
A rule must contain at least a:
-
Keyword, a value, and a corresponding profile
-
Minus sign (-) in the begin and finish fields if there is no entry
A rule within a rules file must adhere to the following
syntax:
[[!]]rule_keyword rule_value [[&& [[!]]rule_keyword rule_value]] ... begin profile finish
|
Table 6-2 Syntax Elements of a Rule
|
Element
|
Description
|
|
!
|
Is a symbol used before a keyword to indicate negation.
|
|
rule_keyword
|
Is a predefined lexical unit or word
that describes a general system attribute, such as host name (hostname) or memory size (memsize). It is used with the
rule value to match a system with the same attribute to a profile. See Table 6-3 for the list of rule keywords.
|
|
rule_value
|
Is a value that provides the specific
system attribute for the corresponding rule keyword. Rule values are described
in Table 6-3.
|
|
&&
|
Is a symbol you must use to join rule keyword and rule value pairs together
in the same rule (a logical AND). During a custom JumpStart installation,
a system must match every pair in the rule before the rule matches.
|
|
begin
|
Is the name of an optional Bourne shell script that can
be executed before the installation begins. If no begin script exists, you must enter a minus sign (-) in this field. All begin scripts must
be located in the JumpStart directory.
Information about how
to create begin scripts is presented in "Creating Begin Scripts".
|
|
profile
|
Is the name of a text file that defines how the Solaris software is to be
installed on the system when a system matches the rule. The information in
a profile consists of profile keywords and their corresponding profile values.
All profiles must be located in the JumpStart directory.
Note -
Optional ways to use the profile field are described in "Using a Site-Specific Installation Program"
and "Creating Derived Profiles With a Begin Script".
|
|
finish
|
Is the name of an optional Bourne shell
script that can be executed after the installation completes. If no finish
script exists, you must enter a minus sign (-) in this field. All finish scripts
must be located in the JumpStart directory.
Information about
how to create finish scripts is presented in "Creating Finish Scripts".
|
Rule Keywords and Values
Table 6-3 describes the keywords and values
that you can use in the rules file.
Table 6-3 Descriptions of Rule Keywords and Values
|
Keyword
|
Value
|
Matches
|
|
any
|
minus sign (-)
|
Anything (this keyword always succeeds).
|
|
arch
|
processor_type
Valid values for processor_type are:
|
A system's
processor type.
The uname -p command reports
the system's processor type.
|
|
disksize
|
actual_disk_name size_range
actual_disk_name - A disk name in the form cxtydz, such as c0t3d0
or c0d0, or the special word rootdisk.
If rootdisk is used, the disk to be matched is determined
in the following order:
-
SPARC: The disk that contains the preinstalled
boot image (a new SPARC based system with factory JumpStart installed)
-
The c0t3d0s0 disk, if it exists
-
The first available disk (searched in kernel probe order)
size_range - The size of the
disk, which must be specified as a range of Mbytes (x-x).
|
The
name and size of a system's disk (in Mbytes).
Example:
In this
example, JumpStart attempts to match a system disk named c0t3d0
that can hold between 250 to 300 Mbytes of information.
Example:
disksize rootdisk 750-1000
|
In
this example, JumpStart attempts to match first, a system disk that contains
a preinstalled boot image, next the c0t3d0s0 disk, if
it exists, and finally the first available disk that can hold between 750
Mbytes to 1 Gbyte of information.
Note -
When calculating size_range, remember that a Mbyte equals 1,048,576 bytes. A
disk might be advertised as a "535 Mbyte" disk, but it might contain
only 510 million bytes of disk space. JumpStart actually views the "535
Mbyte" disk as a 510 Mbyte disk because 535,000,000 / 1,048,576 = 510.
So, a "535 Mbyte" disk would not match a size_range equal to 530-550.
|
|
domainname
|
actual_domain_name
|
A system's domain name, which controls
how a name service determines information.
If you have a system
already installed, the domainname command reports the system's
domain name.
|
|
hostaddress
|
actual_IP_address
|
A system's IP address.
|
|
hostname
|
actual_host_name
|
A system's host name.
If you have a system already installed, the uname -n command
reports the system's host name.
|
|
installed
|
slice version
slice - A disk
slice name in the form cwtxdysz, such as c0t3d0s5, or the special words any or rootdisk. If any is used, JumpStart attempts
to match all of the system's disks (in kernel probe order). If rootdisk is used, the disk to be matched is determined in the following
order:
-
SPARC: The disk that contains the preinstalled
boot image (new SPARC based system with factory JumpStart installed)
-
The c0t3d0s0 disk, if it exists
-
The first available disk (searched in kernel probe order)
version - A version name, Solaris_2.x, or the special words any or upgrade. If any is
used, any Solaris or SunOS release is matched. If upgrade
is used, any Solaris 2.1 or later release that can be upgraded is matched.
If JumpStart finds a Solaris release but is unable to determine
the version, the version returned is SystemV.
|
A disk that has a root (/) file system corresponding to a particular version of Solaris
software.
Example:
installed c0t3d0s1 Solaris_8
|
In the example, JumpStart attempts to match
a system that has a Solaris 8 root (/) file system
on c0t3d0s1.
|
|
karch
|
actual_platform_group
Valid values are: sun4d, sun4m, sun4u, i86pc.
(A list of systems and their corresponding platform group is presented in Appendix A, Platform Names and Groups.)
|
A system's platform group.
If you have a system already installed,
the arch -k command or the uname -m
command reports the system's platform group.
|
|
memsize
|
physical_mem
The
value must be a range of Mbytes (x-x) or a single Mbyte value.
|
A system's physical memory size (in Mbytes).
Example:
The example tries to match a system with a physical memory size between 16
and 32 Mbytes.
If you have a system already installed, the output
of the prtconf command (line 2) reports the system's physical
memory size.
|
|
model
|
actual_platform_name
|
A system's platform name. See Appendix A, Platform Names and Groups for a list of valid platform names.
To find the platform name of an installed system, use the uname -i command or the output of the prtconf command
(line 5).
|
|
network
|
network_num
|
A system's network number, which JumpStart
determines by performing a logical AND between the system's IP address and
the subnet mask.
Example:
The example tries to match a system with a 193.144.2.8
IP address (if the subnet mask is 255.255.255.0).
|
|
osname
|
Solaris_2.x
|
A version of Solaris software already installed on a system.
Example:
In this example, custom JumpStart attempts to match a system with Solaris
7 already installed.
|
|
probe
|
probe_keyword
|
A valid probe or custom probe keyword.
Example:
The example returns the size of a system's disks (in Mbytes) in kernel probe
order (c0t3d0s0, c0t3d0s1, c0t4d0s0, on a SPARC based system, for example) and sets the SI_DISKLIST, SI_DISKSIZES, SI_NUMDISKS,
and SI_TOTALDISK environment variables.
Note -
The probe keyword is unique in that it doesn't attempt
to match an attribute and consequently run a profile; it simply returns a
value. Consequently, you cannot specify begin scripts, profiles, and finish
scripts with the probe rule keyword.
Probe keywords are described in Chapter 8, Creating Custom Rule and Probe Keywords.
|
|
totaldisk
|
size_range
The value must be specified as a range of Mbytes (x-x).
|
The
total disk space on a system (in Mbytes). The total disk space includes all
the operational disks attached to a system.
Example:
In this example,
JumpStart tries to match a system with a total disk space between 300 and
500 Mbytes.
Note -
When calculating size_range,
remember that one Mbyte equals 1,048,576 bytes. A disk might be advertised
as a "535 Mbyte" disk, but it might have only 510 million bytes
of disk space. JumpStart actually views the "535 Mbyte" disk as
a 510 Mbyte disk because 535,000,000 / 1,048,576 = 510. So, a "535 Mbyte"
disk does not match a size_range equal to 530-550.
|
Sample rules File Contents
The following sample shows several example rules in a rules file. Each line has a rule keyword and a valid value for that
keyword. JumpStart scans the rules file from top to bottom.
Note -
Do not insert the numbers shown in the left column. They are footnotes
that appear after the sample.
When JumpStart matches a rule keyword and value with a known system,
it installs the Solaris software specified by the profile listed in the profile
field.
# rule keywords and rule values begin script profile finish script
# ----------------------------- ------------ -------- -------------
[This rule matches if the system's host name is eng-1. The basic_prof profile is used to install the Solaris software on the system that matches this rule.] hostname eng-1 - basic_prof -
[The rule matches if the system is on subnet 192.43.34.0 and it is not a SPARCstationTM 20 (SUNW,SPARCstation-20). The net_prof profile is used to install the Solaris software on systems that match this rule.
This rule also provides an example of rule wrap, which is defined on "Syntax of the rules File".] network 192.43.34.0 && !model \
'SUNW,SPARCstation-20' - net_prof -
[The rule matches if the system is a SPARCstation LX. The lx_prof profile and the complete finish script are used to install the Solaris software on systems that match this rule.] model SUNW,SPARCstation-LX - lx_prof complete
[This rule matches if the system is on subnet 193.144.2.0 and is an IA based system. The setup begin script, the IA_prof profile, and the done finish script are used to install the Solaris software on systems that match this rule.] network 193.144.2.0 && karch i86pc setup IA_prof done
[This rule matches if the system has between 16 and 32 Mbytes of memory and is an IA based system. The prog_prof profile is used to install the Solaris software on systems that match this rule.] memsize 16-32 && arch i386 - prog_prof -
[This rule matches any system that did not match the previous rules. The generic_prof profile is used to install the Solaris software on systems that match this rule. If used, any should always be the last rule in the rules file.] any - - generic_prof -
|
To Create a rules File
-
Using a text editor of your choice, create a text file named rules or open the sample rules file in the
JumpStart directory you created.
-
Add a rule in the rules file for each group of
systems on which you want to install Solaris using custom JumpStart.
-
Save the rules file in the JumpStart directory.
Ensure that root owns the rules
file and that its permissions are set to 644.
Creating a Profile
What Is a Profile?
A profile is a text file that defines how to install
the Solaris software on a system (the software group to install, for example).
Every rule specifies a profile that defines how a system is to be installed
with Solaris when that rule is matched during a JumpStart installation. You
usually create a different profile for every rule; however, the same profile
can be used in more than one rule.
A profile consists of one or more profile keywords and their values.
Each profile keyword is a command that controls one aspect of how JumpStart
is to install the Solaris software on a system. For example, the profile keyword
and value:
tells JumpStart to install the system
as a server.
Note -
If you created the JumpStart directory using the procedures presented
in "Creating a Profile Server" or "Creating a Profile Diskette",
sample profiles are already located in the JumpStart directory.
Syntax of Profiles
A profile must contain:
A profile can contain:
Syntax of Profile Keywords and Values
This section describes the profile keywords and values you can use in
a profile.
Note -
Profile keywords and their values are case sensitive.
Table 6-4 provides a quick way to determine
which keywords you can use based on your installation scenario. Unless otherwise
noted in the keyword descriptions, the keyword can only be used with the initial
installation option.
Table 6-4 Overview of Profile Keywords
| |
Installation Scenarios
|
|
Profile
Keywords
|
Standalone System
(Non-Networked)
|
Standalone
System (Networked) or Server
|
OS Server
|
Upgrade
|
Upgrade With Disk Space Reallocation
|
|
backup_media
| | | | |
v
|
|
boot_device
|
v
|
v
|
v
| | |
|
client_arch
| | |
v
| | |
|
client_root
| | |
v
| | |
|
client_swap
| | |
v
| | |
|
cluster (adding
software groups)
|
v
|
v
|
v
| | |
|
cluster (adding/deleting
clusters)
|
v
|
v
|
v
|
v
|
v
|
|
dontuse
|
v
|
v
|
v
| | |
|
fdisk (IA only)
|
v
|
v
|
v
| | |
|
filesys (mounting
remote file systems)
| |
v
|
v
| | |
|
filesys (creating
local file systems)
|
v
|
v
|
v
| | |
|
geo
|
v
|
v
|
v
|
v
|
v
|
|
install_type
|
v
|
v
|
v
|
v
|
v
|
|
isa_bits
|
v
|
v
|
v
|
v
|
v
|
|
layout_constraint
| | | | |
v
|
|
locale
|
v
|
v
|
v
|
v
|
v
|
|
num_clients
| | |
v
| | |
|
package
|
v
|
v
|
v
|
v
|
v
|
|
partitioning
|
v
|
v
|
v
|
|
|
|
root_device
|
v
|
v
|
v
|
v
|
v
|
|
system_type
|
v
|
v
|
v
|
|
|
|
usedisk
|
v
|
v
|
v
| | |
backup_media Profile Keyword
Note -
You can use backup_media only with the upgrade
option when disk space reallocation is required.
backup_media defines the media that is to be used
to back up file systems if space needs to be reallocated during an upgrade
because of a lack of space. If multiple tapes or diskettes are required for
the backup, you are prompted to insert tapes or diskettes during the upgrade.
|
Valid type Values
|
Valid path Values
|
Specifies
|
|
local_tape
|
/dev/rmt/n
|
A local tape drive on the system being upgraded. path must be the character (raw) device path for the tape drive,
where n is the number of the tape drive.
|
|
local_diskette
|
/dev/rdisketten
|
A local diskette drive on the system being upgraded. path must be the character (raw) device path for the diskette
drive, where n is the number of the diskette drive.
Note -
Diskettes used for the backup must be formatted.
|
|
local_filesystem
|
/dev/dsk/cwtxdysz
/file_system
|
A local
file system on the system being upgraded. You cannot specify a local file
system that is being changed by the upgrade. path
can be a block device path for a disk slice (that is, the tx in /dev/dsk/cwtxdysz might not
be needed) or the absolute path to a file system mounted by the /etc/vfstab file.
|
|
remote_filesystem
|
host:/file_system
|
An NFS file system on a remote system. path must include the name or IP address of the remote system (host) and the absolute path to the NFS file system (file_system). The NFS file system must have read/write access.
|
| remote_system | user@host:/directory |
A directory
on a remote system that can be reached by a remote shell (rsh).
The system being upgraded must have access to the remote system through the
remote system's .rhosts file. path
must include the name of the remote system (host) and the absolute path to
the directory (directory). If a user login ID (user) is not specified, root is used by default.
|
Examples:
backup_media local_tape /dev/rmt/0
backup_media local_diskette /dev/rdiskette1
backup_media local_filesystem /dev/dsk/c0t3d0s4
backup_media local_filesystem /export
backup_media remote_filesystem system1:/export/temp
backup_media remote_system user1@system1:/export/temp
boot_device Profile Keyword
boot_device device eeprom
|
boot_device designates the device where JumpStart
is to install the root (/) file system and consequently
the system's boot device.
If you don't specify the boot_device keyword in a
profile, the following boot_device keyword is specified
by default during the installation: boot_device any update.
device - Choose the boot device.
-
SPARC: cwtxdysz or cxdysz - The disk
slice where JumpStart places the root (/) file system,
for example, c0t0d0s0.
-
IA: cwtxdy or cxdy - The disk where JumpStart places
the root (/) file system, for example, c0d0.
-
existing - JumpStart places the root (/) file system on the system's existing boot device.
-
any - JumpStart chooses where to place
the root (/) file system. It tries to use the system's
existing boot device; however, it might choose a different boot device if
necessary.
eeprom - Choose to update or preserve the
system's EEPROM.
Choose if you want to update or preserve the system's EEPROM
to the specified boot device.
You must specify the preserve value.
-
update - JumpStart updates the system's
EEPROM to the specified boot device, so the installed system automatically
boots from it.
-
preserve - The boot device value in the
system's EEPROM is not changed. If you specify a new boot device without changing
the system's EEPROM, you need to change the system's EEPROM manually so it
can automatically boot from the new boot device.
SPARC only -
On SPARC based systems, the eeprom
value also enables you to update the system's EEPROM if you change the system's
current boot device, so the system can automatically boot from the new boot
device.
Example:
boot_device c0t0d0s2 update
Note -
boot_device must match any filesys keywords that specify the root (/) file system
and the root_device keyword (if specified).
client_arch Profile Keyword
client_arch karch_value ...
|
client_arch specifies that the operating system server
is to support a different platform group than it uses. If you do not specify client_arch in the profile, any diskless client
that uses the operating system server must contain the same platform group
as the server. You must specify each platform group that you want the operating
system server to support.
Valid values for karch_value are: sun4d, sun4m, sun4u, i86pc. (Appendix A, Platform Names and Groups contains a detailed list
of the platform names of various systems.)
Note -
You can use client_arch only when system_type is specified as server.
client_root Profile Keyword
client_root defines the amount of root space (root_size in Mbytes) to allocate for each client. If you do
not specify client_root in a server's profile, the installation
software automatically allocates 15 Mbytes of root space per client by default.
The size of the client root area is used in combination with the num_clients keyword to determine how much space to reserve for the /export/root file system.
Note -
You can use client_root only when system_type is specified as server.
client_swap Profile
Keyword
client_swap defines the amount of swap space (swap_size in Mbytes) to allocate for each diskless client. If
you do not specify client_swap in the profile, 32 Mbytes
of swap space is allocated by default.
Example:
client_swap 64
The previous example specifies that each diskless client is to have
a swap space of 64 Mbytes.
Note -
You can use client_swap only when system_type is specified as server.
cluster Profile Keyword (Adding Software Groups)
cluster designates the software group to add to the
system. The group_name for each software group
is listed in the following table.
|
Software Group
| group_name |
|
Core
| SUNWCreq |
|
End User System Support
| SUNWCuser |
|
Developer System Support
| SUNWCprog |
|
Entire Distribution
| SUNWCall |
|
Entire Distribution
Plus OEM Support
| SUNWCXall |
You can specify only one software group in a profile, and it must be
specified before other cluster and package
entries. If you do not specify a software group with cluster
in the profile, the end user software group (SUNWCuser)
is installed on the system by default.
cluster Profile Keyword (Adding or Deleting Clusters)
cluster cluster_name add_delete_switch
|
Note -
cluster (adding or deleting clusters) can be
used with both the initial installation and upgrade options.
cluster designates whether a cluster is to be added
or deleted from the software group that is to be installed on the system.
cluster_name must be in the form SUNWCname. To view detailed information
about clusters and their names, start Admintool on an installed system and
choose Software from the Browse menu.
add_delete_switch represents the option add or delete, which you use to indicate whether
to add or delete the specified cluster. If you do not specify add_delete_switch, add is used by default.
For an upgrade:
-
All clusters already on the system are automatically upgraded.
-
If you specify cluster_name add, and cluster_name is not installed
on the system, the cluster is installed.
-
If you specify cluster_name delete, and cluster_name is installed
on the system, the package is deleted before the upgrade
begins.
dontuse Profile Keyword
By default, JumpStart uses all the operational disks on the system when partitioning default is specified. dontuse designates
one or more disks that you don't want JumpStart to use. disk_name must be specified in the form cxtydz or cydz, for example, c0t0d0.
Note -
You cannot specify the dontuse keyword and
the usedisk keyword in the same profile.
IA: fdisk Profile Keyword
fdisk disk_name type size
|
fdisk defines how the fdisk partitions
are set up on an IA based system. You can specify fdisk
more than once. This is what happens by default when fdisk
partitions an IA based system:
-
All fdisk partitions on the disk are preserved
unless you specifically delete them with the fdisk keyword
(if size is delete or 0). Also, all existing fdisk partitions are deleted
when size is set to all.
-
A Solaris fdisk partition that contains
a root (/) file system is always designated as the active
partition on the disk.
IA only -
The system boots from the active partition by default.
-
If the fdisk keyword is not specified in
a profile, the following fdisk keyword is used by default
during the installation:
fdisk all solaris maxfree
-
fdisk entries are processed in the order
in which they are listed in the profile.
disk_name - Choose where the fdisk partition is to be created or deleted:
-
cxtydz or cydz - A specific disk, for example, c0t3d0.
-
rootdisk - The variable that contains the
value of the system's root disk, which is determined by JumpStart (described
in "How the System's Root Disk Is Determined").
-
all - All the selected disks.
type - Choose what type of fdisk partition is to be created or deleted on the specified disk:
-
solaris - A Solaris fdisk
partition (SUNIXOS fdisk type).
-
dosprimary - An alias for primary DOS fdisk partitions (not for extended or data DOS fdisk
partitions). When deleting fdisk partitions (size is delete), dosprimary
is an alias for the DOSHUGE, DOSOS12, and DOSOS16 fdisk
types (they are all deleted). When creating an fdisk partition, dosprimary is an alias for the DOSHUGE fdisk
partition (a DOSHUGE fdisk partition is created).
-
DDD - An integer fdisk partition. DDD is an integer between
1 and 255 inclusive.
IA only -
You can specify this value only if size is delete.
-
0xHH - A hexadecimal fdisk partition. HH is a hexadecimal
number between 01 and FF.
IA only -
You can specify this value only if size is delete.
The following table shows the integer and hexadecimal numbers for some
of the fdisk types.
|
fdisk
Type
|
DDD
|
HH
|
|
DOSOS12
|
1
|
01
|
|
PCIXOS
|
2
|
02
|
|
DOSOS16
|
4
|
04
|
|
EXTDOS
|
5
|
05
|
|
DOSHUGE
|
6
|
06
|
|
DOSDATA
|
86
|
56
|
|
OTHEROS
|
98
|
62
|
|
UNIXOS
|
99
|
63
|
size - Is one of the following values:
-
DDD - An fdisk
partition of size DDD (in Mbytes) is created on
the specified disk. DDD must be an integer, and
JumpStart automatically rounds the number up to the nearest cylinder boundary.
If 0 is specified, it is the same as specifying delete.
-
all - An fdisk partition
is created on the entire disk (all existing fdisk partitions
are deleted).
IA only -
This value can be specified only if type is solaris.
-
maxfree - An fdisk partition
is created in the largest contiguous free space on the specified disk. If
an fdisk partition of the specified type
already exists on the disk, the existing fdisk partition
is used (a new fdisk partition is not
created on the disk).
IA only -
There must be at least one unused fdisk
partition on the disk, and the disk must have free space or installation fails.
This value can be specified only if type is solaris or dosprimary.
-
delete - All fdisk partitions
of the specified type are deleted on the specified
disk.
filesys Profile Keyword (Mounting Remote File Systems)
filesys server:path server_address mount_pt_name [[mount_options]]
|
This instance of filesys sets up the installed system
to automatically mount remote file systems when it boots. You can specify filesys more than once.
Example:
filesys sherlock:/export/home/user2 - /home
server: - The name of the server where the
remote file system is located (followed by a colon).
path - The remote file system's mount point
name, /usr or /export/home, for
example.
server_address - The IP address of the server
specified in server:path.
If a name service is not running on the network, this value can be used to
populate the /etc/hosts file with the server's host name
and IP address. If you don't want to specify the server's IP address (if you
have a name service running on the network), you must specify a minus sign
(-).
mount_pt_name - The name of the mount point
on which the remote file system is to be mounted.
mount_options - One or more mount options
(same as the -o option of the mount(1M) command) that are added to
the /etc/vfstab entry for the specified mount_pt_name.
Note -
If you need to specify more than one mount option, the mount options
must be separated by commas and no spaces (ro,quota, for
example).
filesys Profile Keyword (Creating Local File Systems)
filesys slice size [[file_system optional_parameters]]
|
This instance of filesys creates local file systems
during the installation. You can specify filesys more than
once.
slice - Choose one of the following options:
-
any - JumpStart places the file system
on any disk.
Note -
You cannot specify any when size
is existing, all, free, start:size, or ignore.
-
cwtxdysz or cxdysz - The disk
slice where JumpStart places the file system (c0t0d0s0
or c0d0s0, for example).
-
rootdisk.sn
- The variable that contains the value for the system's root disk, which is
determined by JumpStart (described in "How the System's Root Disk Is Determined").
The sn suffix indicates a specific
slice on the disk.
size - Choose one of the following options:
-
num - The size of the file system
is set to num (in Mbytes).
-
existing - The current size of the existing
file system is used.
Note -
When using this value, you can change the name of an existing
slice by specifying file_system as a different mount_pt_name.
-
auto - The size of the file system is automatically
determined and depends on the selected software.
-
all - The specified slice uses the entire disk for the file system. When you specify
this value, no other file systems can be placed on the specified disk.
-
free - The remaining unused space on the
disk is used for the file system.
Note -
If free is used as the value to filesys, it must be the last filesys entry in a profile.
-
start:size
- The file system is explicitly partitioned: start
is the cylinder where the slice begins; size is
the number of cylinders for the slice.
file_system - You can use this optional value
when slice is specified as any
or cwtxdysz. If file_system
is not specified, unnamed is set by default, but then you
can't specify the optional_parameters value. Choose
one of the following options:
-
mount_pt_name - The file system's
mount point name, /var, for example.
-
swap - The specified slice is used as swap.
-
overlap - The specified slice is defined as a representation of a disk region (VTOC value
is V_BACKUP). By default, slice 2 is an overlap slice that is a representation
of the whole disk.
Note -
You can specify overlap only when size is existing, all,
or start:size.
-
unnamed - The specified slice is defined as a raw slice, so slice
does not have a mount point name. If you do not specify file_system, unnamed is used by default.
-
ignore - The specified slice is not used or recognized by JumpStart. You can use this option
to specify you want a file system ignored on a disk during installation, so
JumpStart can create a new file system on the same disk with the same name.
You can use ignore only when partitioning existing is specified.
optional_parameters - Choose one of the following
options:
-
preserve - The file system on the specified slice is preserved.
Note -
preserve can be specified only when size is existing and slice
is cwtxdysz.
-
mount_options - One or more mount
options (same as the -o option of the mount(1M) command) that are added to
the /etc/vfstab entry for the specified mount_pt_name.
Note -
If you need to specify more than one mount option, the mount options
must be separated by commas and no spaces (ro,quota, for
example).
geo locale Profile
Keyword
Note -
You can use geo with both the initial installation
and upgrade options.
geo designates the regional locale or locales you
want to install on a system (or to add when upgrading a system). Values you
can specify for locale are:
|
Value
|
Description
|
|
N_Africa
|
Northern Africa, including Egypt
|
|
C_America
|
Central America, including Costa Rica,
El Salvador, Guatemala, Mexico, Nicaragua, Panama
|
|
N_America
|
North America, including Canada, United
States
|
|
S_America
|
South America, including Argentina,
Bolivia, Brazil, Chile, Colombia, Ecuador, Paraguay, Peru, Uruguay, Venezuela
|
|
Asia
|
Asia, including Japan, Republic of
Korea, People's Republic of China, Taiwan, Thailand
|
|
Ausi
|
Australasia, including Australia, New
Zealand
|
|
C_Europe
|
Central Europe, including Austria,
Czech Republic, Germany, Hungary, Poland, Slovakia, Switzerland
|
|
E_Europe
|
Eastern Europe, including Albania,
Bosnia, Bulgaria, Croatia, Estonia, Latvia, Lithuania, Macedonia, Romania,
Russia, Serbia, Slovenia, Turkey
|
|
N_Europe
|
Northern Europe, including Denmark,
Finland, Iceland, Norway, Sweden
|
|
S_Europe
|
Southern Europe, including Greece,
Italy, Portugal, Spain
|
|
W_Europe
|
Western Europe, including Belgium,
France, Great Britain, Ireland, Netherlands
|
|
M_East
|
Middle East, including Israel
|
A complete list of the component locale values that make up each regional
locale listed above is presented in Appendix B, Locale Values.
Note -
You can specify a geo keyword for each locale
you need to add to a system.
install_type Profile
Keyword
install_type initial_install_upgrade_switch
|
install_type defines whether to erase and install
a new Solaris operating environment on a system or upgrade the existing Solaris
environment on a system.
Note -
You must specify install_type in a profile,
and it must be the first profile keyword in every profile.
initial_install_upgrade_switch represents
the option initial_install or upgrade,
which you use to indicate the type of installation to be performed.
You must specify initial_install_upgrade_switch.
Note -
Some profile keywords can only be used with the initial_install option, and this also applies to the upgrade
option.
isa_bits Profile
Keyword
isa_bits specifies whether 64-bit or 32-bit Solaris 8
packages are to be installed.
bit_switch represents the option 64 or 32, which you use to indicate whether 64-bit
or 32-bit Solaris 8 packages are to be installed. If you do not set
this keyword in the profile, JumpStart installs:
Note -
If you use the isa_bits keyword, you must also
use the latest check script in the Solaris_8/Misc/jumpstart_sample directory on the Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition
CD.
layout_constraint Profile Keyword
layout_constraint slice constraint [[minimum_size]]
|
Note -
You can use layout_constraint only for the
upgrade option when you need to reallocate disk space.
layout_constraint designates the constraint auto-layout
has on a file system if it needs to reallocate space during an upgrade because
of space problems.
If you don't specify the layout_constraint keyword,
the:
-
File systems requiring more space for the upgrade are marked
changeable
-
File systems on the same disk as the file system requiring
more space (mounted by the /etc/vfstab file) are marked
changeable
-
Remaining file systems are marked fixed (auto-layout can't
change them)
If you specify one or more layout_constraint keywords,
the:
-
File systems requiring more space for the upgrade are marked
changeable
-
File systems for which you specified a layout_constraint keyword are marked with the specified constraint
-
Remaining file systems are marked fixed
Even though you can't change the constraint on file systems requiring
more space for the upgrade (they must be marked changeable), you can use layout_constraint on those file systems to change their minimum_size values.
Note -
To help auto-layout reallocate space, select more file systems
to be changeable or moveable, especially those that are located on the same
disks as the file systems that require more space for the upgrade.
slice - This is the file system's disk slice
on which to specify the constraint. You must specify the system's disk slice
in the form cwtxdysz or cxdysz.
constraint - Choose one the following constraints
for the specified file system:
-
changeable - Auto-layout can move the file
system to another location and it can change its size. This constraint can
only be specified on file systems that are mounted by the /etc/vfstab file. You can change the file system's size by specifying the minimum_size value.
When you mark a file system as changeable and minimum_size is not specified, the file system's minimum size is set to
10 percent greater than the minimum size required. For example, if the minimum
size for a file system is 100 Mbytes, the changed size is 110 Mbytes. If minimum_size is specified, any free space left (original size
minus minimum size) is used for other file systems.
-
movable - Auto-layout can move the file
system to another slice (on the same disk or different disk) and its size
stays the same.
-
available - Auto-layout can use all of
the space on the file system to reallocate space. All the data in the file
system is lost. This constraint can only be specified on file systems that
are not mounted by the /etc/vfstab file.
-
collapse - Auto-layout moves (collapses)
the specified file system into its parent file system. You can use this option
to reduce the number of file systems on a system as part of the upgrade. For
example, if a system has the /usr and /usr/openwin file systems, collapsing the /usr/openwin file
system moves it into /usr (its parent). You can specify
this constraint on only file systems that are mounted by the /etc/vfstab file.
minimum_size - This value specifies the size
of the file system after auto-layout reallocates space. This option enables
you to change the size of a file system. The size of the file system may end
up being more if unallocated space is added to it, but the size is never less
than the value you specify. You can use this optional value only if you have
marked a file system as changeable, and the minimum size cannot be less than
what the file system needs for its existing contents.
Examples:
layout_constraint c0t3d0s1 changeable 200
layout_constraint c0d0s4 movable
layout_constraint c0t3d1s3 available
layout_constraint c0t2d0s1 collapse
locale locale_name Profile Keyword
Note -
You can use locale with both the initial installation
and upgrade options.
locale designates the locale packages you want to
install (or to add when upgrading) for the specified locale_name. The locale_name values are the
same as those used for the $LANG environment variable. Appendix B, Locale Values contains a list of valid locale values.
Note -
If you have preconfigured a default locale, it is automatically
installed. The English language packages are installed by default.
Note -
You can specify a locale keyword for each locale
you need to add to a system.
num_clients
Profile Keyword
When a server is installed, space is allocated for each diskless client's
root (/) and swap file systems. num_clients defines the number of diskless clients (client_num) that a server supports. If you do not specify num_clients in the profile, five diskless clients are allocated
by default.
Note -
You can use num_clients only when system_type is specified as server.
package Profile
Keyword
package package_name [[add_delete_switch]]
|
Note -
You can use package with both the initial installation
and upgrade options.
package designates whether a package is to be added
to or deleted from the software group that is to be installed on the system.
You must specify package_name in the form SUNWname. Use the pkginfo -l command or Admintool (choose Software from the Browse menu) on
an installed system to view detailed information about packages and their
names.
add_delete_switch represents the option add or delete, which you use to indicate whether
to add or delete the specified package. If you do not specify add_delete_switch, add is used by default.
For an upgrade:
-
All packages already on the system are automatically upgraded.
-
If you specify package_name add, and package_name is not installed
on the system, the package is installed.
-
If you specify package_name delete, and package_name is installed
on the system, the package is deleted before the upgrade
begins.
-
If you specify package_name delete, and package_name is not installed
on the system, the package is not installed if it is part of a cluster that
is designated to be installed.
partitioning Profile Keyword
partitioning defines how the disks are divided into
slices for file systems during the installation.
type - Choose one of the following options:
-
default - JumpStart selects the disks and
creates the file systems on which to install the specified software, except
for any file systems specified by the filesys keywords. rootdisk is selected first; additional disks are used if the specified
software does not fit on rootdisk.
-
existing - JumpStart uses the existing
file systems on the system's disks. All file systems except /, /usr, /usr/openwin, /opt,
and /var are preserved. JumpStart uses the last mount
point field from the file system superblock to determine which file system
mount point the slice represents.
Note -
When using both the filesys and partitioning
existing profile keywords, you must set size size
to existing.
-
explicit - JumpStart uses the disks and
creates the file systems specified by the filesys keywords.
If you specify only the root (/) file system with the filesys keyword, all the Solaris software is installed in the root
(/) file system.
Note -
If you use the explicit profile value, you
must use the filesys keyword to specify the disks to use
and file systems to create.
If you do not specify partitioning in the profile,
the default type of partitioning is used by default.
root_device Profile Keyword
Note -
You can use root_device with both the initial
installation and upgrade options.
root_device designates the system's root disk. "How the System's Root Disk Is Determined" contains additional information.
For an upgrade:
root_device designates the root (/)
file system and the file systems mounted by its /etc/vfstab
file to be upgraded. You must specify root_device if more
than one root (/) file system can be upgraded on a system.
You must specify slice in the form cwtxdysz or cxdysz.
Example:
root_device c0t0d0s2
Note -
If you specify root_device on a system with
only one disk, the root_device and the disk must match.
Also, any filesys keywords that specify the root (/) file system must match root_device.
system_type Profile Keyword
system_type defines the type of system on which the
Solaris environment is to be installed.
type_switch represents the option standalone or server, which you use to indicate
the type of system on which Solaris is to be installed. If you do not specify system_type in a profile, standalone is used
by default.
usedisk Profile Keyword
By default, JumpStart uses all the operational disks on the system when
you specify partitioning default. The usedisk profile keyword designates one or more disks that you want JumpStart
to use. You must specify disk_name in the form cxtydz or cydz, for example, c0t0d0 or c0d0s0.
If you specify usedisk in a profile, JumpStart uses
only the disks that you specify after the usedisk keyword.
Note -
You cannot specify the usedisk keyword and
the dontuse keyword in the same profile.
How the Size of swap Is Determined
If a profile does not explicitly specify the size of swap, JumpStart determines the size of the swap space based on the
system's physical memory. Table 6-5 shows how the
size of swap is determined during a custom JumpStart
installation.
Table 6-5 How
swap Size Is Determined
|
Physical Memory (in
Mbytes)
|
Swap Space (in
Mbytes)
|
|
16 - 64
|
32
|
|
64 - 128
|
64
|
|
128 - 512
|
128
|
|
Greater than 512
|
256
|
JumpStart makes the size of swap no more than 20
percent of the disk where it is located, unless there is free space left on
the disk after laying out the other file systems. If free space exists, JumpStart
allocates the free space to swap, and if possible, allocates
the amount shown in Table 6-5.
Note -
Physical memory plus swap space must total a minimum of 32 Mbytes.
How the System's Root Disk Is Determined
A system's root disk is the disk on the system
that contains the root (/) file system. In a profile,
you can use the rootdisk variable in place of a disk name,
which JumpStart sets to the system's root disk. Table 6-6
describes how JumpStart determines the system's root disk for the installation.
Note -
This process only applies during an initial installation; you
cannot change a system's root disk during an upgrade.
Table 6-6 How JumpStart Determines a System's Root Disk (Initial Installation)
|
Stage
|
Action
|
|
1
|
If the root_device keyword is specified
in the profile, JumpStart sets rootdisk to the root device.
|
|
2
|
If rootdisk is not set and the boot_device keyword is specified in the profile, JumpStart sets rootdisk to the boot device.
|
|
3
|
If rootdisk is not set and a filesys cwtxdysz size
/ entry is specified in the profile, JumpStart sets rootdisk to the disk specified in the entry.
|
|
4
|
If rootdisk is not set and a rootdisk.sn entry is specified in the
profile, JumpStart searches the system's disks (in kernel probe order) for
an existing root file system on the specified slice. If a disk is found, JumpStart
sets rootdisk to the found disk.
|
|
5
|
If rootdisk is not set and partitioning existing is specified in the profile, JumpStart searches
the system's disks (in kernel probe order) for an existing root file system.
If a root file system is not found or more than one is found, an error occurs.
If a root file system is found, JumpStart sets rootdisk
to the found disk.
|
|
6
|
If rootdisk is not set, JumpStart sets rootdisk to the disk where the root (/) file
system is installed.
|
To Create a Profile
-
Using a text editor of your choice, open a new text file and name it
descriptively, or open a sample profile in the JumpStart directory you created.
Note -
Ensure that the name of the profile reflects how you intend to
use it to install Solaris on a system (for example, basic_install, eng_profile, or user_profile).
-
Add profile keywords and values to the profile.
-
Save the profile in the JumpStart directory.
Ensure that root owns the profile and that its permissions
are set to 644.
-
Test the profile (optional).
"Testing a Profile" contains information about testing
profiles.
Sample Profiles
The following samples of profiles show how to use different profile
keywords and profile values to control how the Solaris software is installed
on a system. "Syntax of Profile Keywords and Values" contains a description of
profile keywords and values.
Note -
Do not insert the numbers shown in the left column. They are footnotes
that appear after the sample.
Mounting Remote File Systems and Adding and Deleting Packages
# profile keywords profile values
# ----------------- -----------------
[This profile keyword is required in every profile.] install_type initial_install
[This profile keyword defines that the system is to be installed as a standalone system.] system_type standalone
[The file system slices are determined by the software to be installed (default value); however, the size of swap is set to 60 Mbytes and is installed on any disk (any value). The standard and OpenWindows man pages are mounted from the file server, s_ref, on the network.] partitioning default
filesys any 60 swap # specify size of /swap
filesys s_ref:/usr/share/man - /usr/share/man ro
filesys s_ref:/usr/openwin/share/man -
/usr/openwin/share/man ro,quota
[The Developer System Support software group (SUNWCprog) is installed on the system.] cluster SUNWCprog
[Because the man pages are being mounted remotely, those packages are not to be installed on the system; however, the packages containing the OPEN LOOK and X Window System demonstration programs and images are selected to be installed on the system.] package SUNWman delete
package SUNWolman delete
package SUNWxwman delete
package SUNWoldem add
package SUNWxwdem add
package SUNWoldim add
package SUNWxwdim add
|
Specifying Where to Install File Systems
# profile keywords profile values
# ---------------- -------------------
install_type initial_install
system_type standalone
[The file system slices are determined by the filesys keywords (explicit value). The size of root (/) is based on the selected software (auto value) and is installed on c0t0d0s0; the size of swap is set to 32 Mbytes and is installed on c0t3d0s1; and usr is based on the selected software, and the installation program determines where it is installed (any value).] partitioning explicit
filesys c0t0d0s0 auto /
filesys c0t3d0s1 32 swap
filesys any auto usr
[The Entire Distribution software group (SUNWCall) is installed on the system. ] cluster SUNWCall
|
IA: Using the fdisk Keyword
# profile keywords profile values
# ---------------- -------------------
install_type initial_install
system_type standalone
[All fdisk partitions of type DOSOS16 (04 hexadecimal) are deleted from the c0t0d0 disk.] fdisk c0t0d0 0x04 delete
[A Solaris fdisk partition is created on the largest contiguous free space on the c0t0d0 disk.] fdisk c0t0d0 solaris maxfree
[The Entire Distribution software group (SUNWCall) is installed on the system.] cluster SUNWCall
[The system accounting utilities (SUNWCacc) are not to be installed on the system.] cluster SUNWCacc delete
|
Reallocating Disk Space for an Upgrade
# profile keywords profile values
# ---------------- -------------------
[This profile upgrades a system by reallocating disk space. In this example, disk space must be reallocated because some file systems on the system did not have enough room for the upgrade.] install_type upgrade
[The root file system on c0t3d0s2 is upgraded.] root_device c0t3d0s2
[A remote system named timber is to be used to back up data during the disk space reallocation.] backup_media remote_filesystem timber:/export/scratch
[The layout_constraint keywords designate that auto-layout can change slice 2 and 4 (the slices can be moved to another location and their size can be changed) and that it can move slice 5 (the slice can be moved to another location but its size stays the same) when it tries to reallocate disk space for the upgrade.] layout_constraint c0t3d0s2 changeable 100
layout_constraint c0t3d0s4 changeable
layout_constraint c0t3d0s5 movable
[The binary compatibility package (SUNWbcp) is not installed on the system after the upgrade.] package SUNWbcp delete
[This code ensures that the OPEN LOOK and X Window System man pages and the universal multiplexor software are to be installed if they are not already installed on the system. (All packages already on the system are automatically upgraded.)] package SUNWolman add
package SUNWxwman add
cluster SUNWCumux add
[The German localization packages are to be installed on the system.] locale de
|
Testing a Profile
After you create a profile, use the pfinstall(1M) command to test the profile before you
actually use it to install or upgrade a system. Testing a profile is especially useful when
you are creating upgrade profiles that reallocate disk space.
By looking at the installation output generated by pfinstall, you can quickly determine if a profile works as you intended.
You can, for example, use the profile to determine if a system has enough
disk space to upgrade to a new release of Solaris before you actually perform
the upgrade on that system.
Ways to Test a Profile
pfinstall enables you to test a profile against:
-
The system's disk configuration where pfinstall
is being run.
-
Other disk configurations by using a disk configuration
file that represents a structure of a disk (for example, a disk's
bytes/sector, flags, slices). Creating disk configuration files is described
in:
Note -
You cannot use a disk configuration file to test a profile you
intend to use to upgrade a system. Instead, you must test the profile against
the system's actual disk configuration and the software currently installed
on that system.
Overview of Testing a Profile
To test a profile for a particular Solaris release successfully and
accurately, you must test a profile within the Solaris environment of the
same release. For example, if you want to test a Solaris 8 initial
installation profile, you have to run the pfinstall command
on a system running Solaris 8.
However, if you want to test a Solaris 8 upgrade profile on a
system running a previous version of Solaris, or if you don't have a Solaris 8
system installed yet to test Solaris 8 initial installation profiles,
you need to create a temporary installation environment by:
-
Booting a system from a Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition CD image
-
Responding to system identification questions
-
Selecting the Solaris 8 Interactive Installation Program as the program to install Solaris 8
-
Exiting out of the first screen that's displayed.
-
Executing the pfinstall command from the
shell.
Syntax of pfinstall
This is the syntax of the pfinstall command you use
to test a profile:
# /usr/sbin/install.d/pfinstall disk_configuration [[-c path]] profile
|
Table 6-7 Description of the
pfinstall Command Arguments
|
Argument
|
Description
|
|
disk_configuration
|
Represents
the option -D or -d disk_config_file, which tells pfinstall to use the current
system's disk configuration to test the profile (-D), or use
the disk configuration file, disk_config_file,
to test the profile.
If disk_config is not located in the directory where pfinstall is run, you must specify the path.
You cannot
use the -d disk_config_file option
with an upgrade profile (install_type upgrade). You must
always test an upgrade profile against a system's disk configuration (that
is, you must use the -D option).
|
|
-c path
|
Is the path
to the Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition CD image. You
use this option, for example, if the system is using Volume Manager to mount
the Solaris 8 Software 1 of 2 CD for your platform.
Note -
This option
is not required if you have booted from a Solaris 8 Software 1 of 2 CD image for
your platform because this CD image is mounted on /cdrom
as part of the booting process.
|
|
profile
|
Is the name of the profile to test.
If profile is not in the directory where pfinstall is being run, you must specify the path.
|
To Test a Profile
-
Locate a system on which to test the profile that is the same type of
platform (SPARC or IA) for which the profile was created.
If you are testing an upgrade profile, you must test it on the actual
system that you intend to upgrade.
-
Use the decision table below to determine what to do next.
|
If you
|
Then
|
|
Need to test an initial
installation profile and have a system running Solaris 8
|
Become superuser on the system and
go to Step 9.
|
|
Need to test an upgrade profile,
or you don't have a system running Solaris 8 to test an initial installation
profile
|
Go to Step 3.
|
-
Boot the system from a Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition
CD image, either from the system's local CD-ROM drive or from an install server.
Chapter 5, Using the Solaris 8 Interactive Installation Program contains additional information about
booting a system.
Note -
If you are testing an upgrade profile, boot the system that you
are going to upgrade.
-
If prompted, respond to the system identification questions.
-
If you are presented with a choice of installation methods, select Solaris
Interactive Installation.
-
Exit from the first screen of the Solaris 8 Interactive Installation Program.
After the Solaris 8 Interactive Installation Program exits, a shell prompt is displayed.
-
Create a temporary mount point:
-
Mount the directory that contains the profile(s) you want to test:
|
If you want to
|
Then type
|
|
Mount a remote NFS file system
(for systems on the network)
|
mount -F nfs server_name:path /tmp/mnt
|
|
|
Mount a UFS-formatted
diskette
|
mount -F ufs /dev/diskette /tmp/mnt
|
|
|
Mount a PCFS-formatted
diskette
|
mount -F pcfs /dev/diskette /tmp/mnt
|
|
-
To test the profile with a specific system memory size, set SYS_MEMSIZE to the specific memory size in Mbytes:
# SYS_MEMSIZE=memory_size
# export SYS_MEMSIZE
|
-
Did you mount a directory in Step 8?
-
If yes, change directory to /tmp/mnt:
-
If no, change directory to where the profile is located, which
is usually the JumpStart directory:
Caution - In the following step, you must include
the -d or -D option (represented by disk_configuration), or pfinstall actually
uses the profile you specify to install Solaris 8 and subsequently
overwrites all the data already on the system.
-
Test the profile with the pfinstall(1M) command:
# /usr/sbin/install.d/pfinstall disk_configuration [[-c path]] profile
|
Example-Testing a Profile
The following example shows how to use pfinstall to test a profile named basic_prof against
the disk configuration on a system on which Solaris 8 is installed.
The basic_prof profile is located in the /jumpstart directory, and the path to the Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition
CD image is specified because Volume Manager is being used.
# cd /jumpstart
# /usr/sbin/install.d/pfinstall -D -c /cdrom/pathname basic_prof
|
The following example shows how to use pfinstall
to test the profile named basic_prof on a Solaris 8
system against the 535_test disk configuration file and
64 Mbytes of system memory. This example uses a Solaris 8 Software 1 of 2 SPARC Platform Edition
or Solaris 8 Software 1 of 2 Intel Platform Edition CD image located in the /export/install directory.
# SYS_MEMSIZE=64
# export SYS_MEMSIZE
# /usr/sbin/install.d/pfinstall -d 535_test -c /export/install basic_prof
|
Validating the rules File
Before you can use a profile and rules file, you
must run the check script to validate that these files
are set up correctly. If all rules and profiles are correctly set up, the rules.ok file is created, which is required by the custom JumpStart
installation software to match a system to a profile.
Table 6-8 describes what the check script does.
Table 6-8 What Happens When You Use
check
|
Stage
|
Description
|
|
1
|
The rules file is checked for syntax.
check makes sure that the rule
keywords are legitimate, and the begin, class, and finish fields are specified
for each rule (the begin and finish fields can consist of a minus sign (-) instead
of a file name).
|
|
2
|
If no errors are found in the rules
file, each profile specified in the rules is checked for syntax.
|
|
3
|
If no errors are found, check creates
the rules.ok file from the rules
file, removes all comments and blank lines, retains all rules, and adds the
following comment line at the end:
# version=2 checksum=num
|
Note -
Ensure that root owns the rules.ok file and that its permissions are set to 644.
Syntax of check
This is the syntax of the check script you use to
test a rules file:
$ ./check [[-p path]] [[-r file_name]]
|
Table 6-9 Description of
check Script Arguments
|
Argument
|
Description
|
|
-p path
|
Validates the rules file by using
the check script from the Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition
CD image, instead of the check script from the system
you are using. path is the image on a local disk
or a mounted Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition CD.
Use this option to run the most recent version of check
if your system is running a previous version of Solaris.
|
|
-r file_name
|
Specifies a rules file other than the
one named rules. Using this option, you can test the
validity of a rule before integrating it into the rules
file.
|
To Validate the rules File
-
Make sure that the check script is located in the
JumpStart directory.
Note -
The check script is in the Solaris_8/Misc/jumpstart_sample directory on the Solaris 8 Software 1 of 2 SPARC Platform Edition, or the Solaris 8 Software 1 of 2 Intel Platform Edition
CD.
-
Change directory to the JumpStart directory.
-
Run the check script to validate the rules file:
$ ./check [[-p path -r file_name]]
|
As the check script runs, it reports the checking
of the validity of the rules file and each profile. If
no errors are encountered, it reports: The custom JumpStart configuration
is ok.
Once you've validated the rules file, you can learn
more about optional custom JumpStart features in Chapter 7, Using Optional Custom JumpStart Features
and about performing custom JumpStart installations in Chapter 10, Performing a Custom JumpStart Installation.