Bug#762007: Kernel command line handling change breaks d-i user-params functionality
On Sat, 2014-09-27 at 14:01 +0100, Ian Campbell wrote:
> On Wed, 2014-09-17 at 18:45 +0100, Ian Campbell wrote:
> > Not sure what we can do about this. Perhaps choose another separator
> > ("=="?) and make user-params support both?
>
> Reading the kernel source it seems it only checks for exactly "--". So I
> propose we support "---" in addition to "--", something like the
> following (untested) patch.
I've built an di-utils with this patch and built a di using that
package. I booted (on x86 FWIW) with a command line ending
"--- quiet console=ttyS0,115200n8"
instead of "-- quiet console=ttyS0,115200n8".
Dropping straight to a shell and running user-params returns those two
options as expected.
I've left a complete install running but I'm pretty confident that it
will succeed.
As well as this fix I think we need to investigate which of these need
fixing too (i.e. with s/--/---/ in appropriate places):
* The pxe/grub etc configs in debian-installer.git
* Debian-cd
* Installation guide
I'm sure that list must be incomplete but it was all I could come up
with. Sadly, as you might imagine, "--" is not terribly amenable to grep
or codesearch.d.o.
Ian.
>
> diff --git a/user-params b/user-params
> index 53677b5..2d41e05 100755
> --- a/user-params
> +++ b/user-params
> @@ -14,7 +14,7 @@ for item in $(sed -e 's/[^ =]*="[^"]*[ ][^"]*"//g' \
> # Remove trailing '?' for debconf variables set with '?='
> var="${var%\?}"
>
> - if [ "$item" = "--" ]; then
> + if [ "$item" = "--" ] || [ "$item" = "---" ]; then
> inuser=1
> collect=""
> elif [ "$inuser" ]; then
>
> Ian.
>
>
Reply to: