[syslinux] USB key: CBIOS line printed, nothing else

H. Peter Anvin hpa at zytor.com
Wed Sep 6 14:44:56 PDT 2006


Josh Lehan wrote:
> H. Peter Anvin wrote:
>> If you don't get a configuration file it defaults to loading a file 
>> named "linux", so that's indeed what's happening.
> 
> Thanks, that's what I thought.
> 
>> Now, the fact that it gets that far (it has loaded the entire 
>> ldlinux.sys) and then doesn't get the configuration file is a bit odd. 
> 
> So it has finished loading LDLINUX.SYS, that is good.  It means that it 
> can see enough of the filesystem to get in this file, which would rule 
> out a BIOS geometry issue.

Correct.  However, some BIOSes have been reported having "holes" in 
their coverage of USB media, meaning sectors in the middle that they 
can't, for some reason, access.  It's hard to believe, I know, but 
apparently true.

> Is there a problem with using the 0x0C filesystem type (FAT32 LBA)? 
> That's what I'm using.  Should be the same as 0x0B (FAT32 CHS), since 
> the only difference is the flag to Windows to tell it to prefer LBA 
> instead of CHS.  I noticed that the "mkdiskimage" script doesn't write a 
> partition type of 0x0C by default.  I had to make a quick little patch 
> to it, to have it write 0x0C instead of 0x0B.  Might this have killed it?
> 

No.  SYSLINUX could not care less.

> I'd still be interested in seeing what information the BIOS is passing 
> to SYSLINUX.  It might be worth adding some debugging information to the 
> "safe, slow, and stupid" loader (syslinux -s), like the optional feature 
> that is already available for ISOLINUX.

That would actually be very difficult, since syslinux -s just patches a 
single byte in the syslinux binary.

> I'd love to figure out what is unique about this BIOS, and what it is 
> sending to SYSLINUX, that confuses SYSLINUX and prevents it from finding 
> the configuration file.
 >
> Like you said, it's weird that it can boot correctly, and find the 
> LDLINUX.SYS file correctly, but then fail to find the SYSLINUX.CFG file. 
>  It works perfectly on all the other computers I have tried, which is 
> strange!  It must have something to do with this BIOS, but I can't 
> figure out what.
> 
> It'd be useful to see what the geometry is that the BIOS is reporting 
> (the FDPT or EDPT), and also, the extra LBA information available from 
> the INT 13 extensions.  I'd put this in myself, but I'm incredibly rusty 
> with 80x86 assembler.

One thing you might be able to do is to boot (Free)DOS and poke at INT 
13h from debug.  Use Ralf Brown's Interrupt List as the reference.

>> One thing that might be worth watching for is to make sure VFAT hasn't 
>> mangled any of your filenames (mount your disk with "-t msdos" to verify 
> 
> Thanks for the tip.  I just checked and all the files used during bootup 
> are clean (no "squiggle-1").
> 
>> that).  Another option would be to try "syslinux -s", or try using 
> 
> Thanks.  I tried just "syslinux" before, and am using "syslinux -s" now. 
>  It did not make a difference.
> 
>> EXTLINUX (on ext2fs).
> 
> I'd prefer not to use EXTLINUX if possible, because it's also handy to 
> have my USB key easily accessible from Windows.

I might be a useful data point though.

> I did prototype an 
> early version of KNOPPIX over EXTLINUX here, though, and had success 
> with it:
> 
> http://www.knoppix.net/forum/viewtopic.php?t=23431
> 
>> As for CBIOS versus EBIOS; SYSLINUX will use EBIOS if it's available, 
>> since EBIOS doesn't have the cylinder 1024 limitation.
> 
> Interesting.  I'm still wondering why CBIOS is used.  This is a fairly 
> new PC motherboard (Athlon 64 3200+).  The hard drive in there is 80GB, 
> and is fully seen and works perfectly from the BIOS, so the INT 13 
> extensions should be well in place by now.  Maybe the BIOS manufacturer 
> (Award) just really cheaped out on USB booting.  At any rate, my USB key 
> only has 977 "cylinders" on it, so it shouldn't make a difference.

A lot of BIOSes has CBIOS vs EBIOS on a device-by-device basis.  For 
example, almost no BIOSes support EBIOS for floppy drives (the way the 
spec is written, you get the feeling that the guys at Phoenix thought 
that EBIOS wasn't implementable for floppy drives.)

	-hpa




More information about the Syslinux mailing list