Go to main content

Transitioning From Oracle® Solaris 10 JumpStart to Oracle Solaris 11.3 Automated Installer

Exit Print View

Updated: April 2020
 
 

Using js2ai to Convert JumpStart rules File and Profiles to AI Criteria and Manifests

Use the js2ai command with the –r option to convert both JumpStart rules and their associated profiles to AI criteria and manifests. Initially, use the –S option to skip validation. This command performs a conversion operation on the rules file and the profiles referenced by the rules file.

Each profile referenced in the rules file is processed against the AI client provisioning manifest, /usr/share/auto_install/manifest/default.xml. This step creates a directory named AI_profile-name for each profile specified in the JumpStart rules file. The AI_profile-name directory contains an AI criteria file in the form criteria-rule-number.xml that corresponds to the rule that referenced this profile. The AI_profile-name directory also contains AI manifest files in the form profile-name.arch.xml that correspond to the profile-name file.

When you receive a message that the conversion completed successfully, run the js2ai command without the –S option to validate the output AI manifests. Validation errors must be corrected in the AI manifest files.

    If you do not see a message that the conversion was successfully completed, examine the error report and the js2ai.log file. The error report and the log file provide warnings, process errors, unsupported items, conversion errors, and validation errors. The error report is a table output to stdout that shows the number of each type of error that was encountered in converting the rules file and profiles. The log file describes the problems.

  1. Correct any process errors.

  2. Remove any lines from the rules file and profiles that are listed as unsupported items.

  3. Examine the conversion errors and correct the errors if possible. Otherwise, remove the lines that are causing the errors.

  4. Examine any warning messages and make sure no corrections are necessary.

How js2ai Converts JumpStart Device Specifications

This section describes how js2ai determines some target elements for the AI manifest from the JumpStart profile specifications.

How the System's Root Disk Is Determined

Because js2ai does not have access to the client system profile references during the profile translation process, js2ai attempts to determine the root disk during translation using a process that matches JumpStart as much as possible.

    The js2ai command performs the following steps to determine what device to use for the root disk:

  1. If the root_device keyword is specified in the profile, js2ai sets rootdisk to the device on which the slice resides.

  2. If rootdisk is not set and the boot_device keyword is specified in the profile, js2ai sets rootdisk to the boot device.

  3. If rootdisk is not set, partitioning default is specified, and a solaris fdisk entry is encountered, js2ai sets rootdisk to the specified disk name.

  4. If rootdisk is not set and a filesys cwtxdysz size / entry is specified in the profile, js2ai sets rootdisk to the cwtxdysz disk specified in the entry.

  5. If rootdisk is not set and a usedisk disk-name entry is specified in the profile, js2ai sets rootdisk to the disk-name disk specified in the entry.

  6. If rootdisk is not set and the following specification is encountered in the profile where size is not 0 or delete and disk-name is not all, then rootdisk is set to this disk name.

    fdisk disk-name solaris size
  7. If rootdisk is not set, any occurrence where the device is specified as rootdisk generates a conversion error.

How the any Keyword Is Translated

    The js2ai command performs the following steps to determine what device to use when the any keyword is specified:

  1. If the device is specified with the any keyword and the keyword action specified (non-mirrored pool, or filesys with a / mount point), the device is set to rootdisk if rootdisk is set.

  2. If the device has not been translated and a usedisk statement exists in the profile, the device specified with the any keyword is set to the device specified by the usedisk statement.

  3. If the device has not been translated and the action where the any keyword is specified causes the ZFS root pool to be created, AI chooses the device unless a mirrored pool is specified.

How the ZFS Root Pool Is Determined

    The js2ai command performs the following steps to determine which device to use for the ZFS root pool. Once the ZFS root pool is determined, subsequent definitions encountered are flagged as errors if they conflict with the ZFS root pool that has already been determined.

  1. If the profile specifies the pool keyword, js2ai sets the ZFS root pool to the devices specified by the pool keyword.

  2. If the ZFS root pool has not been determined and the profile specifies a file system with a mount point of /, the ZFS root pool is created using the devices specified.

  3. If the ZFS root pool has not been determined, all keywords in the profile have been processed, and rootdisk is set, the ZFS root pool is created using the rootdisk device.

  4. If the ZFS root pool has not been determined and the partition type is default, AI chooses the device to use for the ZFS root pool.

  5. If the ZFS root pool has not been determined and no errors have occurred during processing, AI chooses the device to use for the ZFS root pool.

  6. If the ZFS root pool is not a mirrored pool and one or more usedisk devices that were specified have not been used for a rootdisk or any device translation, those disks are added to the ZFS root pool.

Converting Software Packages

JumpStart profiles use the cluster and package keywords to install software on the system. The cluster keyword is not supported by AI. Because in IPS the syntax to install an incorporation or group package is the same as the syntax to install any other package, if you simply change cluster to package in the JumpStart profile, the js2ai command creates the correct package installation specification in the AI manifest.


Tip  -  Verify the package names in the AI manifests. If a package specified for installation in an AI manifest is not available from any publisher origin specified in that AI manifest, then that client installation fails.

IPS package names are different from SVR4 package names. For example, the SVR4 package SUNWpampkcs11 is renamed to library/security/pam/module/pam-pkcs11 in IPS.

If an SVR4 package name exists in IPS, you can install the IPS package by using the SVR4 name. For example, if an AI manifest specifies installation of the SUNWpampkcs11 package, the library/security/pam/module/pam-pkcs11 package is automatically installed. In these cases, the package has been renamed.

If an SVR4 package name does not exist in IPS, you must change the package name or delete that specification from the AI manifest. For example, the SUNWCall and SUNWCuser packages have not been renamed in IPS. If the AI manifest specifies those packages, the installation fails.

Use the pkg list command on an Oracle Solaris 11 system to determine whether a particular package name can be used in your AI manifest. Be sure to use the –g option to list packages from an IPS package repository origin that is specified in the AI manifest.

The js2ai command uses the /usr/share/auto_install/manifest/default.xml AI manifest as a base to build a new AI manifest that includes specifications from the JumpStart profile. This default AI manifest specifies installation of two packages that install the base operating system: entire and solaris-large-server. In addition to those two packages, you probably need to specify only the installation of additional tools and applications.

Example 1  Determining Whether a Package Name Can Be Used

In this example, the AI manifest specifies the http://pkg.oracle.com/solaris/release repository origin.

$ pkg list -af -g http://pkg.oracle.com/solaris/release SUNWCall SUNWCuser
pkg list: no packages matching 'SUNWCuser, SUNWCall' known

This message confirms that these two packages cannot be used in this AI manifest.

Example 2  Working With a Renamed Package

You can use the pkg list command to identify packages that have been renamed.

$ pkg list -af -g http://pkg.oracle.com/solaris/release SUNWpampkcs11
NAME (PUBLISHER)                                        VERSION              IFO
SUNWpampkcs11                                           0.6.0-0.133          --r

The “r” in the last column indicates that this package is renamed. You can use this name in the AI manifest but you might want to use the pkg info command to determine the new name of the package.

See the “Renamed to” line in the following output. The SUNWpampkcs11 package has been renamed to library/security/pam/module/pam-pkcs11. You might want to specify library/security/pam/module/pam-pkcs11 in your AI manifest for greater compatibility with future Oracle Solaris updates.

$ pkg info -r SUNWpampkcs11
          Name: SUNWpampkcs11
       Summary: 
         State: Not installed (Renamed)
    Renamed to: library/security/pam/module/pam-pkcs11@0.6.0-0.133
                consolidation/sfw/sfw-incorporation
     Publisher: solaris
       Version: 0.6.0
 Build Release: 5.11
        Branch: 0.133
Packaging Date: Wed Oct 27 18:50:11 2010
          Size: 0.00 B
          FMRI: pkg://solaris/SUNWpampkcs11@0.6.0,5.11-0.133:20101027T185011Z
$ pkg info -r pam-pkcs11
          Name: library/security/pam/module/pam-pkcs11
       Summary: The OpenSC PKCS#11 PAM Login Tools
      Category: System/Security
         State: Not installed
     Publisher: solaris
       Version: 0.6.0
 Build Release: 5.11
        Branch: 0.175.2.0.0.27.0
Packaging Date: Mon Nov 11 17:47:35 2013
          Size: 1.74 MB
          FMRI: pkg://solaris/library/security/pam/module/pam-pkcs11@0...
        
Example 3  Working With an Obsolete Package

This example shows how you would replace SUNWmysql with database/mysql-51 in your AI manifest.

$ pkg list -af -g http://pkg.oracle.com/solaris/release SUNWmysql
NAME (PUBLISHER)                                        VERSION              IFO
SUNWmysql                                               4.0.24-0.142         --o

The “o” in the last column indicates that this package is obsolete. This package name cannot be used in an AI manifest. Use the pkg list command with wildcards or the pkg search command to determine whether the package is available under a different name that can be used.

$ pkg list -af SUNWmysql*
NAME (PUBLISHER)                                        VERSION              IFO
SUNWmysql                                               4.0.24-0.142         --o
SUNWmysql-base                                          0.5.11-0.133         --r
SUNWmysql-python                                        0.5.11-0.162         --o
SUNWmysql-python26                                      0.5.11-0.133         --r
SUNWmysql5                                              5.0.86-0.171         --o
SUNWmysql5                                              5.0.86-0.133         --r
SUNWmysql51                                             5.1.37-0.133         --r
SUNWmysql51lib                                          5.1.37-0.133         --r
SUNWmysql51test                                         5.1.37-0.133         --r
SUNWmysql5jdbc                                          5.1.5-0.171          --o
SUNWmysql5jdbc                                          5.1.5-0.133          --r
SUNWmysql5test                                          5.0.86-0.171         --o
SUNWmysql5test                                          5.0.86-0.133         --r
SUNWmysqlt                                              4.0.24-0.142         --o
$ pkg info -r SUNWmysql51
          Name: SUNWmysql51
       Summary: 
         State: Not installed (Renamed)
    Renamed to: database/mysql-51@5.1.37-0.133
                consolidation/sfw/sfw-incorporation
     Publisher: solaris
       Version: 5.1.37
 Build Release: 5.11
        Branch: 0.133
Packaging Date: Wed Oct 27 18:49:18 2010
          Size: 0.00 B
          FMRI: pkg://solaris/SUNWmysql51@5.1.37,5.11-0.133:20101027T184918Z

rules File and Profiles Conversion Using js2ai

This section shows using a single js2ai command to convert a JumpStart rules file and all the profiles referenced by that rules file. By default, each converted profile is output to a directory named AI_profile-filename. The rule to select that profile is output to that same directory as an AI criteria file.

Sample JumpStart rules File and Profiles

The examples in this section use the following rules file:

# The following rule matches only one system:

hostname sample_host    - fdisk.profile         -

# The following rule matches only one system:

hostaddress 10.6.68.127 - mirrorfilesys.profile -

# The following rule matches any system that is on the 924.222.43.0 network:

network 924.222.43.0    - rootdisk.profile      -

# The following rule matches all x86 systems:

arch i386               - mirrorpool.profile    -

The fdisk.profile file has the following content:

install_type initial_install
system_type server
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /
cluster SUNWCall

The mirrorfilesys.profile file has the following content:

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /
cluster SUNWCuser

The mirrorpool.profile file has the following content:

install_type initial_install
partitioning default
pool newpool auto auto auto mirror any any
cluster SUNWCuser

The rootdisk.profile file has the following content:

install_type initial_install
partitioning explicit
filesys rootdisk.s0 15000 /
filesys rootdisk.s1 1000 swap
cluster SUNWCall

Using js2ai to Process a rules File With Associated Profiles

Use the following command to process the rules file. In the error report, validation errors are shown as a hyphen character because validation was not done. Validation is suppressed by the –S option.

# js2ai -rS
                                Process  Unsupported  Conversion  Validation
Name                  Warnings  Errors   Items        Errors      Errors
-------------------   --------  -------  -----------  ----------  ----------
rules                        0        0            1           0           -
fdisk.profile                0        0            2           0           -
mirrorfilesys.profile        0        0            2           0           -
mirrorpool.profile           0        0            1           1           -
rootdisk.profile             0        0            1           2           -

Conversion completed. One or more failures and/or warnings occurred.
For errors see js2ai.log
# cat js2ai.log
rules:line 3:UNSUPPORTED: unsupported keyword: hostname
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
mirrorpool.profile:line 3:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' 
with actual device name
mirrorpool.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

Output is stored in directories named AI_profile-filename. AI criteria files created from the JumpStart rules are named for the position of the rule in the rules file. AI manifests are named profile-filename.arch.xml, where arch is generic, x86, or sparc.

# ls AI_*
AI_fdisk.profile:
fdisk.profile.x86.xml

AI_mirrorfilesys.profile:
criteria-2.xml      mirrorfilesys.profile.generic.xml

AI_mirrorpool.profile:
criteria-2.xml      mirrorpool.profile.generic.xml

AI_rootdisk.profile:
criteria-3.xml      rootdisk.profile.generic.xml

Replacing the hostname Keyword

The log file reports that the JumpStart rule keyword hostname is not supported as an AI criteria keyword for selecting an AI manifest. The hostname keyword specifies which clients should use the fdisk.profile profile. Because hostname is not a supported keyword for selecting AI manifests, the new AI_fdisk.profile directory does not contain an AI criteria file.

You could fix this problem by changing hostname to hostaddress in the rules file.

You could also fix this problem by creating an AI criteria file that specifies a MAC address or IP address to identify the hostname system. For example, the following criteria file is equivalent to the JumpStart rule hostname sample_host if 0:14:4F:20:53:97 is the MAC address of sample_host:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="mac">
    <value>0:14:4F:20:53:97</value>
  </ai_criteria>
</ai_criteria_manifest>

To find the MAC address of a system, use the dladm command as described in the dladm(1M) man page.

For the JumpStart rule hostaddress 10.6.68.127, the js2ai command automatically created the AI criteria file AI_mirrorfilesys.profile/criteria-2.xml, replacing the JumpStart hostaddress keyword with the AI ipv4 keyword:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <value>
      10.6.68.127
    </value>
  </ai_criteria>
</ai_criteria_manifest>

For the JumpStart rule network 924.222.43.0, the js2ai command automatically created the AI criteria file AI_rootdisk.profile/criteria-3.xml, specifying a range of IP addresses based on the given network address:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <range>
      924.222.43.0 924.222.43.255
    </range>
  </ai_criteria>
</ai_criteria_manifest>

For the JumpStart rule arch i386, the js2ai command automatically created the AI criteria file AI_mirrorpool.profile/criteria-4.xml, replacing the JumpStart arch keyword with the AI cpu keyword:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="cpu">
    <value>
      i386
    </value>
  </ai_criteria>
</ai_criteria_manifest>

Fixing AI Manifest Files

The js2ai command often creates an AI manifest for each JumpStart profile even though errors are reported. This section describes how to address some common errors so that the output AI manifests are more complete.

Example 4  Fixing fdisk.profile Errors

The js2ai command showed the following errors for the fdisk.profile JumpStart profile:

fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster

These two lines are ignored and do not affect the output AI manifest. You could delete these two lines if you want the conversion to avoid the error messages. The fdisk.profile file would then have the following content:

install_type initial_install
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /

Use the –p option of the js2ai command to process just this profile.

# js2ai -p fdisk.profile
Successfully completed conversion

The output AI manifest, AI_fdisk.profile/fdisk.profile.x86.xml, has the following content in the target stanza:

<target>
  <disk whole_disk="true">
    <disk_name name="c1t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice name="1" action="create" force="true" is_swap="true">
        <size val="5000mb"/>
      </slice>
      <slice name="0" action="create" force="true" in_zpool="rpool" in_vdev="rpool_vdev">
        <size val="10000mb"/>
      </slice>
     </partition>
  </disk>
  <logical noswap="false" nodump="true" >
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home"/>
      <be name="solaris"/>
    </zpool>
  </logical>
</target>

The software stanza is the same as in /usr/share/auto_install/manifest/default.xml because this profile does not contain any package specifications.

Example 5  Fixing mirrorfilesys.profile Errors

The js2ai command showed the following errors for the mirrorfilesys.profile JumpStart profile:

mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster

In a JumpStart profile, you can omit the file-system parameter in the filesys mirror specification. In a js2ai conversion, you cannot omit the file-system parameter, which must have one of the following two values: / or swap.

Edit the mirrorfilesys.profile file to add “/” at the end of the filesys specification and to delete the cluster line. The mirrorfilesys.profile file then has the following content:

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /

Save the AI_mirrorfilesys.profile/criteria-2.xml file in another location. Then, use the –p option of the js2ai command to process just this profile.

# js2ai -p mirrorfilesys.profile
Successfully completed conversion

The AI_mirrorfilesys.profile directory contains two output AI manifests: mirrorfilesys.profile.sparc.xml and mirrorfilesys.profile.x86.xml. The only difference between these two AI manifests is that mirrorfilesys.profile.x86.xml contains two partition specifications. The mirrorfilesys.profile.x86.xml manifest has the following content in the target stanza:

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="false" >
    <zpool name="newpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

The software stanza is the same as in /usr/share/auto_install/manifest/default.xml because this profile does not contain any package specifications.

Example 6  Fixing mirrorpool.profile Errors

The js2ai command showed the following errors for the mirrorpool.profile JumpStart profile:

mirrorpool.profile:line 4:CONVERSION: unable to convert 'any' device to physical device.
Replace 'any' with actual device name
mirrorpool.profile:line 8:UNSUPPORTED: unsupported keyword: cluster

    Use either of the following two methods to fix these errors. Both of these fixes result in the same AI manifest output. See also How the any Keyword Is Translated.

  • Edit the mirrorpool.profile profile, replacing both any entries with physical device names. Also, delete the cluster line. The mirrorpool.profile file will then have content similar to the following example:

    install_type initial_install
    partitioning default
    pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
  • If you specify any instead of a physical device name in the vdev-list list in the pool specification, you must provide device information prior to the specification that includes the any parameter. Edit the mirrorpool.profile profile to add a usedisk specification before the pool specification. Also, delete the cluster line. The mirrorpool.profile file will then have content similar to the following example:

    install_type initial_install
    partitioning default
    usedisk c6t0d0 c6t1d0
    pool newpool auto auto auto mirror any any

Save the AI_mirrorpool.profile/criteria-4.xml file in another location. Then, use the –p option of the js2ai command to process just this profile.

# js2ai -p mirrorpool.profile
Successfully completed conversion

The AI_mirrorpool.profile directory contains two output AI manifests: mirrorpool.profile.sparc.xml and mirrorpool.profile.x86.xml. The only difference between these two AI manifests is that mirrorpool.profile.x86.xml contains two partition specifications. The mirrorpool.profile.x86.xml manifest has the following content in the target stanza:

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <logical noswap="false" nodump="true">
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

The software stanza is the same as in /usr/share/auto_install/manifest/default.xml because this profile does not contain any package specifications.

Example 7  Fixing rootdisk.profile Errors

The js2ai command showed the following errors for the rootdisk.profile JumpStart profile:

rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

    Use either of the following two methods to fix these errors. Both of these fixes result in the same AI manifest output.

  • Edit the rootdisk.profile profile, replacing rootdisk. with c0t0d0. Also, delete the cluster line. The rootdisk.profile file then has the following content:

    install_type initial_install
    partitioning explicit
    filesys c0t0d0s0 15000 /
    filesys c0t0d0s1 1000 swap
  • Edit the rootdisk.profile profile to add a root_device specification and to delete the cluster line. The rootdisk.profile file then has the following content:

    install_type initial_install
    partitioning explicit
    root_device c0t0d0s0
    filesys rootdisk.s0 15000 /
    filesys rootdisk.s1 1000 swap

Save the AI_rootdisk.profile/criteria-3.xml file in another location. Then use the –p option of the js2ai command to process just this profile.

# js2ai -p rootdisk.profile
Successfully completed conversion

The AI_rootdisk.profile directory contains two output AI manifests: rootdisk.profile.sparc.xml and rootdisk.profile.x86.xml. The only difference between these two AI manifests is that rootdisk.profile.x86.xml contains a partition specification. The rootdisk.profile.x86.xml manifest has the following content in the target stanza:

<target>
  <disk>
    <disk_name name="c0t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="15000mb"/>
      </slice>
      <slice action="create" force="true" is_swap="true" name="1">
        <size val="1000mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="true" noswap="false">
    <zpool name="rpool" is_root="true" >
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

The software stanza is the same as in /usr/share/auto_install/manifest/default.xml because this profile does not contain any package specifications.

Displaying Additional Profile Conversion Information

If you want to see additional information for a rule or profile conversion or AI manifest validation, specify the –v option with the js2ai command. When you specify the –v option, processing steps are displayed, and the error report displays zeroes instead of omitting the rules file or profile from the report.

# js2ai -v -p rootdisk.profile
Processing profile: rootdisk.profile
Performing conversion on: rootdisk.profile
Generating x86 manifest for: rootdisk.profile
Validating rootdisk.profile.x86.xml
Generating sparc manifest for: rootdisk.profile
Validating rootdisk.profile.sparc.xml

                                   Process  Unsupported  Conversion  Validation
Name                     Warnings  Errors   Items        Errors      Errors
----------------------   --------  -------  -----------  ----------  ----------
rootdisk.profile                0        0            0           0           0
Successfully completed conversion

Validating an Output AI Manifest

Use the –V option to validate the AI manifest that results from running the js2ai command.

# js2ai -V ./AI_rootdisk.profile/rootdisk.profile.sparc.xml
Successfully completed conversion
# js2ai -v -V ./AI_rootdisk.profile/rootdisk.profile.sparc.xml
Validating rootdisk.profile.sparc.xml

                                   Process  Unsupported  Conversion  Validation
Name                     Warnings  Errors   Items        Errors      Errors
----------------------   --------  -------  -----------  ----------  ----------
rootdisk.profile.sparc          -        -            -           -           0
Successfully completed conversion