[syslinux] Boot Error GPT partition

Michal Soltys soltys at ziu.info
Sun Feb 20 15:42:15 PST 2011

On 11-01-18 21:56, H. Peter Anvin wrote:
> On 12/31/2010 02:58 AM, KESHAV P.R. wrote:
>>  It seems extlinux installer of 4.04-preX does not correctly encode the
>>  location of ldlinux.sys into the partition bootsector. I moved back to
>>  4.03-stable and reinstalled extlinux.
>>  sudo extlinux --install /boot/syslinux   ->  4.04-pre4
>>  sudo extlinux --update /boot/syslinux  ->  4.03-stable
>>  leads to the "Boot error" (but both report the partition correctly)
>>  but "extlinux --install" from 4.03 solved the problem (--update does
>>  not work)". That means the post-4.03 syslinux/extlinux installer do
>>  not encode the bootsector and ldlinux.sys properly. I have switched
>>  back to extlinux, but grub2 did not give me any of there errors as it
>>  uses a separate bios boot partition and does not use partition boot
>>  sectors, thus no problem of shifting of ldlinux.sys within the
>>  partition.
>>  Thanks and Regards.
> Interesting... what MBR are you using?
> 	-hpa

I've run into the same problem as Keshav - freshly installed syslinux 
(both ext and fat) always resulted with boot errors.

The commit responsible for that is:

commit 56c070e477c96d964ed7beab216b113dac8de0ef
Author: H. Peter Anvin <hpa at zytor.com>
Date:   Tue Dec 14 09:53:42 2010 -0800

     core, diskstart: add more sanity checks for handover info

Precisely, the culprit is this check:

                 cmp dx,1024             ; DS:SI < 1K (inside the IVT)?
                 jb .no_partition

should be

                 cmp dx,1024 >> 4        ; DS:SI < 1K (inside the IVT)?
                 jb .no_partition

as we're still operating in segment units.

More information about the Syslinux mailing list