Bug#390473: grub2: menuentry stanza doesn't accept $ { } in variable substitutions

Luca Capello luca at pca.it
Sun Oct 1 13:54:00 UTC 2006


Package: grub2
Version: 1.94+20060926-1
Severity: critical

Hello,

with the previous grub1 I had a Debian GNU/Hurd entry in my menu.lst:
=====
title		Debian GNU/Hurd
root		(hd0,9)
kernel		/boot/gnumach.gz root=device:hd0s10
module		/hurd/ext2fs.static \
		--multiboot-command-line=${kernel-command-line} \
		--host-priv-port=${host-port} \
		--device-master-port=${device-port} \
		--exec-server-task=${exec-task} \
		-T typed ${root} $(task-create) $(task-resume)
module		/lib/ld.so.1 /hurd/exec $(exec-task=task-create)
boot
=====

The first time I installed grub2 I "converted" that entry into the
grub2 config menu:
=====
menuentry "Debian GNU/Hurd" {
	set root=(hd0,9)
	multiboot /boot/gnumach.gz root=device:hd0s10
	module /hurd/ext2fs.static \
	       --multiboot-command-line=${kernel-command-line} \
	       --host-priv-port=${host-port} \
	       --device-master-port=${device-port} \
	       --exec-server-task=${exec-task} \
	       -T typed ${root} $(task-create) $(task-resume)
	module /lib/ld.so.1 /hurd/exec $(exec-task=task-create)
}
=====

After a `grub-install /dev/hda` and a reboot, grub2 entered in a panic
state at boot.  Hopefully, the panic is reproducible, even on qemu:
create the following stanza (you can substitute $ with a second { ):

    menuentry "test" { $ }

The panic is similar to the error generated with a $ at the beginning
of the grub.cfg file.  While in the latter case grub2 can continue
booting, in n the former case the only way to solve it is to boot with
a rescue CD and remove the offending characters from grub2.cfg.

Trying to escape \$ \{ and \} doesn't solve the problem.

Thx, bye,
Gismo / Luca

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages grub2 depends on:
ii  libc6                        2.3.6.ds1-4 GNU C Library: Shared libraries
ii  liblzo1                      1.08-3      data compression library (old vers
ii  libncurses5                  5.5-4       Shared libraries for terminal hand

grub2 recommends no packages.

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20061001/d24a69f8/attachment.pgp


More information about the Pkg-grub-devel mailing list