On Wed, Oct 18, 2017 at 07:11:49PM +0200, Andrea Bolognani wrote:
The lcitool script can now be used to install most known guests
without requiring user interaction.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
[...]
diff --git a/guests/kickstart.cfg b/guests/kickstart.cfg
new file mode 100644
index 0000000..603c0ae
--- /dev/null
+++ b/guests/kickstart.cfg
@@ -0,0 +1,60 @@
+# Installer configuration
+#
+# Perform a text based installation followed by a reboot, and disable
+# the first boot assistant
+text
+install
+reboot
+firstboot --disable
+
+
+# Environment configuration
+#
+# Locale, keyboard and timezone. All these will be configured again
+# later with Ansible, but they're required information so we must
+# provide them
+lang en_US.UTF-8
+keyboard us
+timezone --utc UTC
+
+
+# User creation
+#
+# We don't create any user except for root. We can use a very insecure
+# root password here because it will be replaced with a used-defined one
+# with Ansible immediately after installation
+authconfig --enableshadow --passalgo=sha512
+rootpw --plaintext root
+
+
+# Partition disk
+#
+# Erase everything and set up a 2 GiB swap partition, then assign all
s/2 GiB/256 MiB/
+# remaining space to the root partition
+ignoredisk --only-use=vda
+zerombr
+clearpart --none
+part / --fstype=ext4 --size=2048 --grow
+part swap --fstype=swap --size=256
+
+
+# Install bootloader
+#
+# The bootloader will be installed in the MBR
+bootloader --location=mbr --timeout=1
+
+
+# Configure networking
+#
+# The only network interface available to the guest will come up
+# at boot using IPv4-only DHCP
+network --bootproto=dhcp --noipv6 --activate --onboot=yes
+
+
+# Software installation
+#
+# Only install the very base packages: everything else will be
+# installed later using Ansible
+%packages
+@core
+%end
[...]
diff --git a/guests/preseed.cfg b/guests/preseed.cfg
new file mode 100644
index 0000000..00fd20d
--- /dev/null
+++ b/guests/preseed.cfg
@@ -0,0 +1,85 @@
+# Installer configuration
+#
+# Perform an automated installation where only critical questions
+# are asked interactively
+d-i auto-install/enable boolean true
+d-i debconf/priority string critical
+d-i finish-install/reboot_in_progress note
+
+
+# Environment configuration
+#
+# Locale, keyboard and timezone. All these will be configured again
+# later with Ansible, but they're required information so we must
+# provide them
+d-i debian-installer/locale string en_US.UTF-8
+d-i keyboard-configuration/xkb-keymap select us
+d-i time/zone string UTC
+d-i clock-setup/utc boolean true
+d-i clock-setup/ntp boolean true
+
+
+# User creation
+#
+# We don't create any user except for root. We can use a very insecure
+# root password here because it will be replaced with a used-defined one
+# with Ansible immediately after installation
+d-i passwd/make-user boolean false
+d-i passwd/root-login boolean true
+d-i passwd/root-password password root
+d-i passwd/root-password-again password root
+d-i user-setup/allow-password-weak boolean true
+
+
+# Partition disk
+#
+# Erase everything and set up a 2 GiB swap partition, then assign all
s/2 GiB/256 MiB/
+# remaining space to the root partition
+d-i partman-auto/disk string /dev/vda
+d-i partman-auto/method string regular
+d-i partman-auto/expert_recipe string \
+ custom :: \
+ 2048 2048 -1 ext4 \
+ $primary{ } $bootable{ } \
+ method{ format } format{ } \
+ use_filesystem{ } filesystem{ ext4 } \
+ mountpoint{ / } \
+ . \
+ 256 256 256 linux-swap \
+ $primary{ } \
+ method{ swap } format{ } \
+ .
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+
+# Install bootloader
+#
+# The bootloader will be installed in the MBR
+d-i grub-installer/skip boolean false
+d-i grub-installer/bootdev string /dev/vda
+d-i grub-installer/only_debian boolean true
+
+
+# Configure networking
+#
+# The only network interface available to the guest will come up
+# at boot using DHCP
+d-i netcfg/enable boolean true
+d-i netcfg/choose_interface select auto
+d-i netcfg/get_hostname string localhost
+d-i netcfg/get_domain string localdomain
+
+
+# Software installation
+#
+# Only install the very base packages: everything else will be
+# installed later using Ansible. We need to install openssh-server
+# and configure it to permit root login now, though, otherwise we
+# won't be able to access the machine for Ansible use later on
+tasksel tasksel/first multiselect standard
+d-i pkgsel/upgrade select none
+d-i pkgsel/include string openssh-server
+d-i preseed/late_command string in-target sed -i
's/^#*\s*PermitRootLogin\s*.*$/PermitRootLogin yes/g' /etc/ssh/sshd_config
--
2.13.6
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list