Solaris Advanced Installation Guide

Creating a Profile

What Is a Profile?

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 will be installed 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.

A profile consists of one or more profile keywords and their values. Each profile keyword is a command that controls one aspect of how the Solaris installation program will install the Solaris software on a system. For example, the profile keyword and value

system_type  server

tells the Solaris installation program to install the system as a server.


Note -

If you created the JumpStart directory by using the procedures in "Creating a Profile Diskette " or "Creating a Profile Server", example profiles should already be in the JumpStart directory.


Important Information about Creating Profiles

A profile must have:

A profile allows:

How to Create a Profile

  1. Open a new text file (with a descriptive name) using the editor of your choice.

    You can create a new profile or edit one of the sample profiles in the JumpStart directory you created.

    The name of a profile should reflect how it will install the Solaris software on a system (for example, basic_install, eng_profile, or user_profile).

  2. Add profile keywords and profile values to the profile.

    Refer to the following information as you edit the profile:

  3. Save the profile into the JumpStart directory.

    A profile should be owned by root and have permissions equal to 644.

  4. Test the profile (optional).

    See "Testing a Profile" for detailed information.

Where to Go Next

This completes the procedure to create a profile. After you've created all your profiles, go to "Validating the rules File".

Profile Examples

The following profile examples describe how you can use different profile keywords and profile values to control how the Solaris software is installed on a system. See "Profile Keyword and Profile Value Descriptions" for the list of profile keywords and profile values.

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 will 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 software group (SUNWCprog) is installed on the system.]  cluster                 SUNWCprog
 [Because the man pages are being mounted remotely, those packages are selected not to be installed on the system; however, the packages containing the OPEN LOOK and X Window System demo 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

x86: 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 selected 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 will 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 5 (the slices can be moved to another location and their size can be changed) and 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) will not be installed on the system after the upgrade.] 	package                  SUNWbcp delete
 [This code ensures that the OpenLook and X Windows man pages and the universal multiplexor software are selected to be installed if they are not 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 selected to be installed on the system.] 	locale                   de

Profile Keyword and Profile Value Descriptions

The following sections describe the profile keywords and profile values that you can use in a profile. Profile keywords and their values are case sensitive.

Table 8-3 provides a quick way to determine which keywords you can use based on your installation scenario. Unless otherwise noted in the profile keyword descriptions, the profile keyword can only be used with the initial installation option.

Table 8-3 Profile Keyword Overview
 

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

  

filesys (mounting remote filesystems)

 

  

filesys (creating local filesystems)

  

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 -

backup_media must be used only with the upgrade option when disk space reallocation is required.


backup_media defines the media that will be used to back up file systems if space needs to be reallocated during an upgrade because of space problems. If multiple tapes or diskettes are required for the backup, you will be prompted to insert tapes or diskettes during the upgrade.

Valid type Values

Valid path Values

Description 

local_tape

/dev/rmt/n

Specifies 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

Specifies 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

Specifies 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 (tx may not be needed) or the absolute path to a file system mounted by the /etc/vfstab file.

remote_filesystem

host:/file_system

Specifies 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

Specifies 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 (user) is not specified, the login will be tried as root.

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 the installation program will install the root file system and consequently what the system's boot device will be. 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 (SPARC systems only).

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 what the boot device will be.

eeprom - Choose if you want to update the system's EEPROM to the specified boot device (SPARC-based systems only). For x86 based systems, you must always specify the preserve value.

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[karch_value...]

client_arch defines that the OS server will support a different platform group than it uses. If you do not specify client_arch, any diskless client or Solstice AutoClient system that uses the OS server must have the same platform group as the server. You must specify each platform group that you want the OS server to support.

Valid values for karch_value are: sun4d, sun4c, sun4m, sun4u, i86pc. (See Appendix C, Platform Names and Groups for a detailed list of the platform names of various systems.)


Note -

client_arch can be used 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 will automatically allocate 15 Mbytes of root space per client. 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 -

client_root can be used 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, 32 Mbytes of swap space is allocated.

Example:


client_swap 64

The example defines that each diskless client will have a swap space of 64 Mbytes.


Note -

client_swap can be used only when system_type is specified as server.


cluster Profile Keyword (Adding Software Groups)

cluster group_name

cluster designates what software group to add to the system. The cluster names for the software groups are:

Software Group 

group_name

Core 

SUNWCreq

End user system support 

SUNWCuser

Developer system support 

SUNWCprog

Entire distribution 

SUNWCall

Entire distribution plus OEM support (SPARC-based systems only) 

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, 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]

Note -

cluster (adding or deleting clusters) can be used with both the initial installation and upgrade options.


cluster designates whether a cluster should be added or deleted from the software group that will be installed on the system. add or delete indicates whether the cluster should be added or deleted. If you do not specify add or delete, add is set by default.

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.

For Upgrade:

dontuse Profile Keyword

dontuse disk_name [disk_name...]

dontuse designates one or more disks that you don't want the Solaris installation program to use when partitioning default is specified (by default, the installation program uses all the operational disks on the system). 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.


fdisk Profile Keyword

fdisk disk_name  type  size

fdisk defines how the fdisk partitions are set up on an x86-based system, and you can specify fdisk more than once. This is what happens by default with fdisk partitions on x86 --based systems:

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

type - Choose what type of fdisk partition will 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 - Choose one of the following:

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 resides (followed by a colon).

path - The remote file system's mount point name, for example, /usr or /export/home.

server_address - The IP address of the server specified in server:path. If you don't have a name service 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 that the remote file system will be mounted on.

mount_options - One or more mount options (-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. For example: ro,quota


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:

size - Choose one of the following:

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:

optional_parameters - Choose one of the following:

install_type Profile Keyword

install_type initial_install | upgrade

install_type defines whether to perform the initial installation option or upgrade option on the system.


Note -

install_type must be the first profile keyword in every profile.



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 64 | 32

isa_bits determines whether 64-bit or 32-bit Solaris packages are installed. Valid values are 64 and 32. If you do not set this keyword, the installation program installs the default packages. The default for UltraSPARC systems is 64-bit packages. For all other systems, the default is 32-bit packages.


Note -

isa_bits is a new keyword. If you use it, you must also use the latest check script in the Solaris_2.7/Misc/jumpstart_sample directory on the Solaris CD.


layout_constraint Profile Keyword

layout_constraint slice constraint [minimum_size]

Note -

layout constraint can be used only for the upgrade option when disk space reallocation is required.


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 reside 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. It must be specified in the form cwtxdysz or cxdysz.

constraint - Choose one the following constraints for the specified file system.

Examples:


layout_constraint c0t3d0s1 changeable 200

layout_constraint c0d0s4 movable

layout_constraint c0t3d1s3 availiable

layout_constraint c0t2d0s1 collapse

locale locale_name Profile Keyword

locale locale_name

Note -

locale can be used with both the initial installation and upgrade options.


locale designates which locale packages should be installed (or added for upgrade) for the specified locale_name. The locale_name values are the same used for the $LANG environment variable. See Appendix E, Locale Values for 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 will support. If you do not specify num_clients, five diskless clients are allocated.


Note -

num_clients can be used only when system_type is specified as server.


package Profile Keyword

package package_name [add | delete]

Note -

package can be used with both the initial installation and upgrade options.


package designates whether a package should be added to or deleted from the software group that will be installed on the system. add or delete indicates whether the package should be added or deleted. If you do not specify add | delete, add is set by default.

package_name must be 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.

For Upgrade:

partitioning Profile Keyword

partitioning default | existing | explicit

partitioning defines how the disks are divided into slices for file systems during the installation. If you do not specify partitioning, default is set.

default - The Solaris installation program selects the disks and creates the file systems on which to install the specified software, except for any file systems specified by the filesys keyword. rootdisk is selected first; additional disks are used if the specified software does not fit on rootdisk.

existing - The Solaris installation program uses the existing file systems on the system's disks. All file systems except /, /usr, /usr/openwin, /opt, and /var are preserved. The installation program uses the last mount point field from the file system superblock to determine which file system mount point the slice represents.


Note -

When specifying the filesys profile keyword with partitioning existing, size must be existing.


explicit - The Solaris installation program 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 will be installed in the root file system.


Note -

When you use the explicit profile value, you must use the filesys profile keyword to specify which disks to use and what file systems to create.


root_device Profile Keyword

root_device slice

Note -

root_device can be used with both the initial installation and upgrade options.


root_device designates the system's root disk. See "How the System's Root Disk Is Determined" for more information.

For 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. slice must be specified 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 standalone | server

system_type defines the type of system being installed. If you do not specify system_type in a profile, standalone is set by default.

usedisk Profile Keyword

usedisk disk_name [disk_name...]

usedisk designates one or more disks that you want the Solaris installation program to use when partitioning default is specified (by default, the installation program uses all the operational disks on the system). disk_name must be specified in the form cxtydz or cydz, for example, c0t0d0.

If you specify the usedisk profile keyword in a profile, the Solaris installation program will only use the disks that you specify with the usedisk profile 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, the Solaris installation program determines the size of the swap space, based on the system's physical memory. Table 8-4 shows how the size of swap is determined during a custom JumpStart installation.

Table 8-4 How the Size of Swap Is Determined

Physical Memory (in Mbytes) 

Swap Space (in Mbytes) 

16 - 64 

32 

64 - 128 

64 

128 - 512 

128 

Greater than 512 

256 

The Solaris installation program makes the size of swap no more than 20% of the disk where it resides, unless there is free space left on the disk after laying out the other file systems. If free space exists, the Solaris installation program allocates the free space to swap, and if possible allocates the amount shown in Table 8-4.


Note -

Physical memory plus swap space must be 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 the Solaris installation program sets to the system's root disk. Table 8-5 describes how the installation program determines the system's root disk for the installation. This only applies during an initial installation; a system's root disk cannot change during an upgrade.

Table 8-5 How the Installation Program Determines the System's Root Disk (Initial Installation Only)

Stage 

Action 

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

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

If rootdisk is not set and a filesys cwtxdysz size / entry is specified in the profile, the installation program sets rootdisk to the disk specified in the entry.

If rootdisk is not set and a rootdisk.sn entry is specified in the profile, the installation program searches the system's disks (in kernel probe order) for an existing root file system on the specified slice. If a disk is found, the installation program sets rootdisk to the found disk.

If rootdisk is not set and partitioning existing is specified in the profile, the installation program 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, the installation program sets rootdisk to the found disk.

If rootdisk is not set, the installation program sets rootdisk to the disk where the root file system will be installed.