Bug#610282: preseed: partman-lvm/confirm boolean true does not suppress "Before the Logical Volume ..."
Package: debian-installer
Version: 20101127
Severity: normal
Tags: d-i
When using a preconfiguration file to automate the installation of a Debian
squeeze system, the preseed statement:
d-i partman-lvm/confirm boolean true
does not suppress the following message as expected:
Before the Logical Volume Manager can be configured, the current
partitioning scheme has to be written to disk. These changes cannot
be undone.
After the Logical Volume Manager is configured, no additional changes
to the partitioning scheme of disks containing physical volumes are
allowed during the installation. Please decide if you are satisfied
with the current partitioning scheme before continuing.
The partition tables of the following devices are changed:
Virtual disk 1 (vda)
Write the changes to disks and configure LVM?
<Yes> <No>
I was able to resolve the issue by adding the following preseed statement
to my preconfiguration file:
d-i partman-lvm/confirm_nooverwrite boolean true
It's unclear to me if (a) the above should be required to suppress the message,
or (b) if the above should be part of the example seed file in the
documentation. I'm unsure of how the installer scripts work, but I was under
the impression based on what I did read on the Debian site that the message
should have been suppressed with only the 'partman-lvm/confirm' statement. The
docs indicated that one should look in /var/lib/cdebconf/templates.dat and
questions.dat. These showed the value for partman-lvm/confirm as having been
seen and set to true. I examined those files on virtual console 2 while the
installer was displaying the message on virtual console 1.
My environment consists of a Debian squeeze KVM host that contains several
guest squeeze VMs. While trying to fully automate the installation of a
squeeze guest, I discovered the installer was prompting for the above
message. The procedure I used to create a guest is as follows (assumes
you have a libvirt storage pool defined as well as a network bridge):
# NAME=guest
# IPADDR=10.0.1.212
# virsh vol-create-as default ${NAME} 5G --format raw
# virt-install -n ${NAME} -r 256 --vcpus 2 --description "My first VM" --os-type linux
--os-variant debiansqueeze --disk vol=default/${NAME},bus=virtio,cache=none --network
bridge=br0,model=virtio --hvm --virt-type kvm --accelerate --vnc --noautoconsole
--location http://debian.lcs.mit.edu/debian/dists/squeeze/main/installer-amd64
--extra-args "auto=true interface=eth0 hostname=${NAME} domain=kazmier.com
netcfg/get_ipaddress=${IPADDR} netcfg/get_netmask=255.255.255.0
netcfg/get_gateway=10.0.1.1 netcfg/get_nameservers=10.0.1.1 netcfg/disable_dhcp=true
url=http://10.0.1.205/preseed/squeeze.cfg"
The '--extra-args' are provided as parameters to the kernel when the installer
is run. They contain values that are not defined in my preconfiguration file
because they are guest specific. Here is my preconfiguration file BEFORE I
resolved the issue by adding the other statement:
# egrep -v '^$|^#' /var/www/preseed/squeeze.cfg
d-i debian-installer/locale string en_US
d-i console-keymaps-at/keymap select us
d-i netcfg/choose_interface select eth0
d-i netcfg/disable_dhcp boolean true
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually
d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/wireless_wep string
d-i mirror/country string manual
d-i mirror/http/hostname string debian.lcs.mit.edu
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
d-i clock-setup/utc boolean true
d-i time/zone string US/Eastern
d-i clock-setup/ntp boolean true
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/choose_recipe select atomic
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
d-i base-installer/kernel/image string linux-image-2.6-amd64
d-i passwd/root-password-crypted password [password removed]
d-i passwd/user-fullname string PK
d-i passwd/username string kaz
d-i passwd/user-password-crypted password [password removed]
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/services-select multiselect security, volatile
d-i apt-setup/security_host string security.debian.org
d-i apt-setup/volatile_host string volatile.debian.org
tasksel tasksel/first multiselect standard, ssh-server
popularity-contest popularity-contest/participate boolean false
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note
As I mentioned above, I did resolve the issue by adding another statement
to the preconfiguration file, but I was unsure if that truly was the fix,
so I opted to open my first bug report (please be kind).
-- System Information:
Debian Release: 6.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
-- no debconf information
Reply to: