Go to main content

Installing Oracle® Solaris 11.3 Systems

Exit Print View

Updated: April 2019
 
 

Non-Global Zone Configuration and Installation Data

The following files are used to configure and install non-global zones:

config file

Required: The config file is the zone's configuration in file form from the output of the zonecfg export command.

The location of the config file is specified by the source attribute of the configuration element in the AI manifest. AI copies this config file onto the installed AI client to be used to configure the zone.

AI manifest

Optional: This AI manifest for zone installation specifies packages to be installed in the zone, along with publisher information and certificate and key files as necessary. See Non-Global Zone AI Manifest for information about creating a custom AI manifest for a zone.

To provide a custom AI manifest for a zone, add the manifest to the install service that is installing the global zone. In the create-manifest command, specify the zonename criteria keyword with the names of all zones that should use this AI manifest.

If you do not provide a custom AI manifest for a non-global zone, the default AI manifest for zones is used, as shown in Example 87, Default Zone AI Manifest.

System configuration profile

Optional: You can provide zero or more system configuration profiles for a non-global zone. These profiles are similar to the profiles for configuring the global zone. See Defining AI Client System Configuration Parameters for information about system configuration profile files. You might want to provide profiles to specify zone configuration such as users and the root password for the zone administrator. See Non-Global Zone System Configuration Profiles for an example profile for a non-global zone.

To provide system configuration profiles for a zone, add the profiles to the install service that is installing the global zone. In the create-profile command, specify the zonename criteria keyword with the names of all zones that should use this profile.

If you do not provide any system configuration profile files, the system configuration interactive tool runs and queries for required data on first boot of the zone. You would need to manually provide the information as prompted.

The following example adds the /tmp/zmanifest.xml AI manifest to the solaris11_3-sparc install service and specifies that zone1 and zone2 should use this manifest.

# installadm create-manifest -n solaris11_3-sparc -f /tmp/zmanifest.xml \
-m zmanifest -c zonename="zone1 zone2"

The following example adds the /tmp/z1profile.xml profile to the solaris11_3-sparc install service and specifies that zone1 and zone2 should use this profile.

# installadm create-profile -n solaris11_3-sparc -f /tmp/z1profile.xml \
-p z1profile -c zonename="zone1 zone2"

The following example adds the /tmp/z2profile.xml profile to the solaris11_3-sparc install service and specifies that zone2 should use this profile.

# installadm create-profile -n solaris11_3-sparc -f /tmp/z2profile.xml \
-p z2profile -c zonename=zone2

The following example shows the AI manifests and system configuration profiles that have been added to the solaris11_3-sparc install service.

$ installadm list -n solaris11_3-sparc -m -p

Service Name      Manifest Name   Type    Status  Criteria
------------      -------------   ----    ------  --------
solaris11_3-sparc line1-netra2000 xml     active  mac = 00:14:4F:2D:7A:DC
                  zmanifest       xml     active  zonename = zone1,zone2
                  orig_default    derived default none  

Service Name      Profile Name Environment Criteria
------------      ------------ ----------- --------
solaris11_3-sparc z1profile    system      zonename = zone1,zone2
                  z2profile    system      zonename = zone2

Non-Global Zone AI Manifest

This AI manifest for non-global zone installation is similar to the AI manifest for installing the global zone. See the ai_manifest(4) man page for information about AI manifest elements and attributes.

    Do not use the following elements or attributes in a non-global zone AI manifest:

  • The auto_reboot attribute of the ai_instance element

  • The http_proxy attribute of the ai_instance element

  • The disk child element of the target element

  • The noswap attribute of the logical element

  • The nodump attribute of the logical element

  • The configuration element

Only the logical child element of the target element can be used in a non-global zone AI manifest. Only one zpool child element can be specified in the logical element.

In the zpool element, only the filesystem and be child elements can be used in a non-global zone AI manifest.

The only value supported for the type attribute of the software element is IPS, which is the default value.

Example 87  Default Zone AI Manifest

The following file shows the default AI manifest for non-global zones. This manifest is used if you do not provide a custom AI manifest for a zone. This manifest is available at /usr/share/auto_install/manifest/zone_default.xml.

The target section defines a ZFS file system for the zone. The destination section specifies which locales to install. The software_data section specifies installing the solaris-small-server package. The solaris-small-server package is a group package of tools and device drivers that you might want in most non-global zones that you install. For a complete list of packages that are included in the solaris-small-server group package, use the pkg contents command as described in Listing All Installable Packages in a Group Package in Adding and Updating Software in Oracle Solaris 11.3.

Notice that no package source is specified. See pkg.sysrepo(1M) for information about the system repository.

<?xml version="1.0" encoding="UTF-8"?>
<!--

 Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.

-->
<!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd.1">

<auto_install>
    <ai_instance name="zone_default">
        <target>
            <logical>
                <zpool name="rpool">
                    <!--
                      Subsequent <filesystem> entries instruct an installer
                      to create following ZFS datasets:

                          <root_pool>/export         (mounted on /export)
                          <root_pool>/export/home    (mounted on /export/home)

                      Those datasets are part of standard environment
                      and should be always created.

                      In rare cases, if there is a need to deploy a zone
                      without these datasets, either comment out or remove
                      <filesystem> entries. In such scenario, it has to be also
                      assured that in case of non-interactive post-install
                      configuration, creation of initial user account is
                      disabled in related system configuration profile.
                      Otherwise the installed zone would fail to boot.
                    -->
                    <filesystem name="export" mountpoint="/export"/>
                    <filesystem name="export/home"/>
                    <be name="solaris">
                        <options>
                            <option name="compression" value="on"/>
                        </options>
                    </be>
                </zpool>
            </logical>
        </target>

        <software type="IPS">
            <destination>
                <image>
                    <!-- Specify locales to install -->
                    <facet set="false">facet.locale.*</facet>
                    <facet set="true">facet.locale.de</facet>
                    <facet set="true">facet.locale.de_DE</facet>
                    <facet set="true">facet.locale.en</facet>
                    <facet set="true">facet.locale.en_US</facet>
                    <facet set="true">facet.locale.es</facet>
                    <facet set="true">facet.locale.es_ES</facet>
                    <facet set="true">facet.locale.fr</facet>
                    <facet set="true">facet.locale.fr_FR</facet>
                    <facet set="true">facet.locale.it</facet>
                    <facet set="true">facet.locale.it_IT</facet>
                    <facet set="true">facet.locale.ja</facet>
                    <facet set="true">facet.locale.ja_*</facet>
                    <facet set="true">facet.locale.ko</facet>
                    <facet set="true">facet.locale.ko_*</facet> 
                    <facet set="true">facet.locale.pt</facet>
                    <facet set="true">facet.locale.pt_BR</facet>
                    <facet set="true">facet.locale.zh</facet>
                    <facet set="true">facet.locale.zh_CN</facet>
                    <facet set="true">facet.locale.zh_TW</facet>
                </image>
            </destination>
            <software_data action="install">
                <name>pkg:/group/system/solaris-small-server</name>
            </software_data>
        </software>
    </ai_instance>
</auto_install>

Non-Global Zone System Configuration Profiles

You can provide a system configuration profile for a zone to configure zone parameters such as language, locale, time zone, terminal, users, and the root password for the zone administrator. You can configure the time zone, but you cannot set the time. You can configure name services.

If you specify configuration that is not allowed in a zone, those property settings are ignored.

The following file shows a sample system configuration profile file for non-global zones.

<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="profile" name="sysconfig">
  <service version="1" type="service" name="system/config-user">
    <instance enabled="true" name="default">
      <property_group type="application" name="root_account">
        <propval type="astring" name="login" value="root"/>
        <propval type="astring" name="password" value="encrypted_password"/>
        <propval type="astring" name="type" value="normal"/>
      </property_group>
    </instance>
  </service>
  <service version="1" type="service" name="system/timezone">
    <instance enabled="true" name="default">
      <property_group type="application" name="timezone">
        <propval type="astring" name="localtime" value="UTC"/>
      </property_group>
    </instance>
  </service>
  <service version="1" type="service" name="system/environment">
    <instance enabled="true" name="init">
      <property_group type="application" name="environment">
        <propval type="astring" name="LC_ALL" value="C"/>
      </property_group>
    </instance>
  </service>
  <service version="1" type="service" name="system/identity">
    <instance enabled="true" name="node">
      <property_group type="application" name="config">
        <propval type="astring" name="nodename" value="z2-test"/>
      </property_group>
    </instance>
  </service>
  <service version="1" type="service" name="system/keymap">
    <instance enabled="true" name="default">
      <property_group type="system" name="keymap">
        <propval type="astring" name="layout" value="US-English"/>
      </property_group>
    </instance>
  </service>
  <service version="1" type="service" name="system/console-login">
    <instance enabled="true" name="default">
      <property_group type="application" name="ttymon">
        <propval type="astring" name="terminal_type" value="vt100"/>
      </property_group>
    </instance>
  </service>
  <service version="1" type="service" name="network/physical">
    <instance enabled="true" name="default">
      <property_group type="application" name="netcfg"/>
    </instance>
  </service>
</service_bundle>