[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Preseeding - keyboard-configuration issue



On Mon 17 Dec 2012 at 22:24:11 -0700, Bob Proulx wrote:

> I have those preseeds on the kernel command line through a PXE network
> boot.
> 
>   vga=788 initrd=debian-installer/i386/initrd.gz console-keymaps-at/keymap=us locale=en_US interface=auto hostname=$name domain=$domain auto url=http://localweb/debian/preseed-squeeze-regular.cfg --

Looks pretty good.

You are preseeding language and keymap from the command line so auto(?)
or auto=true is not required because the first two questions concerned
get answers immediately on booting. auto=true would be needed if
console-keymaps-at/keymaplocale and locale were not on the command line
but in preseed-squeeze-regular.cfg. Here is what I focussed on when I
started looking at the auto-install process:

    > The auto parameter is an alias for auto-install/enable and
    > setting it to true delays the locale and keyboard questions
    > until after there has been a chance to preseed them, . . .

It is easy to observe that auto=true when booting a netinst ISO does not
present the language and keyboard questions in the main menu. They will
be asked after the network has been configured, but this can be avoided
by preseeding on the commnand line or in a preseed file. If preseeded in
both the file is used.

That might be easy, but I was caught out when I used an inappropriate
method to provide a preseed file. Basically, I thought preseed/file=
would be a good idea. After all, I had used it before with a netinst
ISO. Weird things happened, like the keymap not being preseeded.
Normally, I don't go looking for bugs. This time I did. Big mistake.

The correct way to supply a preseed file with auto=true is (I think) to
only use preseed/url= or url=. Now, is that glaringly obvious to you or
anyone else from section B.2.3. or elsewhere in the Manual?

> That is for Squeeze.  For Wheezy:
> 
>   vga=788 initrd=debian-installer/$arch/initrd.gz keymap=us locale=en_US interface=auto hostname=$name domain=$domain auto url=http://localweb/debian/preseed-wheezy-lvm.cfg

I'll mention #693956 here.

> That pre-answers the question keyboard.  It doesn't ask the question
> with those present.  That is why I say it is working fine.

Understood.

> I previously had it in the initrd/preseed.cfg file but when that
> changed for Wheezy I needed to move it to a more easily switched
> location.  And so it is on the command line now.

I've never looked at initrd preseeding and wonder what happens when
auto=true is used with it. My provisional understanding is that d-i gets
uppity if url= is not given alongside auto=true.
 
> That is how I am passing in the preseed.cfg file to the installer.
> 
>   http://www.debian.org/releases/stable/i386/apbs02.html.en#preseed-auto
> 
> It is still a black box to me.  One of these days I am going to need
> to pull the source and look to see what is happening under the hood.
> The documentation is a little vague.  But as I interpret it the "auto"
> turns on a module that then reads the "url=" part and pulls in the
> preseed.

I think "auto" is a typo. It should be "auto=true". When auto url= is
used only preseed/url appears in d-i's /var/lib/preseed/log. If you move
either of your kernel command lines to the preseed file, leaving
everything else unchanged, the two questions are asked.

Unless I'm dissuaded I'll submit a patch to Guide for this.
 
> As far as I can see "auto" is a shortcut for "auto=true" to enable the
> auto-install module.

Please see above. The documentation is not just vague but confusing. The
Guide in Section B.2.3. links to

   http://hands.com/d-i/

where it is said

       The features described depend on a new udeb called
       auto-install . . . .

Except there is no auto-install udeb. Research that and then wonder why
"auto" is in the documentation.


Reply to: