Solaris 8 Advanced Installation Guide

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:

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

Graphic

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

Graphic

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).

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

Graphic

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.


  1. Log in as superuser on the server on which you want to create the JumpStart directory.

  2. 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:


    mkdir -m 755 /jumpstart
  3. 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
    
  4. Type shareall and press Return or Enter.

  5. 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: 


    cd /export/install

  6. 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
  7. 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:

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.

  1. On the install or boot server, log in as superuser.

  2. Using a text editor of your choice, open /etc/bootparams.

  3. 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 - 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.


  1. Log in as superuser on a SPARC based system to which a diskette drive is attached.

  2. Insert a blank diskette (or one that can be overwritten) into the diskette drive.

  3. Mount the diskette:


    # volcheck
    
  4. 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 - Caution -

    Formatting erases all data on the diskette.


  5. Format the diskette:


    # fdformat -U
    
  6. Create a UFS on the diskette:


    # newfs /vol/dev/aliases/floppy0
    
  7. 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: 


    cd /export/install

  8. 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
  9. Update the example JumpStart files on the profile diskette so they work in your environment.

  10. Eject the diskette:


    # eject floppy
    

    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.


  1. Log in as superuser on an IA based system to which a diskette drive is attached.

  2. 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.

  3. Mount the diskette:


    # volcheck
    
  4. 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
  5. Eject the diskette by clicking Eject Disk in the File Manager window or by typing eject floppy on the command line.

  6. On the Removable Media Manager dialog box, click OK.

  7. Manually eject the diskette labeled Solaris 8 Device Configuration Assistant Intel Platform Edition.

  8. Insert a blank diskette (or one that can be overwritten) into the diskette drive.

  9. Mount the diskette:


    # volcheck
    

    Caution - Caution -

    Formatting erases all data on the diskette.


  10. Format the diskette:


    # fdformat -d -U
    
  11. 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.

  12. 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: 


    cd /export/install

  13. 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
  14. Update the example JumpStart files on the profile diskette so they work in your environment.

  15. Eject the diskette by clicking Eject Disk in the File Manager window or by typing eject floppy on the command line.

  16. On the Removable Media Manager dialog box, click OK.

  17. 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:

Syntax of a Rule

A rule must contain at least a:

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:

  • SPARC: sparc

  • IA: i386

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:

disksize c0t3d0 250-300

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:

memsize 16-32

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:

network 193.144.2.8

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:

osname Solaris_7

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:

probe disks

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:

totaldisk 300-500

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

  1. 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.

  2. Add a rule in the rules file for each group of systems on which you want to install Solaris using custom JumpStart.

  3. 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:

system_type  server

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

    

boot_device

  

client_arch

  

  

client_root

  

  

client_swap

  

  

cluster (adding software groups)

  

cluster (adding/deleting clusters)

dontuse

  

fdisk (IA only)

  

filesys (mounting remote file systems)

 

  

filesys (creating local file systems)

  

geo

install_type

isa_bits

layout_constraint

    

locale

num_clients

  

  

package

partitioning

 

 

root_device

system_type

 

 

usedisk

  

backup_media Profile Keyword

backup_media type path

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_systemuser@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.

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.


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 root_size

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 swap_size

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 group_name

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:

dontuse Profile Keyword

dontuse disk_name ...

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:

disk_name - Choose where the fdisk partition is to be created or deleted:

type - Choose what type of fdisk partition is to be created or deleted on the specified disk:

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:

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:

size - Choose one of the following options:

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:

optional_parameters - Choose one of the following options:

geo locale Profile Keyword

geo locale

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 bit_switch

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:

If you specify one or more layout_constraint keywords, the:

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:

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

locale locale_name

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

num_clients client_num

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:

partitioning Profile Keyword

partitioning type

partitioning defines how the disks are divided into slices for file systems during the installation.

type - Choose one of the following options:

If you do not specify partitioning in the profile, the default type of partitioning is used by default.

root_device Profile Keyword

root_device slice

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 type_switch

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

usedisk disk_name ...

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 

If the root_device keyword is specified in the profile, JumpStart sets rootdisk to the root device.

If rootdisk is not set and the boot_device keyword is specified in the profile, JumpStart sets rootdisk to the boot device.

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.

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.

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.

If rootdisk is not set, JumpStart sets rootdisk to the disk where the root (/) file system is installed.

To Create a Profile

  1. 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).


  2. Add profile keywords and values to the profile.

  3. Save the profile in the JumpStart directory.

    Ensure that root owns the profile and that its permissions are set to 644.

  4. 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:

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:

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

  1. 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.

  2. 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.

  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.


  4. If prompted, respond to the system identification questions.

  5. If you are presented with a choice of installation methods, select Solaris Interactive Installation.

  6. 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.

  7. Create a temporary mount point:


    # mkdir /tmp/mnt
    
  8. 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
    

  9. 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
    

  10. Did you mount a directory in Step 8?

    • If yes, change directory to /tmp/mnt:


      # cd /tmp/mnt
      

    • If no, change directory to where the profile is located, which is usually the JumpStart directory:


      # cd jumpstart_dir_path
      


    Caution - 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.


  11. 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 

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).

If no errors are found in the rules file, each profile specified in the rules is checked for syntax.

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

  1. 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.


  2. Change directory to the JumpStart directory.

  3. 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.