[syslinux] Booting to USB Pen Drive
franz at concertplanet.com
Thu Mar 11 12:17:54 PST 2004
Franz Henning wrote:
> I am trying to use Syslinux as my boot loader for a stripped down
> version of Knoppix (DSL) on a USB Pen Drive. I followed the
> verbatim on
> http://rz-obrian.rz.uni-karlsruhe.de/knoppix-usb/knoppix-usb.html, but
> no luck. The system will start to boot to the USB, but gives a Kernel
> Panic. I will give all information that shows on the screen.
> After I select Boot from USB (which on my system works for windows
> boot keys)
> SPB2: dx=0080 intl3,8:cxE7E0 dx=0702 mbr=8001 0100 0604 F2FF 3200
> CEE7 0300 int13,2:cx0013 dx=0180
> SYSLINUX 2.06 2003-08-22 (then some copyright info flashes up here
> Then the screen clears and I get the KNOPPIX Splash screen.
> KNOPPIX V3,3
> F2 for Help
> boot: Loading vmlinuz......
> Loading miniroot.gz.......
> Screen clears again
> There is a Penguin picture in the top left corner
> Kernel Panic: VFS: Unable to mount root fs on 01:01
> I have never been past this point.
> This is the ls -lR of my usbkey. All usb modules are in the
> I have tried this with 2 USB keys a 1.1 and a 2.0, both exhibit the
> problem on multiple systems, which all are Dell Computers.
> total 1576
> dr-xr-xr-x 2 root root 4096 Mar 11 05:29 KNOPPIX
> -r-xr-xr-x 1 root root 54 Mar 11 05:29 autorun.bat
> -r--r--r-- 1 root root 47 Mar 11 05:29 autorun.inf
> -rwxr--r-- 1 root root 107 Mar 11 05:30 boot.msg
> -rwxr--r-- 1 root root 1791 Mar 11 05:30 f2
> -rwxr--r-- 1 root root 256 Mar 11 05:30 german.kbd
> -r--r--r-- 1 root root 343 Mar 11 05:29 index.html
> -rw-r--r-- 1 root root 3262 Mar 11 05:30 knoppix.ico
> -r-xr--r-- 1 root root 7836 Mar 11 05:30 ldlinux.sys
> -rwxr--r-- 1 root root 21429 Mar 11 05:30 logo.16
> -rwxr--r-- 1 root root 613227 Mar 11 05:30 miniroot.gz
> -rwxr--r-- 1 root root 2424 Mar 11 05:30 syslinux.cfg
> -rwxr--r-- 1 root root 921593 Mar 11 05:30 vmlinuz
> total 49040
> -r--r--r-- 1 root root 48673005 Mar 11 05:29 KNOPPIX
> -r--r--r-- 1 root root 2048 Mar 11 05:29 boot.cat
> -r--r--r-- 1 root root 1474560 Mar 11 05:29 boot.img
> -r-xr-xr-x 1 root root 27 Mar 11 05:29 mkfloppy.bat
> Any Help would be GREATLY appreciated.
> Thanks you,
> Franz Henning
In linux most USB devices appear as sdaX where X is the partition
Are you sure that when linux comes to mount the USB root partition, that
the kernel has all the correct kernel modules loaded so that it can
access the USB.
Up until that point, all access to the USB device has been done via the
BIOS disk read routines. The "mount" is done using the linux kernel
drivers, so for the mount to work, the linux kernel drivers have to be
working. Either make an initrd with them on, and force them to load, or
compile them into the kernel.
I think you make an excellent point regarding the support for the USB.
The OS level support for usb in this case is loaded as modules by the
linuxrc.gz file which is contained in the miniroot.gz file. Linuxrc is
the KNOPPIX General startup script. Also contained in the miniroot.gz
file is a modules/usb directory where I have copied all of my USB
root at akebono miniroot # ls -l modules/usb/
-rw-r--r-- 1 root root 19984 Mar 11 08:06 ehci-hcd.o
-rw-r--r-- 1 root root 33824 Mar 11 08:06 uhci.o
-rw-r--r-- 1 root root 24860 Mar 11 08:06 usb-ohci.o
-rw-r--r-- 1 root root 69971 Mar 11 08:06 usb-storage.o
-rw-r--r-- 1 root root 28684 Mar 11 08:06 usb-uhci.o
-rw-r--r-- 1 root root 87035 Mar 11 08:06 usbcore.o
However, in my troubleshooting that I have done so far, I deleted all of
the USB modules and restarted with the exact same results I originally
described. So that is why I say you make an excellent point. Clearly the
OS is not loading support for USB. I just don't understand why.
Here is a section of my linuxrc where I attempt to install USB support.
# load usb-modules first (so that memory-stick becomes /dev/sda1)
# uncomment for USB 2.0 support (experimental)
insmod -f /modules/usb/ehci-hcd.o
insmod -f /modules/usb/usbcore.o
#insmod -f /modules/usb/uhci.o
insmod -f /modules/usb/usb-uhci.o
insmod -f /modules/usb/uhci.o
insmod -f /modules/usb/usb-ohci.o
insmod -f /modules/usb/usb-storage.o
# need to sleep because it takes some time to register things
ash -c "sleep 4"
I tried increasing my sleep time to give more time for these modules to
load, but the symptoms do not change.
Thank you for your input.
More information about the Syslinux