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

Josh Lehan jlehan at scyld.com
Tue Sep 5 16:33:03 PDT 2006


Here's an interesting problem, and the first partial failure I've seen 
when booting USB keys.

I've installed a bootable Knoppix "CD" image to my USB key, and posted a 
writeup of my installation method here:

http://knoppix.net/forum/viewtopic.php?t=25402

Up until now, I've always had one of:
100% success (it fully boots)
100% failure (BIOS fails to recognize the USB key at all, not even 
trying to boot from it).

This failure mode is rather strange.

I see, printed on the console, this text, just underneath the BIOS cruft:



SYSLINUX 3.11 2005-09-02 CBIOS Copyright (C) 1994-2005 H. Peter Anvin
could not find kernel image: linux
boot:



So, what I observed is this:
* BIOS recognizes USB key and boots from it.
* BIOS runs boot sector code correctly, finds the partition with 
SYSLINUX on it, and runs SYSLINUX.
* SYSLINUX starts up.
* There's a problem with SYSLINUX finding its configuration file, 
though.  There's supposed to be many possible choices, "linux" and 
"knoppix" among them, and a nice VGA startup splash screen as well.

Typing in "linux" at this command prompt did not work.  Neither did 
"knoppix".

I'm guessing this is a problem of SYSLINUX not finding its configuration 
file, and falling back to default behaviour.

The PC is a recent Award BIOS.  Both USB-ZIP and USB-HDD modes fail, in 
this identical way.

Question is, can I do anything to debug this?

I tried running the syslinux command, both with and without the -s 
option.  Neither made a difference.

About the USB key:
* It's a 1GB SanDisk Cruzer Micro.
* It's MBR is whatever was written by SYSLINUX's mkdiskimage script.
* It's partition table is USB-ZIP layout (*/64/32 CHS geometry, in this 
case 977 cylinders).
* The standard gap in the partition table is there (the first "track" is 
empty).  I didn't try maximizing the space.
* As for USB-ZIP, the 4th partition takes the entire disk, is marked 
active, and is of type 0x0C (FAT32, telling Windows to use LBA when 
accessing it).
* All data on the partition is correctly there and visible, when mounted 
by Linux or Windows.
* The root directory of the partition contains all the standard stuff, 
such as LDLINUX.SYS, SYSLINUX.CFG, kernel, initrd, and so on.
* It boots perfectly, on every other computer I've tried that can boot 
from USB at all.


So, anything I can try?  Is there a way to turn on debugging output in 
SYSLINUX and see more information about what it sees?  I'd be interested 
to know what geometry and size it's been assigned by the BIOS, what 
sector it's searching for LDLINUX.SYS on, any errors it might have 
reading the root directory of the FAT32 partition, and so on.

Thanks!

Josh




More information about the Syslinux mailing list