On 29.11.2011 20:14, Brian Potkin wrote:
Package: grub-pc
Severity: normal


I have used today's daily i386 netinst image to put a minimal install on
a USB stick, recognised as /dev/sdc by the installer. GRUB was put in the
MBR of the first hard disk, /dev/sda. There is no problem booting into
the OS on the stick.

If the USB device is unplugged and the machine switched on we get:

    GRUB loading.
    Welcome to GRUB!

    error: no such device:<UUID_of_the_partition_holding_Debian>.
    Entering rescue mode...

Which, given GRUB is looking for its files, is not surprising.

At the rescue prompt 'ls' gives a list of devices GRUB sees. We know one
of them, (hd0,msdos10), has a Squeeze install on it. Using what has
worked in the past:

    set prefix=(hd0,msdos10)/boot/grub
    set root=(hd0,msdos10)
    insmod linux

The third command gets the reponse:

    error: incompatible license.

Pressing on (even thought we expected the prompt to have become brighter
if the command had succeeded):

    linux /vmlinuz root=/dev/sda10

Which has the response:

    Unknown command `linux'

No joy at all!

In the file grub-core/kern/dl.c from grub2_1.99.orig.tar.gz we find:

    /* Me, Vladimir Serbinenko, hereby I add this module check as per new
       GNU module policy. Note that this license check is informative only.
       Modules have to be licensed under GPLv3 or GPLv3+ (optionally
       multi-licensed under other licences as well) independently of the
       presence of this check and solely by linking (module loading in GRUB
       constitutes linking) and GRUB core being licensed under GPLv3+.
       Be sure to understand your license obligations.
    */

and (after some lines of code I do not really understand)

      return grub_error (GRUB_ERR_BAD_MODULE, "incompatible license");

So the GRUB in the MBR of /dev/sda (version 1.99-14) doesn't like the
files in /boot/grub on /dev/sdc1 (GRUB version 1.98) from a licensing
perpective. Fair enough. But, while the module check is supposed to be
informative, booting from the rescue prompt appears effectively to be
prevented, which rather belies its name and purpose. As it happens,
there is a Sid install on (hd0,msdos8) which can be booted because it
has the right kind of files.

This isn't a d-i bug, or even a Debian bug for that matter, so please
let me know if you wish me to pursue it upstream rather than here.

GRUB doesn't have a stable binary ABI. So modules from one version can't be used with another one and not having consistent setup is a bug (usually wrong grub-install invocation) or user misintervention. If it wasn't for this message the loading would have failed for another reason (probably symbol problem). You need to use consistent setup. You can't take a new head and put it on old body, they are not compatible.

_______________________________________________
Pkg-grub-devel mailing list
pkg-grub-de...@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grub-devel



--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to