I've been testing grub on a few boxes here. We (mandrake) are wondering about
switching from lilo to grub. grub has a lot of advantages. It's main default is
people not knowing it => less support will be available on mailing lists...
Anyway, here are the problems i got with latest release:
- --disable-lba-support-bitmap-check needed (we can't ask users to recompile if
they have a buggy bios :)
- on a box, the bios doesn't remap and so it says it has 16383 cylinders.
get_diskinfo_standard reports only 1024 cylinders whereas
get_diskinfo_int13_extensions correctly returns 16383 cylinders.
- on yet another box, both get_diskinfo_standard and
get_diskinfo_int13_extensions reports only 1024 cylinders.
To be able to overcome these 2 pbs, i use this _ugly_ patch below. A better (?)
solution would be to remove each use of total_sectors for verification.
thanks, cu Pixel.
PS: lilo 21-4 (was 22) works on this 2 boxes. I didn't have a look to see how it
achives this. I think about something like not checking bounds like my patch does.
================================================================================
diff -r -u -N grub-0.5.94.old/stage2/bios.c grub-0.5.94/stage2/bios.c
--- grub-0.5.94.old/stage2/bios.c Mon Feb 7 22:21:52 2000
+++ grub-0.5.94/stage2/bios.c Wed Mar 22 14:38:04 2000
@@ -195,7 +195,7 @@
* geometry->heads
* geometry->sectors);
}
- geometry->total_sectors = total_sectors;
+ geometry->total_sectors = ~0L;
}
else
{
diff -r -u -N grub-0.5.94.old/stage2/builtins.c grub-0.5.94/stage2/builtins.c
--- grub-0.5.94.old/stage2/builtins.c Tue Feb 29 22:47:48 2000
+++ grub-0.5.94/stage2/builtins.c Wed Mar 22 14:39:03 2000
@@ -1157,10 +1157,10 @@
#endif
grub_printf ("drive 0x%x: C/H/S = %d/%d/%d, "
- "The number of sectors = %d, %s\n",
+ "%s\n",
current_drive,
geom.cylinders, geom.heads, geom.sectors,
- geom.total_sectors, msg);
+ msg);
real_open_partition (1);
return 0;
================================================================================