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

Busybox 1.27 breaks kernel cmdline preseeding



Hi,

In Ubuntu we recently noticed the following: with busybox 1.27.0; d-i now does not take into account some preseeding that happens at the kernel cmdline.

For instance:
linux /vmlinux etc. etc. etc. debconf/priority=critical netcfg/get_hostname=blah

Here, debconf/priority and netcfg/get_hostname would not be preseeded correctly. On the other hand, using their aliases 'priority' and 'hostname' would work correctly.

I investigated this with Adam Conrad and we tracked it down to changes in busybox's handling of /. It was previously permitted in variable names in the environment (cmdline preseeding eventually makes it there, where it gets read by env2debconf), and is no longer acceptable. This is why 'priority' works and 'debconf/priority' does not. It is technically correct to not allow slashes in variable names in the environment.

Now, how should we go about fixing this? Adam pointed out we could always just parse /proc/cmdline, but this does not just work on kfreebsd. It's also possible to consider both /proc/cmdline and the environment; or just revert the particular change in busybox.

I don't feel strongly either way, but I want to make the solution available in Debian as well... Anybody have a preference?

Kindly,

Mathieu Trudel-Lapierre <cyphermox@ubuntu.com>
Freenode: cyphermox, Jabber: mathieu.tl@gmail.com
4096R/65B58DA1 818A D123 0992 275B 23C2  CF89 C67B B4D6 65B5 8DA1

Reply to: