Bug#650435: grub-pc: recsue mode doesn't rescue: error: incompatible license

Vladimir 'φ-coder/phcoder' Serbinenko phcoder at gmail.com
Tue Nov 29 19:35:37 UTC 2011


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-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grub-devel
>


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






More information about the Pkg-grub-devel mailing list