You can use an Automated Installation (AI) manifest or sysconfig profile when you need to install multiple kernel zones with specific resource and package configurations that are different from those in the global zone.
Use the zoneadm install command with the –m option to specify an alternate AI manifest:
global$ zoneadm -z zonename install -m manifest
Use the –c option to specify a sysconfig profile:
global$ zoneadm -z zonename install -c sysconfig-profile
For example, to use the AI manifest /data/archives/kzone-manifest.xml to install the kernel zone kzone1:
global$ zoneadm -z kzone1 install -m /data/archives/kzone-manifest.xml
Observe the following guidelines when installing an alternate AI manifest or sysconfig profile to a kernel zone:
For a successful installation, the AI manifest and sysconfig files must include the full path and .xml suffix.
You cannot apply custom disk references in an AI manifest to a kernel zone installation. Because a kernel zone root disk is not available to the global zone, the kernel zone installation script automatically assigns a labeled loopback file, or lofi, device during configuration to allow for root disk creation. You can configure a removable loopback file lofi device, which works as a CD-ROM device, on the kernel zone. See Managing Removable Devices on the Kernel Zone.
For additional information about developing and customizing an AI manifest, see Chapter 9, Assigning Customizations to AI Clients in Installing Oracle Solaris 11.3 Systems. See Zone Installation and Administration Concepts in Creating and Using Oracle Solaris Zones for further information about zone root disk creation.
If you use an AI manifest to install a different version of Oracle Solaris than the one that is installed in the global zone, you must perform the installation from an image for the version of Oracle Solaris you are installing. See Installing a Kernel Zone from an Installation Image for an example.
This example shows an installation of the kernel zone kzone1 using the non-default Automated Install (AI) manifest /var/tmp/kz_manifest.xml.
global$ zoneadm -z kzone1 install -m /var/tmp/kz_manifest.xml
Progress being logged to /var/log/zones/zoneadm.20146T195713Z.kzone1.install
pkg cache: Using /var/pkg/publisher.
Install Log: /system/volatile/install.10708/install_log
AI Manifest: /tmp/zoneadm10343.5la4Vu/devel-ai-manifest.xml
SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
Installation: Starting ...
Creating IPS image
Startup: Retrieving catalog 'solaris' ... Done
Startup: Caching catalogs ... Done
Startup: Refreshing catalog 'solaris' ... Done
Installing packages from:
solaris
origin: http://pkg.oracle.com/solaris/release/
Startup: Linked image publisher check ... Startup: Refreshing catalog 'solaris' ... Done
Planning: Solver setup ... Done
Planning: Running solver ... Done
Planning: Finding local manifests ... Done
Planning: Fetching manifests: 0/501 0% complete
Planning: Fetching manifests: 501/501 100% complete
Planning: Package planning ... Done
Planning: Merging actions ... Done
Planning: Checking for conflicting actions ... Done
Planning: Consolidating action changes ... Done
Planning: Evaluating mediators ... Done
Planning: Planning completed in 32.07 seconds
The following licenses have been accepted and not displayed.
Please review the licenses for the following packages post-install:
consolidation/osnet/osnet-incorporation
Package licenses may be viewed using the command:
pkg info --license <pkg_fmri>
Download: 0/64687 items 0.0/569.3MB 0% complete
Download: 931/64687 items 5.8/569.3MB 1% complete (1.2M/s)
...
Download: 64589/64687 items 569.2/569.3MB 99% complete (825k/s)
Download: Completed 569.25 MB in 358.54 seconds (1.6M/s)
Actions: 1/88614 actions (Installing new actions)
Actions: 19471/88614 actions (Installing new actions)
...
Actions: 86994/88614 actions (Installing new actions)
Actions: 87128/88614 actions (Installing new actions)
Actions: Completed 88614 actions in 73.71 seconds.
Installation: Succeeded
Done: Installation completed in 342.508 seconds.
Log saved in non-global zone as /zones/kzone1/root/var/log/zones/zoneadm.20146T195713Z.kzone1.install
global$
Example 25 Installing a Kernel Zone Using an Automated Installer (AI) Manifest for a
Unified Archive (UAR) with Non-Root Pool
If a UAR contains datasets in a non-root pool and the AI manifest does not account for the non-root pool, you might see the following error:
ERROR: Archive contains non-root data, please use [-m manifest]
The following sample AI manifest is for installing from a UAR located at the path /Extpool/Archive/Clone-T4.uar. This archive was created on a system that has a non-root zpool named tank.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd.1">
<auto_install>
<ai_instance name="default">
<target name="origin">
<disk in_zpool="rpool" in_vdev="rpool-none" whole_disk="true">
<disk_name name="c1d0" name_type="ctd"/>
</disk>
<disk in_zpool="tank" in_vdev="tank-none" whole_disk="true">
<disk_name name="c1d1" name_type="ctd"/>
</disk>
<logical noswap="false" nodump="false">
<zpool name="rpool" action="create" is_root="true"
mountpoint="/rpool">
<vdev name="rpool-none" redundancy="none"/>
</zpool>
<zpool name="tank" action="create" is_root="false"
mountpoint="/tank">
<vdev name="tank-none" redundancy="none"/>
</zpool>
</logical>
</target>
<software type="ARCHIVE">
<source>
<file uri="file:///Extpool/Archive/Clone-T4.uar"/>
</source>
<software_data action="install">
<name>*</name>
</software_data>
</software>
</ai_instance>
</auto_install>
If the manifest file is stored in /tmp/ai.xml and storage devices with IDs 0 and 1 exist in the kzone1 zone configuration, you can use the following command to install in the kernel zone kzone1:
global$ zoneadm -z kzone1 install -m /tmp/ai.xmlExample 26 Installing a Kernel Zone by Using an Alternate sysconfig Profile
This example installs the kernel zone kzone1 using the sysconfig profile /var/tmp/kzone1-sysconfig.xml.
global$ zoneadm -z kzone1 install -c /var/tmp/kzone1-sysconfig.xml
The following ZFS file system(s) have been created:
rpool/zones/kzone1
Progress being logged to /var/log/zones/zoneadm.20146T195713Z.kzone1.install
pkg cache: Using /var/pkg/publisher.
AI Manifest: /tmp/zoneadm124827.zQWoOh/devel-ai-manifest.xml
SC Profile: /var/tmp/kzone1-sysconfig.xml
Installation: Starting ...
Creating IPS image
Startup: Retrieving catalog 'nightly' ... Done
Startup: Caching catalogs ... Done
Startup: Refreshing catalog 'nightly' ... Done
Startup: Refreshing catalog 'solaris' ... Done
Startup: Refreshing catalog 'extra' ... Done
Startup: Caching catalogs ... Done
Installing packages from:
nightly
origin: file:///server/nightly
solaris
origin: file:///server/solaris
extra
origin: http://server/extra
Startup: Refreshing catalog 'nightly' ... Done
Startup: Refreshing catalog 'solaris' ... Done
Startup: Refreshing catalog 'extra' ... Done
Planning: Solver setup ... Done
Planning: Running solver ... Done
Planning: Finding local manifests ... Done
...
Planning: Fetching manifests: 552/552 100% complete
Planning: Package planning ... Done
Planning: Merging actions ... Done
Planning: Checking for conflicting actions ... Done
Planning: Consolidating action changes ... Done
Planning: Evaluating mediators ... Done
Planning: Planning completed in 56.62 seconds
...
Download: 9746/65597 items 143.6/661.7MB 21% complete
Download: 35018/65597 items 370.8/661.7MB 56% complete
Download: 62181/65597 items 654.5/661.7MB 98% complete
Download: Completed 661.67 MB in 40.57 seconds (0B/s)
...
Actions: 87940/89672 actions (Installing new actions)
Actions: 88107/89672 actions (Installing new actions)
Actions: 88745/89672 actions (Installing new actions)
Actions: Completed 89672 actions in 108.50 seconds.
Done
Installation: Succeeded
Done: Installation completed in 342.508 seconds.
Log saved in non-global zone as /zones/kzone1/root/var/log/zones/zoneadm.20146T195713Z.kzone1.install
global$