[syslinux] Chaining with chain.c32 from syslinux 6.01 error

Michal Soltys soltys at ziu.info
Mon Jul 22 05:08:47 PDT 2013


W dniu 22.07.2013 13:07, Matt Fleming pisze:
> On Thu, 18 Jul, at 01:22:04PM, Adrian Irimia wrote:
>> Hi,
>>   
>>    I have a bootable usb with syslinux 5.10 on wich the following code is working ok.
>>      LABEL -
>>     MENU LABEL GRUB LEGACY
>>     MENU INDENT 1
>>       COM32 chain.c32
>>       APPEND boot fs grub=/boot/grub-legacy/stage2 grubcfg=/boot/grub-legacy/grub-legacy.cfg nohand nosect
>>   
>>   After upgrading to syslinux 6.01 (using bios) I receive the following errors when selecting that menu option :
>>   
>>    ERR: Primary partition (in MBR) with invalid offset and/or length.
>>    ERR: Cant't find myself on the drive I booted from.
>>   
>>   I mention that the errors are on a physsical machine (not a virtual one - in a virtual qemu I receive only the 2nd error message).
> 
> Thanks for the report, I can reproduce this bug. I'll take a look.
> 

For the record, I had issues with usb booting when bioses reported different sizes of my usb stick between computers (to be precise, one machine reported its size 1 byte less than another). I made checks in chain.c32 extremely strict (as it can also write / update stuff) and of course that was enough to make those checks fail (first the iterator is complaining about mismatch (1st ERR)- /probably/ - that the partition is larger than the disk has space, then the chain module is bailing out (2nd ERR)).

Adrian, if you add 'relax' option to the above invocation, does it make it boot successfully ?



More information about the Syslinux mailing list