grub-devel
[Top][All Lists]
Advanced

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

Re: grub2: menuentry stanza doesn't accept $ { } in variable substitutio


From: Luca Capello
Subject: Re: grub2: menuentry stanza doesn't accept $ { } in variable substitutions
Date: Tue, 03 Oct 2006 13:48:18 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux)

Hello all,

this is my first post on this list :-)

I'm resending my previous mail which was directly rejected: I was
aware of the fact that grub-devel is a subscribed-only list, but I
(erroneously) thought there was a sort of administrator.  Never
mind...

I'm posting here as suggested by Robert Millan, including the original
Debian bug report, available at:

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=390473

Thx, bye,
Gismo / Luca

On Tue, 03 Oct 2006 12:46:14 +0200, Luca Capello wrote:
> Hi Robert!
>
> To the grub-devel guys: attached the report of a grub2 bug I
> experienced on Debian (marco_g should already be aware of).  In case
> of replies, please cc: the Debian BTS and myself (I set R-T and M-F-T
> accordingly).
>
> On Mon, 02 Oct 2006 17:10:12 +0200, Robert Millan wrote:
>> Given that this is treated as a syntax error, I don't consider it to
>> be release critical (it is important, though, on the basis that a
>> non-release Debian platform depends on it).
>
> Well, given the definition of critical [1] and the fact that with the
> old menu.lst converted to grub.cfg my system broke, I chose critical.
> However, I agree that mine could be considered a not-so-common case,
> thus I'm fine with important :-)
>
>> I would like not to diverge from upstream, specialy since GNU/Hurd
>> is a platform we expect them to support.  Please, could you resend
>> your report to them ?  (address@hidden).
>
> Done (and marked the Debian bug as forwarded).
>
> I should note that thanks to the help of #hurd and #grub of Freenode
> (mostly marco_g ;-) ), the problem is solved escaping the "bad"
> characters within single quotes.
>
> Anyway, I still consider it an important bug (at least because there's
> no documentation for it).  Waiting for an upstream solution, I'll put
> a note in the README.Debian (or better in the NEWS.Debian, which is
> showed during upgrades).
>
> Thx, bye,
> Gismo / Luca
>
> Footnotes: 
> [1] makes unrelated software on the system (or the whole system)
>     break, or causes serious data loss, or introduces a security hole
>     on systems where you install the package

--- Begin Message --- Subject: Bug#390473: grub2: menuentry stanza doesn't accept $ { } in variable substitutions Date: Sun, 01 Oct 2006 15:54:00 +0200 User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux)
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

Attachment: pgpPcOhUqUSfC.pgp
Description: PGP signature


--- End Message ---

Attachment: pgpSkObjbK71i.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]