[syslinux] can't boot isohybrid-ized image on CG2100

Forte, Greg Greg.Forte at trueposition.com
Sat Mar 19 12:02:43 PDT 2011


I did some more tinkering yesterday, meant to send an update and forgot.

Cutting a longish story short, I think I found the problem - I rewrote the partition table on the stick (using standard linux fdisk) to have a more "normal" primary first partition (starting with a small offset from absolute 0, CHS = 0x010100, LBA start sector = 00000020, which is 32 blocks, or 16k past the start, if I'm reading it correctly).  After doing that, the system BIOS no longer has a problem, and the stick boots normally (except, of course, I can't mount the iso image as /dev/sdX1 any more, only as /dev/sdX).  The ONLY changes were in the 16 bytes comprising the first partition table entry (offset 446-461); I also toggled off the bootable flag for that partition (before making the starting sector change), but that had no effect.

My theory (waiting for Kontron to confirm) is that the BIOS is reading the MBR, digesting the partition table, and trying to check for boot loaders at the beginning of any partitions it finds ... since the isohybridized image has partition 1 starting at absolute 0 of the stick, it's then re-reading the same MBR, digesting the same partition table, and getting stuck in an infinite loop.  Obviously it must have some "oh crap" timeout logic, hence the power cycle after ~ 10 seconds.  There's a comment I saw somewhere on the wiki to the effect that the partition starting at 0 may confuse some systems ... I guess this is what it meant!

I'm hopeful Kontron will provide a patched BIOS (it shouldn't be a hard fix), and if not, the workaround of altering that partition table entry is usable (though not ideal).  If all else fails, I may take you up on that offer of a debug build, but at this point I'm pretty confident it's a "bug" in their BIOS, not in isohybrid.

Thanks!

-g

-----Original Message-----
From: Gene Cumm [mailto:gene.cumm at gmail.com] 
Sent: Saturday, March 19, 2011 7:41 AM
To: For discussion of Syslinux and tftp-hpa
Cc: Forte, Greg
Subject: Re: [syslinux] can't boot isohybrid-ized image on CG2100

On Thu, Mar 17, 2011 at 14:30, Greg Forte <greg.forte at trueposition.com> wrote:
> Sure, I'm desperate enough to try just about anything!  ;-)

I always find it encouraging when users are willing to test things to help the project as a whole.

> No dice with isohybrid.pl from 4.04-pre13 - same behavior.  Is there 
> any functional difference between the script and the compiled bin?  
> They appear to have produced identical images from the same source, so 
> I'm guessing the answer is no.

I'm assuming you just extracted Syslinux-4.04-pre13 and didn't recompile anything.  Normally even the Linux binaries are compatible straight from the package.  If not, please do try then as extracted (just to eliminate a build system error).

They should however I mentioned it as I knew both existed and was not aware if there was a difference in their result.  I just tested by creating an ISO with ISOLINUX 4.04-pre14, creating two copies then using the C version on one and the Perl on the other and found that they are different only in the MBR's disk ID which ideally should be relatively unique.

> Yes, prior to "discovering" isohybrid, I was using syslinux + memdisk 
> + isolinux to accomplish more or less the same intended result (except 
> with the iso image situated as a file in a fat filesystem on the 
> stick, along with the required syslinux files), and that was working 
> on this system (and
> others) with no problems.  isohybrid just seems a whole lot more 
> elegant and simpler.

OK, so it's not specific to this computer booting from a USB drive but booting ISOHYBRID on a USB drive.  I'd assume that you were using SYSLINUX 4.03 on your USB drive and it worked successfully?  Was the drive partitioned or unpartitioned?  What was the geometry as fdisk reported it in Linux (before using ISOHYBRID)?  What is the geometry after using ISOHYBRID?

Also, do you have software that can handle an xz-compressed binary?  I have an ISO that's 2MiB uncompressed that might be worthwhile to test.
 I can also make a quick build with isolinux-debug.bin.

--
-Gene

> Gene Cumm wrote:
>>
>> On Thu, Mar 17, 2011 at 12:37, Greg Forte 
>> <greg.forte at trueposition.com>
>> wrote:
>>>
>>> I have a isohybrid-ized image (isohybrid.pl from syslinux-4.03, no 
>>> options
>>> passed) which works on several other systems, but can't boot a 
>>> Kontron CG2100 from stick (same image boots fine from a portable 
>>> CD-ROM drive though).  The BIOS shows its initial splash, accesses 
>>> the stick, then the system reboots - no errors logged in the BIOS 
>>> event log.  I tried disabling the "USB boot priority" option (which 
>>> puts USB devices to the top of the boot order when it sees them), no 
>>> change.
>>>
>>> Any hints on how to fix or troubleshoot would be greatly appreciated.
>>> Since
>>> the problem seems to be specific to one platform, I'm guessing that 
>>> it's a quirk of the particular BIOS in question - I will probably be 
>>> asking Kontron for support as well.
>>
>> Is there any chance you could try utils/isohybrid.pl and/or 
>> utils/isohybrid (precompliled) from Syslinux-4.04-pre13?
>>
>> Have you tried a UFD (USB Flash Drive) with a more typical 
>> partitioned layout with Syslinux and some appropriate file system like FAT*/ext*?
>> If not, that would be another testing point.  I'd also recommend 
>> trying 4.04-pre13.


Confidentiality Notice: This e-mail (including any attachments) is intended only for the recipients named above. It may contain confidential or privileged information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please notify the sender of that fact and delete the e-mail from your system.






More information about the Syslinux mailing list