aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/cobbler/kickstarts
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/adapters/cobbler/kickstarts')
-rw-r--r--deploy/adapters/cobbler/kickstarts/default.seed137
-rw-r--r--deploy/adapters/cobbler/kickstarts/default.xml269
2 files changed, 406 insertions, 0 deletions
diff --git a/deploy/adapters/cobbler/kickstarts/default.seed b/deploy/adapters/cobbler/kickstarts/default.seed
new file mode 100644
index 00000000..a53b7c05
--- /dev/null
+++ b/deploy/adapters/cobbler/kickstarts/default.seed
@@ -0,0 +1,137 @@
+# Mostly based on the Ubuntu installation guide
+# https://help.ubuntu.com/12.04/installation-guide/
+
+## Figure out if we're kickstarting a system or a profile
+#if $getVar('system_name','') != ''
+#set $what = "system"
+#else
+#set $what = "profile"
+#end if
+
+# Preseeding only locale sets language, country and locale.
+d-i debian-installer/locale string en_US
+d-i debian-installer/country string US
+d-i debian-installer/language string en
+
+# Keyboard selection.
+# Disable automatic (interactive) keymap detection.
+d-i console-setup/ask_detect boolean false
+d-i console-setup/layoutcode string us
+d-i console-setup/modelcode string SKIP
+d-i keyboard-configuration/variantcode string us
+d-i keyboard-configuration/layoutcode string us
+d-i keyboard-configuration/model select Generic 105-key (Intl) PC
+d-i console-keymaps-at/keymap select us
+d-i keyboard-configuration/xkb-keymap select us
+
+d-i preseed/early_command string \
+wget -O- \
+http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_early_default | /bin/sh -s; \
+debconf-set-selections /tmp/pre_install_network_config
+
+d-i partman/early_command string \
+wget -O- \
+http://$http_server/cblr/svc/op/script/$what/$name/?script=partman_early_default | /bin/sh -s; \
+debconf-set-selections /tmp/part-include
+
+$SNIPPET('preseed_network_config')
+$SNIPPET('preseed_partition_disks')
+
+# NTP/Time Setup
+#if $getVar('timezone', '') != ""
+d-i time/zone string $timezone
+#else
+d-i time/zone string US/Pacific
+#end if
+d-i clock-setup/utc boolean true
+d-i clock-setup/ntp boolean true
+#if $getVar('ntp_server', '') == ""
+d-i clock-setup/ntp-server string 0.ubuntu.pool.ntp.org
+#else
+d-i clock-setup/ntp-server string $ntp_server
+#end if
+
+# Setup the installation source
+d-i mirror/country string manual
+d-i mirror/http/hostname string $http_server
+d-i mirror/http/directory string $install_source_directory
+d-i mirror/http/proxy string
+d-i mirror/http/mirror select $http_server
+d-i mirror/protocol select http
+d-i mirror/udeb/components multiselect main, restricted
+
+#set $os_v = $getVar('os_version','')
+#if $os_v and $os_v.lower()[0] > 'p'
+# Required at least for 12.10+
+d-i live-installer/net-image string http://$http_server/cobbler/ks_mirror/$distro_name/install/filesystem.squashfs
+#end if
+
+# root account and password
+#if $getVar('username', 'root') != "root"
+d-i passwd/root-login boolean false
+d-i passwd/make-user boolean true
+d-i user-setup/allow-password-weak boolean true
+d-i passwd/root-password password root
+d-i passwd/root-password-again password root
+ #set username = $getVar('username', 'root')
+d-i passwd/user-fullname string $username
+d-i passwd/username string $username
+ #if $getVar('password', '') != ""
+d-i passwd/user-password-crypted password $password
+ #else
+d-i passwd/user-password password $username
+d-i passwd/user-password-again password $username
+ #end if
+#else
+d-i passwd/root-login boolean true
+d-i passwd/make-user boolean false
+d-i user-setup/allow-password-weak boolean true
+ #if $getVar('password', '') != ""
+d-i passwd/root-password-crypted password $password
+ #else
+d-i passwd/root-password password root
+d-i passwd/root-password-again password root
+ #end if
+#end if
+
+$SNIPPET('preseed_apt_repo_config')
+
+# Individual additional packages to install
+# wget is REQUIRED otherwise quite a few things won't work
+# later in the build (like late-command scripts)
+#if $getVar('tool', '') != ''
+ #set $preseed_software = "preseed_software_%s" % $tool
+$SNIPPET($preseed_software)
+#else
+d-i pkgsel/include string ntp ssh wget
+#end if
+
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+d-i popularity-contest/participate boolean false
+d-i lilo-installer/skip boolean true
+d-i grub-installer/only_debian boolean true
+
+# Use the following option to add additional boot parameters for the
+# installed system (if supported by the bootloader installer).
+# Note: options passed to the installer will be added automatically.
+d-i debian-installer/add-kernel-opts string $kernel_options_post
+d-i debian-installer/allow_unauthenticated string true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+d-i cdrom-detect/eject boolean false
+
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+# d-i preseed/late_command string [command]
+d-i preseed/late_command string \
+wget -O- \
+ http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_late_default | \
+ chroot /target /bin/sh -s; cp /target/etc/network/interfaces /etc/network/interfaces
diff --git a/deploy/adapters/cobbler/kickstarts/default.xml b/deploy/adapters/cobbler/kickstarts/default.xml
new file mode 100644
index 00000000..6583af4e
--- /dev/null
+++ b/deploy/adapters/cobbler/kickstarts/default.xml
@@ -0,0 +1,269 @@
+## 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;amp;network;
+ </networking>
+ $SNIPPET('ntp.xml')
+ <partitioning config:type="list">
+ &amp;amp;partition;
+ </partitioning>
+ <bootloader>
+ &amp;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>