## Figure out if we're kickstarting a system or a profile #if $getVar('system_name','') != '' #set $what = "system" #else #set $what = "profile" #end if <?xml version="1.0" standalone="no"?> <!-- Copyright (c) 2011 Novell Uwe Gansert ug@suse.de This software is licensed to you under the GNU General Public License, version 2 (GPLv2). There is NO WARRANTY for this software, express or implied, including the implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 along with this software; if not, see http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. --> <!DOCTYPE profile [ <!ENTITY network SYSTEM "/tmp/profile/network.xml"> <!ENTITY partition SYSTEM "/tmp/profile/partition.xml"> <!ENTITY bootloader SYSTEM "/tmp/profile/bootloader.xml"> ]> <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <deploy_image> <image_installation config:type="boolean">false</image_installation> </deploy_image> ## without the next 6 lines autoyast will ask for confirmation bevore installation <general> <signature-handling> <accept_unsigned_file config:type="boolean">true</accept_unsigned_file> <accept_file_without_checksum config:type="boolean">true</accept_file_without_checksum> <accept_verification_failed config:type="boolean">true</accept_verification_failed> <accept_unknown_gpg_key config:type="boolean">true</accept_unknown_gpg_key> <import_gpg_key config:type="boolean">true</import_gpg_key> <accept_non_trusted_gpg_key config:type="boolean">true</accept_non_trusted_gpg_key> </signature-handling> <mode> <confirm config:type="boolean">false</confirm> <final_reboot config:type="boolean">true</final_reboot> </mode> </general> $SNIPPET('hosts.xml') $SNIPPET('kdump.xml') ## <keyboard> ## <keymap>english</keymap> ## </keyboard> <language> <language>en_US</language> <languages></languages> </language> <timezone> <hwclock>localtime</hwclock> #if $getVar('timezone', '') != "" <timezone>$timezone</timezone> #else <timezone>US/Pacific</timezone> #end if </timezone> <software> <add-on> <add_on_products config:type="list"> $SNIPPET('repo_config.xml') </add_on_products> </add-on> <patterns config:type="list"> <pattern>base</pattern> </patterns> <packages config:type="list"> <package>iputils</package> <package>openssh</package> <package>gcc</package> <package>net-tools</package> <package>ethtool</package> <package>ntp</package> <package>wget</package> <package>rsyslog</package> <package>iproute2</package> <package>parted</package> <package>lsb-release</package> #if $getVar('tool', '') != '' #set $suse_software = "software_%s.xml" % $tool $SNIPPET($suse_software) #end if </packages> <do_online_update config:type="boolean">true</do_online_update> <!-- since openSUSE 11.1 --> </software> $SNIPPET('yast_repo_config.xml') <files config:type="list"> $SNIPPET('limits_conf.xml') $SNIPPET('ssh.xml') $SNIPPET('sshd.xml') $SNIPPET('sysctl.xml') $SNIPPET('rsyslog.xml') </files> <login_settings/> <sysconfig config:type="list" > </sysconfig> <networking> &amp;network; </networking> $SNIPPET('ntp.xml') <partitioning config:type="list"> &amp;partition; </partitioning> <bootloader> &amp;bootloader; </bootloader> <runlevel> <default>3</default> <services config:type="list"> <service> <service_name>sshd</service_name> <service_status>enable</service_status> </service> <service> <service_name>ntp</service_name> <service_status>enable</service_status> </service> <service> <service_name>syslog</service_name> <service_status>enable</service_status> </service> <service> <service_name>autoyast</service_name> <service_status>enable</service_status> </service> </services> </runlevel> <sysconfig config:type="list"> <sysconfig_entry> <sysconfig_key>SYSLOG_DAEMON</sysconfig_key> <sysconfig_path>/etc/sysconfig/syslog</sysconfig_path> <sysconfig_value>rsyslogd</sysconfig_value> </sysconfig_entry> <sysconfig_entry> <sysconfig_key>RSYSLOGD_COMPAT_VERSION</sysconfig_key> <sysconfig_path>/etc/sysconfig/syslog</sysconfig_path> <sysconfig_value>4</sysconfig_value> </sysconfig_entry> </sysconfig> <user_defaults> <expire></expire> <home>/home</home> <inactive>-1</inactive> <shell>/bin/bash</shell> <skel>/etc/skel</skel> </user_defaults> <users config:type="list"> #if $getVar('username', 'root') != "root" <user> <encrypted config:type="boolean">false</encrypted> <fullname>root</fullname> <gid>0</gid> <home>/root</home> <password_settings> <expire></expire> <flag></flag> <inact></inact> <max></max> <min></min> <warn></warn> </password_settings> <shell>/bin/bash</shell> <uid>0</uid> <username>root</username> <user_password>root</user_password> </user> #set username = $getVar('username', 'root') <user> #if $getVar('password', '') != "" <encrypted config:type="boolean">true</encrypted> <user_password>$password</user_password> #else <encrypted config:type="boolean">false</encrypted> <user_password>$username</user_password> #end if <username>$username</username> <fullname>$username</fullname> <password_settings> <expire></expire> <flag></flag> <inact></inact> <max></max> <min></min> <warn></warn> </password_settings> <shell>/bin/bash</shell> </user> #else <user> #if $getVar('password', '') != "" <encrypted config:type="boolean">true</encrypted> <user_password>$password</user_password> #else <encrypted config:type="boolean">false</encrypted> <user_password>root</user_password> #end if <username>root</username> <fullname>root</fullname> <gid>0</gid> <home>/root</home> <password_settings> <expire></expire> <flag></flag> <inact></inact> <max></max> <min></min> <warn></warn> </password_settings> <shell>/bin/bash</shell> <uid>0</uid> </user> #end if </users> <scripts> ## we have to include the pre-scripts tag to get kickstart_start included <pre-scripts config:type="list"> <script> <interpreter>shell</interpreter> <filename>pre_install_script.sh</filename> <source><![CDATA[ wget -O- http://$http_server/cblr/svc/op/script/$what/$name/?script=suse_early_default | /bin/bash ]]></source> </script> ## SuSE has an annoying habit on ppc64 of changing the system ## boot order after installation. This makes it non-trivial to ## automatically re-install future OS. #set global $wrappedscript = 'save_boot_device' $SNIPPET('suse_scriptwrapper.xml') </pre-scripts> <post-scripts config:type="list"> <script> <interpreter>shell</interpreter> <network_needed config:type="boolean">true</network_needed> <filename>post_install_script.sh</filename> <source><![CDATA[ wget -O- http://$http_server/cblr/svc/op/script/$what/$name/?script=suse_post_default | /bin/bash ]]></source> </script> ## This plugin wrapper provides the flexibility to call pure shell ## snippets which can be used directly on kickstart and with with ## wrapper on SuSE. #set global $wrappedscript = 'restore_boot_device' $SNIPPET('suse_scriptwrapper.xml') </post-scripts> <chroot-scripts config:type="list"> <script> <interpreter>shell</interpreter> <chrooted config:type="boolean">true</chrooted> <filename>chroot_install_script.sh</filename> <source><![CDATA[ wget -O- http://$http_server/cblr/svc/op/script/$what/$name/?script=suse_late_default | /bin/bash ]]></source> </script> </chroot-scripts> <init-scripts config:type="list"> <script> <interpreter>shell</interpreter> <filename>init_install_script.sh</filename> <source><![CDATA[ wget -O- http://$http_server/cblr/svc/op/script/$what/$name/?script=suse_init_default | /bin/bash ]]></source> </script> </init-scripts> </scripts> </profile>