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

Document Information

1.  Introduction to the Distribution Constructor

2.  Design and Build Oracle Solaris Images

System Requirements

Customize Your Image by Editing the Manifests

Modifying Manifest Contents

Further Customize an Image Using Finalizer Scripts

Creating Custom Finalizer Scripts

Characteristics of Finalizer Scripts

Using the Manifest Reader

Specifying Key-Value Pairs

Building an Image

Building an Image in One Step

Building an Image in Stages

Building an Image in Stages by Using Checkpoint Options

Troubleshooting the Distribution Constructor

I Get Error Messages When I Download a Package

How to Debug Manifests With Validation Errors

Debugging Semantic Validation Errors

Checking Data

Additional Installation Information

3.  x86: Design and Build a Virtual Machine

A.  Custom Finalizer Scripts, Examples

Building an Image

After you have set up the manifest file that you plan to use and, if desired, customized the finalizer scripts, you are ready to build an image by running the distro_const command.


Note - To run the distro_const command, assume the root role by executing the su - command.


You can use the distro_const command to do either of the following:

The full syntax for this command is as follows:

Syntax: distro_const build [-R] [-r step] [-p step] [-l] manifest

Building an Image in One Step

To run a complete build of an image without pausing, use the basic distro_const command without options as follows:

# distro_const build manifest

Replace manifest with the name of the manifest file to be used as the blueprint for your image. The build subcommand is required. When you type this command, the distribution constructor pulls the needed packages for the image and builds the image to the specifications that you set up in the manifest file.

Building an Image in Stages

You can use the options provided in the distro_const command to stop and restart the build process at various stages in the image-generation process, in order to check and debug your selection of files, packages, and scripts for the image that is being built. This process of stopping and restarting during the build process is called checkpointing.

Checkpointing supports the process of developing and debugging images. You can start building an image, pause at any stage where you want to stop and examine the contents of the image, then resume building the image. Checkpointing is optional.


Note - The checkpointing feature is enabled by default in the manifest file. But a ZFS dataset, or a mount point that correlates to a ZFS dataset, must be specified as the build area.

Alternately, you can disable checkpointing in the manifest file by setting the checkpoint_enable parameter to false.


Use the checkpointing options that are available in the distro_const command as described in the following basic instructions. See, also, the distro_const(1M) man page.

Building an Image in Stages by Using Checkpoint Options

  1. Before you build the image, check the valid steps at which you can choose to pause or resume the build by using the following command:
    # distro_const build -l manifest

    Note - The build subcommand is required.


    A checkpoint in the build process occurs after each finalizer script is executed.

    This command displays the valid checkpoints at which you can pause or resume building an image. Use the step names provided by this command as valid values for the other checkpointing command options.

    For example, the following command confirms which checkpoints are available, given a manifest file named slim_cd_x86.xml.

    # distro_const build -l slim_cd_x86.xml

    After the command is run, the valid checkpointing steps are displayed. Checkpointing steps can include the following.

    Step           Resumable Description
    -------------- --------- -------------
    im-pop             X    Populate the image with packages
    im-mod             X    Image area modifications
    slim-im-mod             Slim CD image area modifications
    ba-init                 Boot archive initialization
    slim-ba-config          Slim CD boot archive configuration
    ba-config               Boot archive configuration
    ba-arch                 Boot archive archiving (64-bit)
    ba-arch-32              Boot archive archiving (32-bit)
    slim-post-mod           Slim CD post boot archive image area modifications
    grub-setup              Grub menu setup
    post-mod                Post boot archive image area modification
    gen-slim-cont           Generate Slim CD image content list
    iso                     ISO image creation 
    usb                     USB image creation

    Note - In the command output, a check in the resumable field indicates that you can restart the build from this step.


  2. Use the following command to build an image, and to pause building the image at the specified step.
    # distro_const build -p step manifest

    Note - The build subcommand is required. The step and manifest fields are required.


    For example, the following command starts building an image and pauses the build before step im-mod modifies the image area:

    # distro_const build -p im-mod slim_cd_x86.xml
  3. Resume the build, either from the last step executed or from a specified step, by using one of the following alternatives:
    • Use the following command to resume building the image from a specified step.
      # distro_const build -r step manifest

      Note - The specified step must be either the step at which the previous build stopped executing, or an earlier step. A later step is not valid. The step and manifest fields are required. The build subcommand is required.


      For example, the following command resumes building the image where the im-mod modifies the image area:

      # distro_const build -r im-mod slim_cd_x86.xml
    • Use the following command to resume building the image from the last step executed.

      Note - The manifest argument and the build subcommand are required.


      # distro_const build -R manifest

      For example, the following command resumes building the image from wherever the build had paused.

      # distro_const build -R slim_cd_x86.xml