Distribution Constructor
The Distribution Constructor project is building a set of GUI and command-line tools allowing users to build an install image from a package repository. The distribution constructor tools accept input from the user and process a set of repository packages into one or more media images which can be utilized to install an OpenSolaris distribution.
The Distribution Constructor package is available in the pkg.opensolaris.org repository as of build 99, its name is SUNWdistro-const. Some basic documentation is available. The OpenSolaris 2008.11 distribution is built using this tool beginning with the build 98 ISO images.
A future phase of the project will add the ability to generate an installable distribution using an existing installed system as its input, rather than a set of packages in a repository. This would be either an enhancement to, or replacement for, the existing Flash Installation functionality.
Key Requirements and Functionality (2008.11 Release)
- A command-line interface to run the construction process
- A manifest file format consumed by the constructor
- Modifications to the Target Instantiation module built in Dwarf Caiman and Slim Install to create the file system structure needed for building the
distribution - Modifications to the Transfer module to support installing a set of IPS packages
- A plug-in interface that the user or other projects can use to perform their image-specific customizations
- Checkpointing interfaces which allow a build to be debugged, and restarted
- A module for constructing a boot archive usable on installable media
- Support for localization of the image produced
- An installable package containing the distro constructor
Resources
- Mailing list: caiman-discuss@opensolaris.org
- Project documents are in Mercurial: ssh://anon@hg.opensolaris.org/hg/caiman/caiman-docs
- Source code for the project ssh://anon@hg.opensolaris.org/hg/caiman/slim_source
- Defects can be reported against the Distro Constructor using the defect.opensolaris.org Bugzilla instance. You can also view the current list of open bugs