[syslinux] Syslinux boot from a partition on sub stick with GPT label

H. Peter Anvin
2008-06-20T23:44:16Z

Fulvio Scapin wrote:
> I recently tried to install several distros on a usb stick, with the
> peculiarity of creating in it a GPT label rather than the usual dos label.
> Installed Grub2 using the parted bios_grub flag on a partition, I proceeded
> to copy several distros on the remaining partitions.
> Grub2 worked fine, chainloading syslinux on each of the partitions. Or
> rather it worked all fine until I reached the fifth partition. Once tried
> with that all I got was a boot error.
> Having tried extlinux on that one I persisted thinking that might have been
> the source of the problem. So I duplicated the contents of the fourth
> partition, installing syslinux as with that one.
> Boot error, again and again.
> The fact that the first four paritions work as expected sounds suspiciously
> related to a situation involving the use of a dos label to me. Could anyone
> explain to me where the problem lies:
> with syslinux and gpt, with grub2 and gpt or somewhere else?
> Thanks in advance and forgive me should I have wandered off-topic.

Syslinux doesn't read the partition table *at all*, so the only way this
could have happened is that Grub2 passed it broken partition offset
information.

Last I checked, Grub did indeed pass broken partition information for
partitions past the fourth one when used with a DOS partition table.

For what it's worth, there is a GPT-aware MBR included with the syslinux
prereleases.  However, you will have to manually set the bootable
partition with a hex editor, I'm afraid.  Also, I don't yet have support
for GPT in chain.c32 for chainloading other systems - this probably
would be a good thing to do.

	-hpa