JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris 11 Express Automated Installer Guide     Oracle Solaris 11 Express 11/10
search filter icon
search icon

Document Information

Preface

1.  Automated Installer Overview

2.  Setting Up an AI Install Server

3.  Customizing Installations

4.  Specifying Installation Instructions

AI Manifest Tags

Creating a Custom AI Manifest

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

Configuring Slices on a Disk

Specifying a Slice as the Installation Target

Modifying Slices on the Install Client

Configuring Swap and Dump on the Install Device

Installing Software

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

Annotated AI Manifest

5.  Configuring the Client System

6.  Setting Up DHCP for AI

7.  Installing Client Systems

8.  Automated Installations That Boot From Media

A.  Troubleshooting Automated Installations

B.  Automated Installer Installation Administration Commands

C.  Migrating From JumpStart to Automated Installer

Defining a Target for the Installation

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:

Deterministic Target Disk Specifications

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.

Nondeterministic Target Disk Specifications

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.

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

Configuring Partitioning on an x86 Client

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:

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.

The <size> tag has the following attributes.

Specifying a Partition as the Installation Target for an x86 Client

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>
Modifying Partitions on an x86 Install Client

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.

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

Configuring Slices on a Disk

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:

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:

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.

Specifying a Slice as the Installation Target

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>
Modifying Slices on the Install Client

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>

Configuring Swap and Dump on the Install Device

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:

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>