yast/yast-installation

View on GitHub
doc/features/examples/control.oem-image.xml.example

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<productDefines  xmlns="http://www.suse.com/1.0/yast2ns"
    xmlns:config="http://www.suse.com/1.0/configns">

<!--
This is an example of a control file, which deploys an OEM image instead of
installing system from packages

Important changes to standard control file:
- removed all stuff related to package installation (package selection, rpmcopy)
- removed configuration of stuff which is already in the image
- added oem_image variable to globals section

Workflow consists of
- installation preparation (language, EULA, network, disk activation)
- selecting full disk for deployment
- preparing progress
- deployment of the image
- inst_finish steps are set to empty (to reuse reboot time-out)
-->

<!--
Work around for the text domain
textdomain="control"
-->

    <textdomain>control</textdomain>

    <globals>
        <!-- OEM image to be bare deployed to the system -->
        <oem_image>/image.raw</oem_image>

    <additional_kernel_parameters></additional_kernel_parameters>
        <enable_autologin config:type="boolean">true</enable_autologin>
    <enable_firewall config:type="boolean">true</enable_firewall>
    <firewall_enable_ssh config:type="boolean">false</firewall_enable_ssh>

    <!-- FATE #303875, see /etc/sysconfig/network/dhcp:WRITE_HOSTNAME_TO_HOSTS -->
    <write_hostname_to_hosts config:type="boolean">false</write_hostname_to_hosts>
    <!-- FATE #307555, see /etc/sysconfig/boot:RUN_PARALLEL -->
    <run_init_scripts_in_parallel config:type="boolean">true</run_init_scripts_in_parallel>

        <incomplete_translation_treshold>95</incomplete_translation_treshold>
        <inform_about_suboptimal_distribution config:type="boolean">true</inform_about_suboptimal_distribution>
        <skip_language_dialog config:type="boolean">true</skip_language_dialog>
        <ui_mode>simple</ui_mode>
        <enable_clone config:type="boolean">false</enable_clone>
        <enable_register_hwdata   config:type="boolean">true</enable_register_hwdata>
        <enable_register_optional config:type="boolean">true</enable_register_optional>
        <display_register_forcereg config:type="boolean">true</display_register_forcereg>
        <disable_register_w3m config:type="boolean">true</disable_register_w3m>
        <register_monthly config:type="boolean">false</register_monthly>
    <manual_online_update config:type="boolean">true</manual_online_update>

    <!-- bnc #359115 comment #14 -->
    <root_password_as_first_user config:type="boolean">true</root_password_as_first_user>
    <root_password_ca_check config:type="boolean">false</root_password_ca_check>

    <!-- Offer online repositories feature in the installation -->
    <show_online_repositories config:type="boolean">true</show_online_repositories>
    <online_repositories_default config:type="boolean">true</online_repositories_default>

        <!-- Guide user to drivers.suse.com if HW was not found (FATE#312875)-->
        <show_drivers_info config:type="boolean">false</show_drivers_info>

    <!-- Offer add-ons in the installation -->
    <show_addons config:type="boolean">true</show_addons>
    <addons_default config:type="boolean">false</addons_default>

    <!-- FATE #301937, Save /root content from the installation system to the installed system -->
    <save_instsys_content config:type="list">
        <save_instsys_item>
        <instsys_directory>/root/</instsys_directory>
        <system_directory>/root/inst-sys/</system_directory>
        </save_instsys_item>
    </save_instsys_content>

    <!-- FATE #303395, Kexec instead of reboot (default 'false') -->
    <kexec_reboot config:type="boolean">true</kexec_reboot>

    <!--
        BNC #487565, Some AC steps might create their own UI (rpmcopy, for instance)
        and AC should just recreate its UI without reporting an error.
        Each ac_item here matches inst_* resp. *_proposal from automatic_configuration->ac_item
    -->
    <ac_redraw_and_ignore config:type="list">
        <ac_item>inst_rpmcopy_secondstage</ac_item>
    </ac_redraw_and_ignore>

    <!-- Configuration for inst_automatic_configuration script -->
    <automatic_configuration config:type="list">
        <!--
        Adding inst_hostname client here, needed to generate random
        hostname in automatic config (and for 127.0.0.2 hack) (#383336)
        Must be called before inst_netprobe however, it cannot override it later on
        -->
        <ac_step>
        <unique_id>ac_1</unique_id>
        <text_id>ac_1</text_id>
        <icon>yast-sw_single</icon>
        <type>scripts</type>
        <ac_items config:type="list">
            <ac_item>initialization</ac_item>
            <ac_item>hostname</ac_item>
            <ac_item>netprobe</ac_item>
            <ac_item>rpmcopy_secondstage</ac_item>
        </ac_items>
        </ac_step>
        <!-- network proposal -->
        <ac_step>
        <unique_id>ac_2</unique_id>
        <text_id>ac_2</text_id>
        <icon>yast-network</icon>
        <type>proposals</type>
        <ac_items config:type="list">
            <ac_item>lan</ac_item>
            <ac_item>general</ac_item>
            <ac_item>isdn</ac_item>
            <ac_item>remote</ac_item>
            <ac_item>firewall</ac_item>
        </ac_items>
        </ac_step>
        <!-- hardware proposal -->
        <ac_step>
        <unique_id>ac_3</unique_id>
        <text_id>ac_3</text_id>
        <icon>yast-hwinfo</icon>
        <type>proposals</type>
        <ac_items config:type="list">
           <!-- <ac_item>x11</ac_item>  (bnc#441404) -->
            <ac_item>printer</ac_item>
            <ac_item>sound</ac_item>
            <ac_item>tv</ac_item>
        </ac_items>
        </ac_step>
        <!-- finishing configuration -->
        <ac_step>
        <unique_id>ac_4</unique_id>
        <text_id>ac_4</text_id>
        <icon>yast-sysconfig</icon>
        <type>scripts</type>
        <ac_items config:type="list">
            <ac_item>addon_update_sources</ac_item>
            <ac_item>extrasources</ac_item>
            <ac_item>save_hardware_status</ac_item>
        </ac_items>
        </ac_step>
    </automatic_configuration>

    <!-- FATE: #304865: Enhance YaST Modules to cooperate better handling the product licenses -->
    <base_product_license_directory>/etc/YaST2/licenses/base/</base_product_license_directory>

    <!-- #303798: YaST2 runlevel editor: offer easy enablement and configuration of runlevel 4 -->
    <rle_offer_rulevel_4 config:type="boolean">false</rle_offer_rulevel_4>

    <!-- bnc #431259 -->
    <default_ntp_setup config:type="boolean">true</default_ntp_setup>

    <!-- FATE: #303893, #305588: Default to enabled kdump -->
    <enable_kdump config:type="boolean">true</enable_kdump>
    
    <!-- to debug deploying, set to 'true' -->
    <debug_deploying config:type="boolean">false</debug_deploying>
    </globals>

    <software>
        <delete_old_packages config:type="boolean">true</delete_old_packages>
        <selection_type config:type="symbol">auto</selection_type>

    <!-- Bugzilla #327791, if not set, default is true -->
    <online_repos_preselected config:type="boolean">false</online_repos_preselected>

    <!-- FATE #300898, List of external sources accesible during the installation time -->
    <external_sources_link>http://download.opensuse.org/YaST/Repos/openSUSE_131_Servers.xml</external_sources_link>

    <dropped_packages></dropped_packages>
    <extra_urls config:type="list">
        <!-- Default update repository, bnc #381360 -->
        <extra_url>
        <baseurl>http://download.opensuse.org/update/13.1/</baseurl>
                <alias>repo-update</alias>
                <name>openSUSE-13.1-Update</name>
        <prod_dir>/</prod_dir>
        <enabled config:type="boolean">true</enabled>
        <autorefresh config:type="boolean">true</autorefresh>
        <priority config:type="integer">99</priority>
        </extra_url>
        <extra_url>
        <baseurl>http://download.opensuse.org/update/13.1-non-oss/</baseurl>
                <alias>repo-update-non-oss</alias>
                <name>openSUSE-13.1-Update-Non-Oss</name>
        <prod_dir>/</prod_dir>
        <enabled config:type="boolean">true</enabled>
        <autorefresh config:type="boolean">true</autorefresh>
        <priority config:type="integer">99</priority>
        </extra_url>

        <!-- Replacement for EXTRAURLS and OPTIONALURLS -->
        <extra_url>
        <baseurl>http://download.opensuse.org/distribution/13.1/repo/oss/</baseurl>
                <alias>repo-oss</alias>
                <name>openSUSE-13.1-Oss</name>
        <prod_dir>/</prod_dir>
        <enabled config:type="boolean">true</enabled>
        <autorefresh config:type="boolean">true</autorefresh>
        <priority config:type="integer">99</priority>
        </extra_url>
        <extra_url>
        <baseurl>http://download.opensuse.org/distribution/13.1/repo/non-oss/</baseurl>
                <alias>repo-non-oss</alias>
                <name>openSUSE-13.1-Non-Oss</name>
        <prod_dir>/</prod_dir>
        <enabled config:type="boolean">true</enabled>
        <autorefresh config:type="boolean">true</autorefresh>
        <priority config:type="integer">99</priority>
        </extra_url>
        <extra_url>
        <baseurl>http://download.opensuse.org/debug/distribution/13.1/repo/oss/</baseurl>
                <alias>repo-debug</alias>
                <name>openSUSE-13.1-Debug</name>
        <prod_dir>/</prod_dir>
        <enabled config:type="boolean">false</enabled>
        <autorefresh config:type="boolean">true</autorefresh>
        <priority config:type="integer">99</priority>
        </extra_url>
            <extra_url>
                <baseurl>http://download.opensuse.org/debug/update/13.1/</baseurl>
                <alias>repo-debug-update</alias>
                <name>openSUSE-13.1-Update-Debug</name>
                <prod_dir>/</prod_dir>
                <enabled config:type="boolean">false</enabled>
                <autorefresh config:type="boolean">true</autorefresh>
                <priority config:type="integer">99</priority>
            </extra_url>
            <extra_url>
                <baseurl>http://download.opensuse.org/debug/update/13.1-non-oss/</baseurl>
                <alias>repo-debug-update-non-oss</alias>
                <name>openSUSE-13.1-Update-Debug-Non-Oss</name>
                <prod_dir>/</prod_dir>
                <enabled config:type="boolean">false</enabled>
                <autorefresh config:type="boolean">true</autorefresh>
                <priority config:type="integer">99</priority>
            </extra_url>


            <extra_url>
                <baseurl>http://download.opensuse.org/source/distribution/13.1/repo/oss/</baseurl>
                <alias>repo-source</alias>
                <name>openSUSE-13.1-Source</name>
                <prod_dir>/</prod_dir>
                <enabled config:type="boolean">false</enabled>
                <autorefresh config:type="boolean">true</autorefresh>
                <priority config:type="integer">99</priority>
            </extra_url>
    </extra_urls>

    <!-- BNC #424678, Definition of supported desktops -->
    <supported_desktops config:type="list">

        <one_supported_desktop>
        <name>gnome</name>
        <desktop>gnome</desktop>
        <label_id>desktop_gnome</label_id>
        <logon>gdm</logon>
        <cursor>DMZ</cursor>
        <packages>gdm branding-openSUSE</packages>
        <order config:type="integer">1</order>
        <patterns>gnome x11 base</patterns>
        <icon>pattern-gnome</icon>
        </one_supported_desktop>

        <one_supported_desktop>
        <name>kde</name>
        <!-- BNC #381821, BNC #438212, BNC #667408, BNC #763142 -->
        <desktop>kde-plasma</desktop>
        <label_id>desktop_kde</label_id>
        <logon>kdm</logon>
        <cursor>DMZ</cursor>
        <packages>kdm branding-openSUSE</packages>
        <order config:type="integer">1</order>
        <patterns>kde x11 base</patterns>
        <icon>pattern-kde4</icon>
        </one_supported_desktop>

        <one_supported_desktop>
        <name>xfce</name>
        <!-- BNC #667408 -->
        <desktop>xfce</desktop>
        <label_id>desktop_xfce</label_id>
        <logon>lightdm</logon>
        <cursor>DMZ</cursor>
        <packages>lightdm branding-openSUSE</packages>
        <order config:type="integer">4</order>
        <patterns>xfce x11 base</patterns>
        <icon>pattern-xfce</icon>
        </one_supported_desktop>

        <!-- FaTE #307729 LXDE -->
        <one_supported_desktop>
        <name>lxde</name>
        <!-- BNC #667408 -->
        <desktop>lxde</desktop>
        <label_id>desktop_lxde</label_id>
        <logon>lxdm</logon>
        <cursor>DMZ</cursor>
        <packages>lxde-common branding-openSUSE</packages>
        <order config:type="integer">5</order>
        <patterns>lxde x11 base</patterns>
        <icon>pattern-lxde</icon>
        </one_supported_desktop>

        <one_supported_desktop>
        <name>min_x</name>
        <desktop>twm</desktop>
        <label_id>desktop_min_x</label_id>
        <logon>xdm</logon>
        <cursor>DMZ</cursor>
        <packages>xorg-x11-server branding-openSUSE</packages>
        <order config:type="integer">6</order>
        <patterns>x11 base</patterns>
        <icon>yast-x11</icon>
        </one_supported_desktop>

        <one_supported_desktop>
        <name>e17</name>
        <desktop>e17</desktop>
        <label_id>desktop_e17</label_id>
        <logon>lightdm</logon>
        <cursor>DMZ</cursor>
        <packages>lightdm branding-openSUSE</packages>
        <order config:type="integer">7</order>
        <patterns>e17 x11 base</patterns>
        <icon>pattern-e17</icon>
        </one_supported_desktop>

        <one_supported_desktop>
        <name>textmode</name>
        <desktop>twm</desktop>
        <label_id>desktop_textmode</label_id>
        <logon>xdm</logon>
        <cursor>DMZ</cursor>
        <packages>branding-openSUSE</packages>
        <order config:type="integer">8</order>
        <patterns>minimal_base minimal_base-conflicts</patterns>
        <icon>yast-sshd</icon>
        </one_supported_desktop>

    </supported_desktops>

    <!-- FaTE #306967 KDE is preselected desktop -->
    <default_desktop>kde</default_desktop>

    </software>

    <partitioning>
        <try_separate_home config:type="boolean">true</try_separate_home>
        <limit_try_home>7GB</limit_try_home>
        <root_space_percent>40</root_space_percent>
        <root_base_size>5GB</root_base_size>
        <root_max_size>20GB</root_max_size>
    <proposal_lvm config:type="boolean">false</proposal_lvm>
    <vm_keep_unpartitioned_region config:type="boolean">false</vm_keep_unpartitioned_region>
    <vm_desired_size>15GB</vm_desired_size>
    <vm_home_max_size>25GB</vm_home_max_size>
    <btrfs_increase_percentage config:type="integer">100</btrfs_increase_percentage>
    </partitioning>

    <network>
        <force_static_ip config:type="boolean">false</force_static_ip>
        <network_manager>laptop</network_manager>
    <startmode>ifplugd</startmode>
    </network>

    <clone_modules config:type="list">
    <clone_module>language</clone_module>
    <clone_module>keyboard</clone_module>
    <clone_module>timezone</clone_module>
    <clone_module>users</clone_module>
    <clone_module>networking</clone_module>
    <clone_module>firewall</clone_module>
    <clone_module>host</clone_module>
    <clone_module>routing</clone_module>
    <clone_module>proxy</clone_module>
    <clone_module>runlevel</clone_module>
    <!--  <clone_module>x11</clone_module>  (bnc#441404)  -->
    <clone_module>nis</clone_module>
    <clone_module>ldap</clone_module>
    <clone_module>printer</clone_module>
    <clone_module>add-on</clone_module>
    <clone_module>iscsi-client</clone_module>
    <clone_module>software</clone_module>
    <clone_module>partitioning</clone_module>
    <clone_module>bootloader</clone_module>
    <clone_module>kdump</clone_module>
    <clone_module>ntp-client</clone_module>
    </clone_modules>

    <texts>
    <congratulate>
        <label>
&lt;p&gt;&lt;b&gt;Congratulations!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The installation of openSUSE on your machine is complete.
After clicking &lt;b&gt;Finish&lt;/b&gt;, you can log in to the system.&lt;/p&gt;
&lt;p&gt;Visit us at %1.&lt;/p&gt;
&lt;p&gt;Have a lot of fun!&lt;br&gt;Your openSUSE Development Team&lt;/p&gt;
        </label>
    </congratulate>

    <ac_1><label>Initialization...</label></ac_1>
    <ac_2><label>Configuring network...</label></ac_2>
    <ac_3><label>Configuring hardware...</label></ac_3>
    <ac_4><label>Finishing configuration...</label></ac_4>

    <!--
        Desktop dialog label. It should not be wider than 75 characters.
        Please try to keep the same number of lines, if possible
    -->
    <desktop_dialog><label>The desktop environment on your computer provides the graphical user
interface for your computer, as well as a suite of applications for
email, Web browsing, office productivity, games, and utilities to
manage your computer.

openSUSE offers a choice of desktop environments.  The most widely
used desktop environments are GNOME and KDE, and they are equally
supported under openSUSE. Both desktop environments are easy to use,
highly integrated, and have an attractive look and feel. Each desktop
environment has a distinct style, so personal taste determines which
is the most appropriate desktop for you.</label></desktop_dialog>

    <!-- Desktop dialog: desktop names -->
    <desktop_gnome><label>GNOME Desktop</label></desktop_gnome>
    <desktop_kde><label>KDE Desktop</label></desktop_kde>
    <desktop_xfce><label>XFCE Desktop</label></desktop_xfce>
    <desktop_lxde><label>LXDE Desktop</label></desktop_lxde>
    <desktop_min_x><label>Minimal X Window</label></desktop_min_x>
    <desktop_e17><label>Enlightenment Desktop</label></desktop_e17>
    <desktop_textmode><label>Minimal Server Selection (Text Mode)</label></desktop_textmode>

    </texts>
    <workflows config:type="list">

    <!-- Stage: Initial, Mode: Installation -->
        <workflow>
            <defaults>
                <archs>all</archs>
        <enable_back>yes</enable_back>
        <enable_next>yes</enable_next>
            </defaults>
        <label>Preparation</label>
            <mode>installation</mode>
            <stage>initial</stage>
            <modules  config:type="list">
                <module>
            <label>Welcome</label>
                    <name>complex_welcome</name>
                    <enable_back>no</enable_back>
                    <enable_next>yes</enable_next>
                    <arguments>
                        <first_run>yes</first_run>
                    </arguments>
                    <retranslate config:type="boolean">true</retranslate>
                </module>
        <module>
                <label>Network Activation</label>
                    <name>lan</name>
        </module>
        <module>
                <label>Disk Activation</label>
                    <name>disks_activate</name>
        </module>
                <module>
                <label>System Analysis</label>
                    <name>system_analysis</name>
                </module>
            <module>
            <label>Disk</label>
            <name>disk_for_image</name>
            <enable_back>yes</enable_back>
            <enable_next>yes</enable_next>
        </module>
        <!-- FATE #303860: Provide consistent progress during installation -->
        <module>
            <label>Perform Installation</label>
            <name>prepareprogress</name>
        </module>
        <!-- Installation from images -->
                <module>
                <label>Perform Installation</label>
                    <name>deploy_image</name>
                </module>
                <module>
                <label>Perform Installation</label>
                    <name>finish</name>
                </module>
            </modules>
        </workflow>
    </workflows>

    <!-- must be non-empty in order to be used -->
    <inst_finish_stages config:type="list">
      <inst_finish_stage>
        <label>Reboot...</label>
        <steps config:type="list">
        </steps>
      </inst_finish_stage>
    </inst_finish_stages>
</productDefines>