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

Bug#805291: preseed: Offer a way to override initrd-level preseeding with kernel command line preseeding



Source: preseed
Version: 1.68
Severity: wishlist
User: devel@kali.org
Usertags: origin-kali

In Kali, we rely on initrd preseeding to set a bunch of Debconf entries
because it's the only sane way to ensure that we have those during netboot
too.

Unfortunately, it makes it very hard for end-users to change some of
those entries... editing initrd is not the best interface. It would
be very nice if there was a way to override such preseeding with the
(kernel) boot command line.

Right now env-preseed runs before initrd-preseed:
$ ls debian-installer-startup.d/
S30env-preseed  S35initrd-preseed  S60auto-install

I'm not sure what is the rationale for this order but if we don't want to
swap the order, then I would suggest that we introduce a new syntax that
let us do this operation.

I think inverting the order of both script would make a lot of sense. I
tried to find reasons not to but there is no intermediary script between
S30 and S35 and thus except for the precedence of preseeding, it has no
other impact AFAIK.

Otherwise if not possible I suggest "mirror/hostname!=http://my.mirror"; as
alternative syntax, somewhat mirroring the already existing ?= syntax
(with the exclamation mark conveying the notion of "forcing") but I'm
happy with any other syntax that you might prefer.

Phil & Cyril, please share your opinions/preference as I'll probably try
to implement this soonish.

I track this wishlist on the Kali side too:
https://bugs.kali.org/view.php?id=2143

And it's prompted by the fact that even though we set a mirror in the
initrd, it would be nice if users could pick other mirrors via the command
line. Example case where someone was bitten by this:
https://www.linuxquestions.org/questions/debian-26/kernel-preseed-argument-vs-preseed-cfg-doesn%27t-work-4175534979/

-- System Information:
Debian Release: stretch/sid
  APT prefers squeeze-lts
  APT policy: (500, 'squeeze-lts'), (500, 'oldoldstable'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.2.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


Reply to: