[syslinux] [PATCH] memdisk: MBR not recognized correctly
Gert Hulselmans
gerth at zytor.com
Wed Mar 31 00:55:32 PDT 2010
bstroesser at ts.fujitsu.com wrote:
> From: Bodo Stroesser <bstroesser at ts.fujitsu.com>
>
> This fixes a small inaccuracy in memdisk:
>
> get_disk_image_geometry() does not use MBR data to detect disk
> geometry, since it checks MBR signature at wrong offset.
>
> This normally does not cause problems, because memdisk guesses a
> reasonable value, if no MBR is found.
>
> Signed-off-by: Bodo Stroesser <bstroesser at ts.fujitsu.com>
> ---
>
> --- syslinux-3.85/memdisk/setup.c.orig 2010-02-17 05:12:57.000000000 +0100
> +++ syslinux-3.85/memdisk/setup.c 2010-03-23 16:23:35.000000000 +0100
> @@ -648,7 +648,7 @@ static const struct geometry *get_disk_i
> if (!hd_geometry.driveno)
> hd_geometry.driveno = 0x80;
>
> - if (*(uint16_t *) ((char *)where + 512 - 2) == 0xaa55) {
> + if (*(uint16_t *) ((char *)where + hd_geometry.offset + 512 - 2) ==
> 0xaa55) {
> for (i = 0; i < 4; i++) {
> if (ptab[i].type && !(ptab[i].active & 0x7f)) {
> s = (ptab[i].start_s & 0x3f);
It is fixed in syslinux-3.86-pre2 (and higher).
Thanks for the patch.
- Gert Hulselmans
More information about the Syslinux
mailing list