Skip Navigation Links | |
Exit Print View | |
Oracle Solaris 11 Express Automated Installer Guide Oracle Solaris 11 Express 11/10 |
1. Automated Installer Overview
2. Setting Up an AI Install Server
4. Specifying Installation Instructions
Defining a Target for the Installation
Deterministic Target Disk Specifications
Nondeterministic Target Disk Specifications
Configuring Partitioning on an x86 Client
Specifying a Partition as the Installation Target for an x86 Client
Modifying Partitions on an x86 Install Client
Specifying a Slice as the Installation Target
Specifying a Source of Packages to Install
Specifying an HTTP Proxy to Reach an IPS Repository
Specifying Packages to Install
Identify and Install Missing Drivers on an Install Target
5. Configuring the Client System
8. Automated Installations That Boot From Media
A. Troubleshooting Automated Installations
If you do not specify a target location on a client for installing the Oracle Solaris OS, AI selects a default target.
The default target location for the installation is the first disk found on each client that meets the size requirement. See Client System Requirements. If the size of a disk is greater than or equal to the recommended size, the installer selects that disk as the installation target. If the size of the disk is less than the recommended size, the installer checks the next disk. If no disk is found that meets the size requirement, the automated installation fails for that client. The install log at /tmp/install_log will contain details of the disk selection process.
If you want to specify the target location on a client for installing the Oracle Solaris OS, follow the instructions in this section.
Use the <target> tag to define a target for the installation on each client. The <target> tag encloses the <target_device> tag. The <target_device> tag has the following elements:
<disk> – Optional. Use this element to define a target disk, partition, or slice for the installation for every client that uses this AI manifest. Each AI manifest can specify only one <target><target_device><disk> section. If you specify a partition or slice, that specification must occur inside a disk specification. A disk can be specified by a name, a set of properties to describe the disk, a keyword, or an iSCSI device. The specified disk is the root device.
A slice within a disk can be designated to be the root slice. If no slice is specified, then the root slice is 0 and AI installs the Oracle Solaris OS on slice 0.
For an x86 system, if the disk is partitioned, then the install target must be a Solaris partition. Only one Solaris partition can exist on a disk. You can use an existing Solaris partition or create a new Solaris partition.
AI uses both deterministic and nondeterministic methods to specify an installation target disk.
Deterministic Target Disk Specifications – Deterministic specification includes, for example, the disk name or device ID. Specify the keyword boot_disk to install on the boot disk. If you specify the target by using any of the deterministic specifiers, or by using the boot_disk keyword, then you cannot use any other target specifier since the target is already determined.
Nondeterministic Target Disk Specifications – Nondeterministic specification includes, for example, device type, device vendor, or disk size. You can use more than one nondeterministic specifier in one AI manifest.
You can specify a partition or slice on a disk to be the target of the automated installation. You can also use AI to configure disk partitions and slices that are not the target for the automated installation. See Configuring Partitioning on an x86 Client and Configuring Slices on a Disk.
<swap> and <dump> – Optional. You can use AI to configure swap and dump during the automated install. See Configuring Swap and Dump on the Install Device.
Each specification described in this section determines the one particular target on which to install the system. If you use any specification described in this section, then you cannot use any other target specification.
Tag elements in this section enable you to specify a device name, a volume name, a device ID, a device path, an iSCSI device, or the boot disk.
Note - Logical device names (c#t#d#) can change across OS releases.
Example 4-2 Specifying a Target Device Name
Use a name_type of ctd to specify a device name. This is the default if name_type is not specified.
The following example specifies a logical device name.
<target> <target_device> <disk> <disk_name name="c1t0d0" name_type="ctd"/> </disk> </target_device> </target>
The following example specifies an MPXIO name.
<target> <target_device> <disk> <disk_name name="c0t2000002037CD9F72d0" name_type="ctd"/> </disk> </target_device> </target>
Example 4-3 Specifying a Target Volume Name
Use a name_type of volid to specify a volume name.
<target> <target_device> <disk> <disk_name name="ai-disk" name_type="volid"/> </disk> </target_device> </target>
This volume name might have been set by using the format(1M) command, as shown in the following example.
$ format -d c0d0 > /dev/null 2>/dev/null - <<EOF volname "ai-disk" y quit EOF
Example 4-4 Specifying a Target Device ID
Use a name_type of devid to specify a device ID.
<target> <target_device> <disk> <disk_name name="id1,sd@n500000e012596560" name_type="devid"/> </disk> </target_device> </target>
To get the device ID associated with a device name of the form c#t#d#, you can use the iostat(1M) command with the -iEn options, for example.
$ iostat -iEn c7t0d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 Model: ST31000340NS Revision: Device Id: id1,sd@n500000e012596560 ...
The iostat command does not report the device ID for LDOM guests. For LDOM guests, use the target discovery test driver as shown in the following example. This test driver is available from the system/install/tests IPS package and also is on the AI image. Boot the AI image to run this command on a client that does not have access to IPS packages.
# /opt/install-test/bin/tdmgtst -dv | grep ddm_disk_dev_id ddm_disk_dev_id=id1,vdc@f8498536e4a8ad037000bcb400001
Device ID target specification does not work in xVM/PV because the device ID is not available for virtual drives.
Example 4-5 Specifying a Target Device Path
Use a name_type of devpath to specify a device path under /devices.
<target> <target_device> <disk> <disk_name name="/pci@0/pci@9/pci@0/scsi@1/sd@0,0" name_type="devpath"/> </disk> </target_device> </target>
The physical path is the path that the related c#t#d#s# symbolic link is linked to under devices, as shown in the following example.
$ ls -l /dev/dsk/c2t0d0s0 /dev/dsk/c2t0d0s0 -> ../../devices/pci@7c0/pci@0/pci@1/pci@0/ide@8/sd@0,0:a
Example 4-6 Specifying an iSCSI Target
iSCSI technology enables you to install to a disk drive hosted by another computer on the same TCP/IP network.
To specify an iSCSI target as the install target, you must first create an iSCSI boot target. Use the iscsiadm(1M) command to create an iSCSI boot target and to get the name and IP values for the iscsi tag in the AI manifest.
To specify an iSCSI target for automated installations, specify an iSCSI target name and an IP address as shown in the following example. The target name can be an IQN, EUI, or NAA name. The name value can be a maximum of 233 characters.
<target> <target_device> <disk> <iscsi name="c0d2E0001010F68"> <ip>192.168.1.34</ip> </iscsi> </disk> </target_device> </target>
Example 4-7 Specifying the Boot Disk as Target
The <disk_keyword> tag accepts boot_disk as a keyword. This keyword specifies the current boot disk as the installation target.
<target> <target_device> <disk> <disk_keyword key="boot_disk"/> </disk> </target_device> </target>
Note the following limitations to the boot_disk keyword.
The boot_disk keyword does not work in xVM/PV, because information about the boot disk is not available in that environment.
On some x86 systems, the BIOS does not report the boot disk correctly.
For SPARC clients, if the diag-switch? OBP property is set to true, information about the boot disk is not available. To use the boot_disk keyword for SPARC clients, make sure diag-switch? is set to false.
# eeprom diag-switch?=false
You can use more than one nondeterministic specifier in one AI manifest, as shown in the following example.
<target> <target_device> <disk> <disk_prop dev_vendor="hitachi" dev_size="20gb"/> </disk> </target_device> </target>
Use the <disk_prop> tag to specify a target type, a vendor name, or a target size.
dev_type – The type of the target disk. Possible values include SCSI, ATA, and USB. This value is not case sensitive.
dev_vendor – The manufacturer of the disk drive. Possible values include Sun, Hitachi, EMC, Seagate, Fujitsu. This value is not case sensitive.
dev_size – The size of the target device. This size value must have a units suffix.
Valid units suffixes include the following:
sectors, secs, sec, s, SECTORS, SECS, SEC, or S
MB, megabytes, megabyte, mb, m, MEGABYTES, MEGABYTE, M
GB, gigabytes, gigabyte, gb, g, GIGABYTES, GIGABYTE, G
TB, terabytes, terabyte, tb, t, TERABYTES, TERABYTE, T
The following examples show two different methods to determine the vendor of a disk. Note that these searches cannot identify the vendor for ATA disks.
Use the iostat(1M) command:
# iostat -En c2t1d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 Vendor: HITACHI Product: HUS10733ASUN72G Revision: PA05 Serial No: 0602RW159S
Use the target discovery test driver that is available in the AI image:
# /opt/install-test/bin/test_td -dv Disk discovery Total number of disks: 2 ------------------------------------------------------------------------------- num | name| vendor| ctype| mtype| rem| lbl| bsize|#of blocks|size [MB]| ------------------------------------------------------------------------------- 1 |* c2t0d0| SEAGATE| scsi| FIXED| No| V| 512| 71132959| 34732| 2 | c2t1d0| HITACHI| scsi| FIXED| No| V| 512| 143374738| 70007| -------------------------------------------------------------------------------
You can use the AI manifest to configure partitions on a disk during the automated installation. You can specify a partition as the install target, and you can delete existing partitions, change the size or type of an existing partition, and create new partitions.
Note - Partition operations are meaningful only for x86 clients.
Use the <partition> tag to configure partitioning of a disk. The <partition> tag must occur inside a <disk> tag. The <partition> tag has the following attributes:
action – Optional. The action attribute has the following values:
create – Create a new partition. This is the default if action is not specified.
delete – Delete the named partition.
use_existing – Use the existing Solaris partition as the install target. If a Solaris partition exists, that partition is the install target by default. If you specify use_existing, and no Solaris partition exists, then the automated installation fails for that client. Only one use_existing action can be specified in an AI manifest.
name – Required if the action is create or delete. The name attribute denotes the unique partition identification number in the partition table. For primary partitions, name can be 1, 2, 3, or 4. Only one primary partition can be an extended partition (partition type DOSEXT). For logical partitions, name can be an integer from 5 through 36.
When the action is create, then AI creates the partition with the specified name during automated installation. When the action is delete, then AI deletes the partition with the specified name during automated installation.
Note - Partitioning changes made during automated installation occur in the order in which the delete and create actions are listed in the AI manifest.
part_type – Optional. The part_type attribute denotes the type of the partition to be created or deleted. The default value is 191 (Solaris partition) if part_type is not specified. Valid values of part_type are SOLARIS (191), UNIXOS (99), DOSEXT, DOS16, DOSEXTLBA, and FAT32.
When you create a partition, you can optionally specify the size of the new partition. If only one partition is specified, and the size value is not specified, then the following algorithms are used to calculate the size of the new partition. If more than one partition is specified, then the size value can be omitted for no more than one of the partition specifications.
For extended or primary partitions, the default size is the remaining free space on the disk.
For a logical partition in an extended partition, the default size is the largest block of free space in the extended partition for the logical partition.
The <size> tag has the following attributes.
The start_sector attribute is the sector number where the partition should start.
The val attribute is the size of the partition. This size value must have a units suffix. See the list of units suffixes in the description of the dev_size disk property in Nondeterministic Target Disk Specifications.
On an x86 client, the installation target can be a disk partition. If the disk is partitioned, then the install target must be a Solaris partition. Only one Solaris partition can exist on a disk. You can use an existing Solaris partition or create a new Solaris partition.
If a partition exists that is partition type SOLARIS or 191, that partition is the install target by default. If no Solaris partition exists, and the installation instructions do not create a Solaris partition, then AI creates a Solaris partition with the remaining disk space. If this space is less than the space required for an AI install, the installation fails for that client.
Example 4-8 Specifying an Existing Solaris Partition as Install Target
In this example, the install target is an existing Solaris partition. The install target is the first disk found that contains a Solaris partition (partition type SOLARIS or 191). If no existing Solaris partition is found on a particular client, then automated installation fails for that client.
<target> <target_device> <disk> <partition action="use_existing"/> </disk> </target_device> </target>
Example 4-9 Specifying a New Partition as Install Target
This example does not specify any action. The default action is create. This example creates two new primary partitions.
<target> <target_device> <disk> <partition name="1" part_type="191"> <size start_sector="200" val="20gb"/> </partition> <partition name="4" part_type="99"> <size start_sector="2000" val="20gb"/> </partition> </disk> </target_device> </target>
In addition to specifying a partition as the install target, you can also delete existing partitions and create new partitions during the automated installation. You can create an extended partition, or create logical partitions in a new or existing extended partition.
Note - Partitioning changes made during automated installation occur in the order in which the delete and create actions are listed in the AI manifest.
Example 4-10 Deleting an Existing Partition
You can delete existing partitions during client installation. Specify the delete action in the <partition> tag and specify the partition number to delete in the name attribute.
<target> <target_device> <disk> <partition action="delete" name="3"/> </disk> </target_device> </target>
Example 4-11 Creating an Extended Partition
You can create an extended partition in an fdisk partition table as part of your automated installation. An extended partition is a primary partition (1, 2, 3, or 4) that is partition type DOSEXT. Only one primary partition can be an extended partition. An extended partition provides space for one or more logical partitions. Multiple logical partitions can be created in an extended partition.
This example creates a new extended partition of maximum size.
<target> <target_device> <disk> <partition name="3" part_type="DOSEXT"/> </disk> </target_device> </target>
Example 4-12 Creating a Logical Partition
This example creates a new logical partition, of the type SOLARIS, within the existing extended partition, using any available free space in the extended partition.
If there are no other logical partitions, the entire extended partition is used for the logical partition. If there is more than one logical partition, the total space for all logical partitions in an extended partition cannot exceed the total space in the extended partition. If no space is available for the logical partition because another logical partition is already using all the space, this partition creation fails.
<target> <target_device> <disk> <partition name="7" part_type="SOLARIS"/> </disk> </target_device> </target>
Example 4-13 Creating an Extended Partition that Contains Logical Partitions
This example creates an extended partition that contains two new logical partitions. This example accomplishes the following tasks.
Creates an extended partition using the largest region of free space available on the disk.
Creates a FAT32 logical partition in the extended partition, using the first contiguous 10 Gbytes of the available space.
Creates a Solaris logical partition using the largest remaining unused space.
<target> <target_device> <disk> <!-- Create an extended partition in the largest block of free space --> <partition name="4" part_type="DOSEXT"/> <!-- Create a 10G FAT32 logical partition on the extended partition. This partition consumes the 1st 10G of the extended partition. --> <partition name="5" part_type="FAT32"> <size val="10gb"/> </partition> <!-- Create a Solaris logical partition using the largest unused free space in the extended partition. In this example, the partition uses the remaining space in the extended partition. --> <partition name="6" part_type="SOLARIS"/> </disk> </target_device> </target>
You can use the AI manifest to configure slices on a disk during the automated installation. You can specify a slice as the install target, and you can delete existing slices, preserve existing slices, and create new slices.
Slices are similar to partitions. The differences between slices and partitions are the following:
A slice can be designated as the root slice.
Slices can be overwritten.
Slices do not have a use_existing action.
Slices have a preserve action that enables you to specify slices to preserve during installation.
Use the <slice> tag to configure slices on a disk. The <slice> tag must occur inside a <disk> tag. The <slice> tag has the following attributes:
action – Optional. The action attribute has the following values:
create – Create a new slice. This is the default if action is not specified.
delete – Delete the named slice.
preserve – Preserve the data on the named slice during installation.
name – Required. The name attribute denotes the unique slice identification number in the VTOC table. The valid values of name are 0, 1, 3, 4, 5, 6, and 7. Specifying slice 2 is not allowed, since slice 2 represents the whole disk. If no slice is specified, then the root slice is 0 and AI installs the Oracle Solaris OS on slice 0.
is_root – Optional. The is_root attribute can be applied to at most one slice. The slice with the is_root attribute is included in the root pool. The default value of the is_root attribute is false.
force – Optional. The force attribute enables overwriting a slice. Creating a slice that already exists is an error if you do not set force to true. If you create a slice that already exists and you specify force="true", then the newly created slice overwrites the existing slice. The default value of the force attribute is false.
When you create a slice, you can optionally specify the size of the slice. If only one slice is specified, and the size value is not specified, then the slice is the whole size of the disk. If more than one slice is specified, then the size value can be omitted for no more than one of the slice specifications. Specify the slice size in the val attribute of the slice <size> tag. This size value must have a units suffix. See the list of units suffixes in the description of the dev_size disk property in Nondeterministic Target Disk Specifications.
The installation target can be a slice on a disk.
Example 4-14 Specifying a New Slice as Install Target
This example creates two new slices. The Oracle Solaris OS will be installed on slice 0. Slice 0 already existed and will be overwritten with the new specification.
<target> <target_device> <disk> <slice name="0" is_root="true" force="true"> <size val="20gb"/> </slice> <slice name="4"> <size val="20gb"/> </slice> </disk> </target_device> </target>
In addition to specifying a slice as the install target, you can also create, delete, and preserve other slices during the automated installation.
Example 4-15 Preserving a Slice
Specify the preserve action in the <slice> tag to specify that this slice should not be touched during installation. The following example shows how to preserve slice 4.
<target> <target_device> <disk> <slice name="0" is_root="true"> <size val="20gb"/> </slice> <slice action="preserve" name="4"/> </disk> </target_device> </target>
Example 4-16 Deleting a Slice
Specify the delete action in the <slice> tag to delete this slice during installation. The following example shows how to delete slice 4.
<target> <target_device> <disk> <slice name="0" is_root="true"> <size val="20gb"/> </slice> <slice action="delete" name="4"/> </disk> </target_device> </target>
You can use the AI manifest to configure swap and dump during the automated install.
Use the <swap> tag to configure swap on the install device. Use the <dump> tag to configure dump on the install device.
The <swap> tag has an optional no_swap attribute. The value of the no_swap attribute can be true or false. The default value is false. If no_swap="true" is specified, swap is not configured on the install device.
The <dump> tag has an optional no_dump attribute. The no_dump attribute works in the same way for dump configuration as the no_swap attribute works for swap configuration.
The <swap> and <dump> tags use the zvol tag. The zvol tag has the following attributes:
action – Optional. The default action is create, to configure new swap or dump.
name – Required.
To specify the size of the swap or dump, use the size tag inside the zvol tag. The val attribute of the size tag must have a units suffix. See the list of units suffixes in the description of the dev_size disk property in Nondeterministic Target Disk Specifications.
Example 4-17 Configure Swap on the Install Device
<target> <target_device> <swap> <zvol action="create" name="swap"> <size val="20gb"/> </zvol> </swap> </target_device> </target>
Example 4-18 Unconfigure Swap on the Install Device
<target> <target_device> <swap no_swap"true"/> </target_device> </target>
Example 4-19 Configure Dump on the Install Device
<target> <target_device> <dump> <zvol action="create" name="dump"> <size val="2gb"/> </zvol> </dump> </target_device </target>