Linux Archive

Linux Archive (
-   Ubuntu Server Development (
-   -   Odd prompt at end of automated install (

Justin Ryan 08-29-2012 11:40 PM

Odd prompt at end of automated install
Howdy :)

We're automating installs of Lucid, Maverick, and testing Precise. On
all of these distributions, we face a prompt at the end which says
something like:

"Continue without installing Grub?"

If we answer "yes", everything is fine. Unfortunately, this can be a
real pain on machines with limited remote access, e.g. serial console.

It's pretty well a failed automated strategy if we have to call the
datacenter and have someone walk over to press "enter". :)

In any case, I was hoping someone on the list would have thoughts on
why this might occur.

Pasted below is an example preseed (these are generated by a Django app):

-- snip --

d-i debian-installer/locale string en_US

d-i console-setup/ask_detect boolean false

d-i console-setup/layoutcode string us

### Network configuration

# Our Ubuntu configs use a simple static IP for installation. We correct the

# interface configuration using a post-install script.

### Network configuration

#d-i netcfg/choose_interface select auto

d-i netcfg/choose_interface select eth1

#d-i netcfg/dhcp_timeout string 60

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/get_nameservers string

d-i netcfg/get_ipaddress string

d-i netcfg/get_netmask string

d-i netcfg/get_gateway string

d-i netcfg/confirm_static boolean true

d-i netcfg/get_hostname string s-08-07-b

d-i netcfg/get_domain string

d-i netcfg/wireless_wep string

d-i preseed/run string /static/install/preseed/static

### Mirror settings

d-i mirror/country string manual

d-i mirror/http/hostname string

d-i mirror/http/directory string /ubuntu

# Alternatively: by default, the installer uses where

# CC is the ISO-3166-2 code for the selected country. You can preseed this

# so that it does so without asking.

#d-i mirror/http/mirror select

d-i mirror/suite string lucid

d-i mirror/udeb/components multiselect main, restricted

# Additional repositories, local[0-9] available

d-i apt-setup/local0/repository string lucid main

d-i apt-setup/local0/comment string local server

# Enable deb-src lines

#d-i apt-setup/local0/source boolean true

# URL to the public key of the local repository; you must provide a key or

# apt will complain about the unauthenticated repository and so the

# sources.list line will be left commented out

d-i apt-setup/local0/key string

### Clock Settings

d-i clock-setup/utc boolean true

d-i time/zone string Etc/UTC

d-i clock-setup/ntp boolean true

#d-i clock-setup/ntp-server string

### Partitioning

# The presently available methods are: "regular", "lvm" and "crypto"

#d-i partman-auto/disk string /dev/sda

d-i partman/early_command string if [ -f "/sys/module/cciss/version"
]; then debconf-set partman-auto/disk /dev/cciss/c0d0 ; debconf-set
grub-installer/bootdev /dev/cciss/c0d0; else debconf-set
partman-auto/disk /dev/sda; debconf-set grub-installer/bootdev
/dev/sda ; fi

d-i partman-auto/method string regular

# default FS, mount with UUIDs

d-i partman/default_filesystem string ext4

d-i partman/mount_style select uuid

# here is the partitioning scheme

#d-i partman-auto/choose_recipe select atomic

d-i partman-auto/expert_recipe string

single ::

500 10000 1000000000 ext4

$primary{ }

$bootable{ }

method{ format }

format{ }

use_filesystem{ }

filesystem{ ext4 }

mountpoint{ / } .

# yes, overwrite existing partitions

d-i partman/confirm_nooverwrite boolean true

d-i partman-md/confirm_nooverwrite boolean true

d-i partman-lvm/confirm_nooverwrite boolean true

d-i partman-basicfilesystems/no_swap boolean false

# yes, remove existing LVs (LVM) and RAID partitions

d-i partman-lvm/device_remove_lvm boolean true

d-i partman-md/device_remove_md boolean true

# yes, really do the LVM or RAID setup I specified above

d-i partman-lvm/confirm boolean true

d-i partman-md/confirm boolean true

# yes, write new label, do the partitioning, and yes again

d-i partman/confirm_write_new_label boolean true

d-i partman/choose_partition select finish

d-i partman/confirm boolean true

# still boot up if the array is degraded

mdadm-udeb mdadm/boot_degraded boolean true

# Install boot loader to first disk

#d-i grub-installer/bootdev string (hd0,0)

### Base system installation

d-i base-installer/kernel/image string linux-image-2.6.32-38-server

### Account setup

d-i passwd/root-login boolean false

# root password unset

#d-i passwd/root-password password r00tme

#d-i passwd/root-password-again password r00tme

d-i passwd/root-password-crypted password YeahYeahYeahRight

d-i passwd/user-fullname string Operations

d-i passwd/username string ops

d-i passwd/user-password-crypted password YeahYeahYeahRight

d-i passwd/user-uid string 1000

#d-i user-setup/allow-password-weak boolean true

d-i passwd/user-default-groups string audio cdrom video

d-i user-setup/encrypt-home boolean false

### Apt setup

# You can choose to install restricted and universe software, or to install

# software from the backports repository.

#d-i apt-setup/restricted boolean true

#d-i apt-setup/universe boolean true

d-i apt-setup/backports boolean true

# Uncomment this if you don't want to use a network mirror.

#d-i apt-setup/use_mirror boolean false

# Select which update services to use; define the mirrors to be used.

# Values shown below are the normal defaults.

#d-i apt-setup/services-select multiselect security

#d-i apt-setup/security_host string

#d-i apt-setup/security_path string /ubuntu

# Additional repositories, local[0-9] available

#d-i apt-setup/local0/repository string

# http://local.server/ubuntu &releasename; main

#d-i apt-setup/local0/comment string local server

# Enable deb-src lines

#d-i apt-setup/local0/source boolean true

# URL to the public key of the local repository; you must provide a key or

# apt will complain about the unauthenticated repository and so the

# sources.list line will be left commented out

#d-i apt-setup/local0/key string http://local.server/key

# By default the installer requires that repositories be authenticated

# using a known gpg key. This setting can be used to disable that

# authentication. Warning: Insecure, not recommended.

#d-i debian-installer/allow_unauthenticated string true

### Package selection

#tasksel tasksel/desktop multiselect gnome

tasksel tasksel/first multiselect standard

#tasksel tasksel/force-tasks string server

#tasksel tasksel/limit-tasks string

#tasksel tasksel/skip-tasks string

#tasksel tasksel/tasks multiselect

#tasksel tasksel/terminal terminal

# Individual additional packages to install

#d-i pkgsel/include string openssh-server build-essential

#d-i pkgsel/include string openssh-server ipmitool emacs23-nox bc
binutils curl dnstop ethtool finger fping gawk ksh libssl-dev
bsd-mailx munin-node nfs-common ntp patch portmap postfix procmail
puppet screen snmpd sysstat sysv-rc-conf tcsh traceroute whois zsh
git-core subversion smartmontools

d-i pkgsel/include string openssh-server ipmitool emacs23-nox curl
ethtool postfix sysstat sysv-rc-conf vim lldpd linux-crashdump

#d-i pkgsel/upgrade select none

#d-i pkgsel/language-packs multiselect de, en, zh

d-i pkgsel/update-policy select none

#d-i pkgsel/updatedb boolean true

### Boot loader installation

d-i grub-installer/only_debian boolean true

d-i grub-installer/with_other_os boolean true

### Finishing up the installation

d-i finish-install/keep-consoles boolean true

d-i finish-install/reboot_in_progress note

d-i cdrom-detect/eject boolean false

#d-i debian-installer/exit/halt boolean true

#d-i debian-installer/exit/poweroff boolean true

#### Advanced options

### Running custom commands during the installation

# This first command is run as early as possible, just after

# preseeding is read.

#d-i preseed/early_command string anna-install some-udeb

# This command is run immediately before the partitioner starts. It may be

# useful to apply dynamic partitioner preseeding that depends on the state

# of the disks (which may not be visible when preseed/early_command runs).

#d-i partman/early_command string debconf-set partman-auto/disk
"$(list-devices disk | head -n1)"

# 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 wget -O /target/tmp/; wget -O
/bin/chmod u+x /target/tmp/; in-target

ubuntu-server mailing list
More info:

Robie Basak 08-30-2012 07:42 AM

Odd prompt at end of automated install
Are you setting a kernel commandline of "priority=critical"?

ubuntu-server mailing list
More info:

Justin Ryan 08-31-2012 09:17 PM

Odd prompt at end of automated install
Robie - thanks for your response. :)

On Thu, Aug 30, 2012 at 12:42 AM, Robie Basak <> wrote:
> Are you setting a kernel commandline of "priority=critical"?

I haven't yet tried this. Tom H piped up this morning, which got my
attention on my phone while on the train, and I tried, in the preseed

d-i debconf/priority select critical

No love on that, I'll try the kernel cmdline next!

On Fri, Aug 31, 2012 at 7:47 AM, Tom H wrote:
> Regarding:
> "Are you setting a kernel commandline of "priority=critical"?"
> You can also set "d-i debconf/priority select critical" (or high, it
> may be enough) in the pressed file.

ubuntu-server mailing list
More info:

Justin Ryan 08-31-2012 09:36 PM

Odd prompt at end of automated install
Checked again and I am, in fact, setting priority=critical on the
kernel commandline.

I discussed with my teammate and he thinks it may be that he is using
some conditional logic in the preseed to determine what device name to
use - we have some HP machines which have wierd device names like
ccss00 or somesuch.

Our preseed is generated dynamically by a web app, as I mentioned, so
we could try to move the conditional logic there, but there is a
chicken <-> egg problem that new hosts boot to a dynamic IP, install
with a default config, and register / continually update themselves
with our inventory system using a script installed into cron by

On Fri, Aug 31, 2012 at 2:17 PM, Justin Ryan <> wrote:
> Robie - thanks for your response. :)
> On Thu, Aug 30, 2012 at 12:42 AM, Robie Basak <> wrote:
>> Are you setting a kernel commandline of "priority=critical"?

ubuntu-server mailing list
More info:

All times are GMT. The time now is 11:19 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.