[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