Gentoo Archives: gentoo-user

From: etienne.lorrain@×××××.org
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Legacy GRUB vs GRUB2
Date: Wed, 23 Jun 2010 11:06:45
Message-Id: 4C21F854.14120.9BD394@etienne.lorrain.gujin.org
1 > Can someone possibly explain exactly what's wrong with GRUB2?
2
3 The main problem of GRUB2/GRUB4DOS is that it is entering the Linux
4 kernel by the partially documented 32 bits entry point:
5 http://www.mirrorservice.org/sites/alpha.gnu.org/gnu/grub/grub-1.98.tar.gz/grub-
6 1.98/loader/i386/linux.c?extract=true
7
8 That means you are no more executing the real mode part of the linux
9 kernel, you are using some real mode memory structures set-up by GRUB2.
10 Those structures have been more or less identical to those of Linux at
11 some point in the past.
12
13 That means that some kernel options which were working with GRUB1 (like
14 EDID and EBIOS disk identifications) are no more working, and no more
15 evolutions can be done in the real mode part of the Linux kernel (like
16 increasing some structures, moving their base address...).
17 Those evolutions would only be working with kernel booted with GRUB1,
18 LILO or Gujin, but not with GRUB2.
19 Disclaimer: I am not unrelated with the GPL bootloader Gujin at sourceforge.
20
21 When entering the Linux kernel by the 32 bits entry point on ia32/amd64
22 has been discussed on lkml, it was seriously criticised.
23
24 For instance, because the boot disk can no more be determined safely
25 (the BIOS on most machine can tell the PCI address of a drive, but
26 it is unsafe to call the BIOS after so many modifications in protected
27 mode done by GRUB2), you get distributions switching to all UUID mode
28 - which is a major pain when one of your hard disk fails and you copy
29 it byte per byte onto a spare disk, leading to UUID conflicts.
30
31 Also, some amd64 PC seems to want a BIOS call when they will run a
32 64 bits kernel (linux kernel real-mode code), I am not sure that one
33 is done by GRUB2.
34
35 And a third problem is that you need the 32 bits libraries to compile
36 GRUB2, even on a clean 64 bits machine.
37
38 Just my $0.02,
39 Etienne.