OpenSolaris Distribution Constructor Guide
Previous

Slim CD Manifest File

<!--
    CDDL HEADER START

    The contents of this file are subject to the terms of the
    Common Development and Distribution License (the "License").
    You may not use this file except in compliance with the License.

    You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
    or http://www.opensolaris.org/os/licensing.
    See the License for the specific language governing permissions
    and limitations under the License.

    When distributing Covered Code, include this CDDL HEADER in each
    file and include the License file at usr/src/OPENSOLARIS.LICENSE.
    If applicable, add the following below this CDDL HEADER, with the
    fields enclosed by brackets "[]" replaced with your own identifying
    information: Portions Copyright [yyyy] [name of copyright owner]

    CDDL HEADER END

    Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.

    XML specification for building the all languages OpenSolaris
    live CD iso and usb image
-->

<distribution name="OpenSolaris">
        <distro_constr_params>
                <distro_constr_flags>
                        <!--
                             Controls whether the DC should stop
                             if there is an error when the DC is running
                        -->
                        <stop_on_error>true</stop_on_error>
                        <!--
                             You can specify the step to resume the
                             build from here with the resume_from
                             attribute field of checkpoint_enable.
                             This value will be overridden by
                             the command line if the -r flag is used.
                             Valid values are step
                             numbers or name
                        -->
                        <checkpoint_enable>
                                <!--
                                     true implies Checkpointing is enabled
                                -->
                                true
                        </checkpoint_enable>
                </distro_constr_flags>
                <!--
                     The preferred authority to install packages into the
                     pkg_image area from.
                     The default url is: http://pkg.opensolaris.org/release
                     The default authname is opensolaris.org
                -->
                <pkg_repo_default_authority>
                        <main
                                url="http://pkg.opensolaris.org/release"
                                authname="opensolaris.org"/>
                        <!--
                             If you want to use one or more  mirrors that are
                             setup for the authority, specify the urls here.
                        -->
                        <!--
                             Uncomment before using
                        <mirror url="" />
                        -->
                </pkg_repo_default_authority>
                <!--
                     Any additional non-preferred authorities to pull packages
                     from should be specified here. Multiple additional
                     authorities may be specified.
                     If you want to use one or more  mirrors that are
                     setup for the authority, specify the urls here.
                -->
                <!--
                     Uncomment before using.
                <pkg_repo_addl_authority>
                        <main
                                url=""
                                authname=""/>
                        <mirror url="" />
                </pkg_repo_addl_authority>
                -->
                <!--
                     The default preferred authority to be used by the system
                     after it has been installed.
                     The default url is: http://pkg.opensolaris.org/release
                     The default authname is opensolaris.org
                     If you want to use one or more  mirrors that are
                     setup for the authority, specify the urls here.
                -->
                <post_install_repo_default_authority>
                        <main
                                url="http://pkg.opensolaris.org/release"
                                authname="opensolaris.org"/>
                        <!--
                             Uncomment before using.
                        <mirror url="" />
                        -->
                </post_install_repo_default_authority>
                <!--
                     Any additional non-preferred authorities to use after the
                     system has been installed. Multiple additional authorities
                     may be specified.
                     If you want to use one or more  mirrors that are
                     setup for the authority, specify the urls here.
                -->
                <!--
                     Uncomment before using.
                <post_install_repo_addl_authority>
                        <main
                                url=""
                                authname=""/>
                        <mirror url="" />
                </post_install_repo_addl_authority>
                -->
        </distro_constr_params>
        <img_params>
                <!--
                     Where to build. This can be a zfs dataset or a mountpoint.
                     The area will be created if it doesn't exist. If the build_area
                     is not a zfs dataset or mountpoint, checkpointing will not
                     be enabled.
                -->
                <build_area>rpool/dc</build_area>
                <!--
                     list of packages used to form the installed image
                -->
                <packages>
                        <!--
                             Due to dependency issues, SUNWcsd and SUNWcs
                             must be listed first in the package list,
                             and SUNWcsd must precede SUNWcs
                        -->
                        <!--
                            By default the latest build available, in the
                            specified IPS repository, is installed.
                            If another build is required, the build number has
                            to be appended to the 'entire' package in following
                            form:

                            <pkg_name="entire@0.5.11-0.build#/>
                        -->
                        <pkg name="entire"/>
                        <pkg name="SUNWcsd"/>
                        <pkg name="SUNWcs"/>
                        <pkg name="babel_install"/>
                        <pkg name="SUNWslim-utils"/>
                </packages>
<!--
     Items below this line are rarely configured
-->
                <!--
                     Packages to be removed from the pkg_image area before
                     bootroot construction
                -->
                <post_install_remove_packages>
                        <!--
                            babel_install must be listed before slim_install
                            because babel_install depends on slim_install,
                            so, slim_install can't be uninstall first
                        -->
                        <pkg name="babel_install"/>
                        <pkg name="slim_install"/>
                </post_install_remove_packages>
                <!--
                     If/how to compress the live image.
                     type = compression algorithm to use for pkg.zlib and misc.zlib.
                     Valid types are lzma, gzip, and none.
                -->
                <live_img_compression type="lzma"/>
                <!--
                     Grub menu modifications. Will use menu.lst if not specified
                -->
                <grub_menu_modifications>
                        <!--
                            Specify a title for the grub menu.
                            If a title for the grub menu is not specified,
                            the first line of /etc/release will be used as
                            the title for the grub menu
                        -->
                        <!--
                            Uncomment before using
                        <title>Special Grub Title Text</title>
                        -->
                        <entry>
                                <title_suffix>with magnifier</title_suffix>
                                <line>kernel$ /platform/i86pc/kernel/$ISADIR/unix \
-B assistive_tech=magnifier</line>
                                <line>module /boot/$ISADIR/x86.microroot</line>
                        </entry>

                       <entry>
                                <title_suffix>with screen reader</title_suffix>
                                <line>kernel$ /platform/i86pc/kernel/$ISADIR/unix \
-B assistive_tech=reader</line>
                                <line>module /boot/$ISADIR/x86.microroot</line>
                        </entry>
                        <entry>
                                <title_suffix>Enable SSH</title_suffix>
                                <line>kernel$ /platform/i86pc/kernel/$ISADIR/unix -B livessh=enable</line>
                                <line>module /boot/$ISADIR/x86.microroot</line>
                        </entry>
                </grub_menu_modifications>
                <!--
                     Indicate whether the IPS index should be generated for
                     pkg install and uninstall.  The default is to not
                     generate the IPS search index
                -->
                <generate_ips_search_index>
                        false
                </generate_ips_search_index>
                <!--
                     Files and dirs to be included in the bootroot of all media
                     delivered by this distribution. Bootroot contains the
                     minimal list of contents in order to be able to
                     boot and setup a running system. These files and dirs
                     must exist in the pkg_image area.
                -->
                <bootroot_contents>
                        <base_include type="file">usr/sbin/pmadm</base_include>
                        <base_include type="file">usr/sbin/lofiadm</base_include>
                        <base_include type="file">usr/sbin/devfsadm</base_include>
                        <base_include type="file">usr/sbin/modload</base_include>
                        <base_include type="file">usr/sbin/i86/modload</base_include>
                        <base_include type="file">usr/sbin/mount</base_include>
                        <base_include type="file">usr/sbin/hostconfig</base_include>
                        <base_include type="file">usr/sbin/chroot</base_include>
                        <base_include type="file">usr/sbin/syslogd</base_include>
                        <base_include type="file">usr/bin/coreadm</base_include>
                        <base_include type="file">usr/bin/bash</base_include>
                        <base_include type="file">usr/bin/ksh</base_include>
                        <base_include type="file">usr/bin/cat</base_include>
                        <base_include type="file">usr/bin/echo</base_include>
                        <base_include type="file">usr/bin/false</base_include>
                        <base_include type="file">usr/bin/grep</base_include>
                        <base_include type="file">usr/bin/ls</base_include>
                        <base_include type="file">usr/bin/rm</base_include>
                        <base_include type="file">usr/bin/svcprop</base_include>
                        <base_include type="file">usr/bin/true</base_include>
                        <base_include type="file">usr/bin/cd</base_include>
                        <base_include type="file">usr/bin/test</base_include>
                        <base_include type="file">usr/bin/sleep</base_include>
                        <base_include type="file">usr/bin/expr</base_include>
                        <base_include type="file">usr/lib/fs/hsfs/fstyp</base_include>
                        <base_include type="file">usr/lib/fs/hsfs/fstyp.so.1</base_include>
                        <base_include type="file">usr/lib/fs/hsfs/mount</base_include>
                        <base_include type="file">usr/lib/fs/ufs/fstyp</base_include>
                        <base_include type="file">usr/lib/fs/ufs/fstyp.so.1</base_include>
                        <base_include type="file">usr/lib/fs/ufs/mount</base_include>
                        <base_include type="file">usr/lib/libfstyp.so.1</base_include>
                        <base_include type="file">usr/lib/platexec</base_include>
                        <base_include type="file">usr/lib/devfsadm/devfsadmd</base_include>
                        <base_include type="file">usr/lib/libm.so.2</base_include>
                        <base_include type="file">usr/lib/libm.so</base_include>
                        <base_include type="file">usr/lib/libfstyp.so</base_include>

                    <base_include type="file">usr/lib/libz.so</base_include>
                        <base_include type="file">usr/lib/libz.so.1</base_include>
                        <base_include type="file">usr/bin/i86/ksh93</base_include>
                        <base_include type="file">usr/lib/isaexec</base_include>
                        <base_include type="file">usr/lib/libast.so.1</base_include>
                        <base_include type="file">usr/lib/libcmd.so.1</base_include>
                        <base_include type="file">usr/lib/libdll.so.1</base_include>
                        <base_include type="file">usr/lib/libshell.so.1</base_include>
                        <base_include type="file">usr/share/lib/xml/dtd/service_bundle.dtd.1</base_include>
                        <base_include type="file">var/sadm/install/admin/default</base_include>
                        <base_include type="file">var/sadm/system/admin/default_java</base_include>
                        <base_include type="file">var/sadm/install/contents</base_include>
                        <base_include type="file">var/adm/utmpx</base_include>
                        <base_include type="file">var/adm/wtmpx</base_include>
                        <base_include type="file">var/adm/aculog</base_include>
                        <base_include type="file">var/lib/postrun/postrun-runq</base_include>
                        <base_include type="file">var/lib/postrun/postrun</base_include>
                        <base_include type="file">var/log/postrun.log</base_include>
                        <base_include type="file">var/log/authlog</base_include>
                        <base_include type="file">var/log/syslog</base_include>
                        <base_include type="file">var/saf/zsmon/log</base_include>
                        <base_include type="file">var/spool/cron/crontabs/adm</base_include>
                        <base_include type="file">var/spool/cron/crontabs/root</base_include>
                        <base_include type="file">var/nis/NIS+LDAPmapping.template</base_include>
                        <base_include type="file">var/yp/aliases</base_include>
                        <base_include type="file">var/yp/nicknames</base_include>
                        <base_include type="dir">kernel</base_include>
                        <base_include type="dir">boot</base_include>
                        <base_include type="dir">platform</base_include>
                        <base_include type="dir">system</base_include>
                        <base_include type="dir">lib</base_include>
                        <base_include type="dir">sbin</base_include>
                        <base_include type="dir">dev</base_include>
                        <base_include type="dir">devices</base_include>
                        <base_include type="dir">usr/lib/devfsadm/linkmod</base_include>
                        <base_include type="dir">root</base_include>
                        <base_include type="dir">jack</base_include>
                        <base_include type="dir">var/svc/manifest</base_include>
                        <base_include type="dir">var/svc/profile</base_include>
                        <base_include type="dir">var/pkg/catalog</base_include>
                        <base_include type="file">var/pkg/cfg_cache</base_include>
                        <base_include type="dir">etc</base_include>
                        <base_exclude type="dir">etc/gconf</base_exclude>
                        <base_exclude type="dir">etc/brltty</base_exclude>
                        <base_exclude type="dir">etc/gtk-2.0</base_exclude>
                        <base_exclude type="dir">etc/notices</base_exclude>
                </bootroot_contents>
                <output_image>
                        <!--
                             List of finalizer scripts to be run. They are used
                             to customize the image and will be run in the
                             order listed. The name of the checkpoint to
                             be created when this script is run is required.
                             The checkpoint message is displayed when the
                             step is run and is optional.
                             There are 5 standard arguments that are passed to
                             every finalizer script (manifest socket, pkg_image path,
                             tmp dir, bootroot build area, media dir). You may also
                             specify additional arguments (arg6+) in the argslist.
                             This argslist is a whitespace-separated list of double
                             quoted strings.
                        -->
                        <finalizer>
                                <script name="/usr/share/distro_const/pre_bootroot_pkg_image_mod">
                                        <checkpoint

                                               name="im-mod"
                                                message="Image area modifications"/>
                                </script>
                                <script name="/usr/share/distro_const/slim_cd/
                                slimcd_pre_bootroot_pkg_image_mod">
                                        <checkpoint
                                                name="slim-im-mod"
                                                message="Slim CD Image area Modifications"/>
                                </script>
                                <script name="/usr/share/distro_const/bootroot_initialize.py">
                                        <checkpoint
                                                name="br-init"
                                                message="Boot root initialization"/>
                                </script>
                                <script name="/usr/share/distro_const/slim_cd/slimcd_bootroot_configure">
                                        <checkpoint
                                                name="slim-br-config"
                                                message="Slim CD boot root configuration"/>
                                </script>
                                <script name="/usr/share/distro_const/bootroot_configure">
                                        <checkpoint
                                                name="br-config"
                                                message="Boot root configuration"/>
                                        <argslist>
                                                "/usr/share/distro_const/slim_cd/slimcd_generic_live.xml"
                                                ".livecd"
                                        </argslist>
                                </script>
                                <script name="/usr/share/distro_const/bootroot_archive.py">
                                        <checkpoint
                                                name="br-arch"
                                                message="Boot root archiving (64-bit)"/>
                                        <argslist>"amd64"</argslist>
                                </script>
                                <script name="/usr/share/distro_const/bootroot_archive_32">
                                        <checkpoint
                                                name="br-arch-32"
                                                message="Boot root archiving (32-bit)"/>
                                        <argslist>"x86"</argslist>
                                </script>
                                <script name="/usr/share/distro_const/slim_cd/
                                 slimcd_post_bootroot_pkg_image_mod">
                                        <checkpoint
                                                name="slim-post-mod"
                                                message="Slim CD post bootroot image area modification"/>
                                </script>
                                <script name="/usr/share/distro_const/grub_setup.py">
                                        <checkpoint
                                                name="grub-setup"
                                                message="Grub menu setup"/>
                                </script>
                                <script name="/usr/share/distro_const/post_bootroot_pkg_image_mod">
                                        <checkpoint
                                                name="post-mod"
                                                message="Post bootroot image area modification"/>
                                        <argslist>
                                                "usr_zlib_compression=lzma"
                                        </argslist>
                                </script>
                                <script name="/usr/share/distro_const/slim_cd/slimcd_gen_cd_content">
                                        <checkpoint
                                                name="gen-slim-cont"
                                                message="Generate Slim CD image content list"/>
                                </script>
                                <script name="/usr/share/distro_const/create_iso">
                                        <checkpoint
                                               name="iso"
                                                message="ISO image creation"/>
                                </script>
                                <script name="/usr/share/distro_const/create_usb">
                                        <checkpoint
                                                name="usb"
                                                message="USB image creation"/>
                                </script>
                        </finalizer>
                        <bootroot>
                                <!--
                                     If/how to compress the bootroot. Valid
                                     types are gzip and none
                                -->
                                <compression type="gzip" level="9"/>
                        </bootroot>
                </output_image>
        </img_params>
        <key_value_pairs>
                <pair key="iso_sort"
                    value="/usr/share/distro_const/slim_cd/slimcd_iso.sort"/>
        </key_value_pairs>
</distribution>
Previous