[NBLUG/talk] Using a USB mass storage device as a root filesystem

Lincoln Peters sampln at sbcglobal.net
Tue Oct 5 22:17:03 PDT 2004


On Tue, 2004-10-05 at 13:53, Augie Schwer wrote: 
> Check out this thread; I think it is what you are looking for:
> http://www.uwsg.iu.edu/hypermail/linux/kernel/0307.0/0847.html

This solution certainly looks to be simpler than messing with initrd's
(although I can't say for sure because I never quite understood what was
going on with them).  I had to refer back to the original change_floppy
function (since it seems to have changed slightly from 2.4 to 2.6), but
I got the delay to work properly.  And it detects the USB mass storage
device within less than a second of giving the prompt.

There is, however, one more problem: although the usb-storage driver
seems to be detecting the drive and registering it as a SCSI device (as
it should), when it tries to mount /dev/sda1 as the root filesystem, it
mysteriously fails and panics as before.  I can't figure out why.

The error message looks like:

VFS: Cannot open device "sda1" or unknown block (0,0)

But I cannot guarantee that what I wrote here is the exact same wording,
as I had to try to remember the message myself.


I've checked those possible issues I can think of:

1. I can tell from the kernel messages that the two partitions on the
device register as "sda1" and "sda2" (and, yes, I've repeatedly verified
that "sda1" *is* the correct partition).  So the kernel *is* recognizing
the device properly.

2. I observed that the "boot" flag was not turned on for "sda1", so I
turned it on and tried again.  No change, it still fails.

3. I double-checked that the kernel has support for the ext3 filesystem
(which the USB drive uses) built-in, so that's not the issue.  I even
removed built-in support for all other filesystems (by making them all
modules) to remove any chance that the kernel was trying to mount it as
the wrong filesystem type.  It still didn't work.

4. I'm fairly sure that the syslinux.cfg file on my boot floppy is OK,
since the failure actually refers to a failure to mount "sda1".  But
just in case someone might find a mistake in it, the syslinux.cfg reads
as follows:

default linux
        append root=/dev/sda1


I would post all of the kernel messages, but as you can imagine, it's a
little hard to save them if I can't access a root filesystem while
running the broken kernel!

---
Lincoln Peters
<sampln at sbcglobal.net>

I want a WESSON OIL lease!!





More information about the talk mailing list