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$