What happened to preseed/late_command?

Colin Watson cjwatson at ubuntu.com
Wed Dec 12 19:45:58 GMT 2007

On Wed, Dec 12, 2007 at 06:37:43PM +0100, Josef Wolf wrote:
> On Wed, Dec 12, 2007 at 09:58:30AM +0000, Colin Watson wrote:
> > Could you give a more concrete example? Perhaps it's the commands
> > you're running that are problematic?
> I've created a customized install CD based on gutsy alternate CD.  To
> load my preseed file, I changed the append line in isolinux.cfg (I break
> the line to improve readability)

Since I routinely lint people's preseeding for them, I'll do so now ...

>    append  debian-installer/locale=de_DE \

Perhaps de_DE.UTF-8 would be better nowadays - I can never remember
whether localechooser derives that automatically.

>            console-setup/variant=Germany \
>            console-setup/layout=Germany \

The questions intended for preseeding are console-setup/layoutcode and
console-setup/variantcode, and those take XKB layout and variant names,
so this should really be console-setup/layoutcode=de and omit
console-setup/variantcode. (Yours may work, but isn't guaranteed.)

>            console-setup/ask_detect=false \

As a bonus, this is implied by preseeding console-setup/layoutcode to
any non-empty string.

> Below is my generic.seed (I stripped comments from preseed values which
> are not related to preseed/early_command).  The relevant setting is at
> the end of this post.  In the comment, I've added some remarks.  This
> preseed file is definitely loaded, since even the crypted password is
> set correctly.
>    d-i debian-installer/locale string de_DE
>    d-i console-setup/layoutcode string de-latin1-nodeadkeys

This probably isn't used, but de-latin1-nodeadkeys dates from the days
before console-setup. I'd recommend just removing this.

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

In 7.10, you also need 'd-i partman-auto/method string regular'.

>    d-i apt-setup/restricted boolean true
>    d-i apt-setup/universe boolean true

These are just the defaults.

>    tasksel tasksel/first multiselect ubuntu-standard

This should be standard rather than ubuntu-standard.

>    d-i preseed/late_command \
>       string cp -a /cdrom/preseed/instfiles /target; \
>              chmod -R u=rwX,go= /target/instfiles; \
>              cd /target/instfiles/gem/scripts/start; \
>              for i in *; do \
>                ln -s /instfiles/gem/scripts/start/$i /target/etc/rcS.d; \
>              done
> Again, to improve readability, I split the line.  While installing,
> /cdrom/preseed/instfiles exists and contains the desired scripts.  The
> idea is to execute those scripts at the first reboot while /etc/rcS.d
> scripts are executed.  But the instfiles directory never ends up in the
> /target directory.
> After installation, I make "find /var/log -type f | xargs grep late_command"
> and the only results I get are the ones in questions.dat/template.dat.

OK, this looks correct to me. Could you search for "Name:
preseed/late_command" in /var/log/installer/cdebconf/questions.dat and
copy-and-paste that whole paragraph, so we can see how your preseed file
was interpreted?


Colin Watson                                       [cjwatson at ubuntu.com]

More information about the Ubuntu-installer mailing list