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. |