View previous topic :: View next topic |
Author |
Message |
jackrabbit123 n00b
Joined: 09 Mar 2003 Posts: 25 Location: Ft. Sill, OK
|
Posted: Mon Apr 10, 2006 6:06 pm Post subject: Trouble booting off a USB drive |
|
|
I've been unable to boot off of a USB drive in gentoo on a Toughbook CF-51. It works in Ubuntu so I know it's possible. It returns the following error when booting:
Code: | Kernel Panic VFS: cannot sync. Cannot mount unknown-block(0,0) |
I compiled the kernel manually with the following features:
SCSI emulation
SCSI generic
SCSI SATA support
SCSI low-level driver :SATA PIIX, AHCI
USB Support
usb-storage
PCIE support with MSI
reiserfs support
ext2 support
All of this has been compiled into the kernel. (I also tried several things as modules using an initrd but this also failed with the same error.)
my /etc/fstab is as follows:
Code: |
# /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail / tail freely.
#
# The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# See the manpage fstab(5) for more information.
#
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sdb1 /boot ext3 noauto,noatime 1 2
/dev/sdb3 / reiserfs defaults 0 1
/dev/sdb6 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
#/dev/fd0 /mnt/floppy auto noauto 0 0
# NOTE: The next line is critical for boot!
proc /proc proc defaults 0 0
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
|
my grub.conf is as follows:
Code: | default 0
timeout 10
title Gentoo, kernel 2.6.15-gentoo-r1
root (hd0,0)
kernel /vmlinuz-2.6.15-gentoo-r1 root=/dev/sdb3 ro quiet
boot
title Microsoft Windows XP Professional
root (hd1,0)
map (hd1) (hd0)
savedefault
chainloader +1
|
I also tried: Code: | kernel /vmlinuz-2.6.15-gentoo-r1 root=0x813 ro quiet |
That changed the error to unknown-block(8,19)
For the sake of completeness here is the lspci output:
Code: |
0000:00:00.0 Host bridge: Intel Corp. Mobile Memory Controller Hub (rev 03)
0000:00:02.0 VGA compatible controller: Intel Corp. Mobile Graphics Controller (rev 03)
0000:00:02.1 Display controller: Intel Corp. Mobile Graphics Controller (rev 03)
0000:00:1c.0 PCI bridge: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 04)
0000:00:1d.0 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
0000:00:1d.1 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
0000:00:1d.2 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
0000:00:1d.7 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev d4)
0000:00:1e.2 Multimedia audio controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 04)
0000:00:1e.3 Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 04)
0000:00:1f.0 ISA bridge: Intel Corp. 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
0000:00:1f.2 IDE interface: Intel Corp. 82801FBM (ICH6M) SATA Controller (rev 04)
0000:00:1f.3 SMBus: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)
0000:02:00.0 Ethernet controller: Marvell Technology Group Ltd.: Unknown device 4362 (rev 19)
0000:06:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
0000:06:00.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
0000:06:00.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 02)
0000:06:04.0 Network controller: Intel Corp.: Unknown device 4223 (rev 05)
|
Any help would be great. If you would like me to post my kernel config and the lsmod output from ubunutu I'd be happy to, I just didn't want to have data overload.
As a side note, I also get this error when booting:
Code: | pciehp: cannot initialize device 00:00:1c.0 |
which as you can see from 'lspci' is the PCI-E bus. Don't know if this helps. |
|
Back to top |
|
|
yabbadabbadont Advocate
Joined: 14 Mar 2003 Posts: 4791 Location: 2 exits past crazy
|
Posted: Mon Apr 10, 2006 9:47 pm Post subject: |
|
|
Search your kernel config for a setting about a delay for slow usb devices. I seem to remember there is such a setting to allow a delay for usb harddrives and such to spin up and respond on boot.
By the way, I'll post the setting once I find it. _________________
Bones McCracker wrote: | On the other hand, regex is popular with the ladies. |
|
|
Back to top |
|
|
yabbadabbadont Advocate
Joined: 14 Mar 2003 Posts: 4791 Location: 2 exits past crazy
|
Posted: Mon Apr 10, 2006 10:07 pm Post subject: |
|
|
Actually, it isn't part of the kernel configuration at all. I found where I had read about it. It was in the 2006.0 live cd installation instructions. There are two options when booting the live cd to insert a delay to allow slow devices to startup.
Quote: | scandelay This causes the CD to pause for 10 seconds during certain
portions the boot process to allow for devices that are slow to
initialize to be ready for use.
scandelay=X This allows you to specify a given delay, in seconds, to be
added to certain portions of the boot process to allow for
devices that are slow to initialize to be ready for use.
Replace X with the number of seconds to pause. |
I'm not sure how any of this can help you though. Hopefully, someone else will have a solution for you. _________________
Bones McCracker wrote: | On the other hand, regex is popular with the ladies. |
|
|
Back to top |
|
|
jackrabbit123 n00b
Joined: 09 Mar 2003 Posts: 25 Location: Ft. Sill, OK
|
Posted: Tue Apr 11, 2006 10:19 am Post subject: Tried the delay param |
|
|
I tried the delay parameter. It's actually rootdelay=n where n is the number of seconds. I tried both n=10 and n=20. It's booting off the device so grub can find it. It seems like this must be a kernel problem.
Chris |
|
Back to top |
|
|
richard.scott Veteran
Joined: 19 May 2003 Posts: 1497 Location: Oxfordshire, UK
|
Posted: Thu Apr 13, 2006 9:52 am Post subject: |
|
|
Is this your only USB device i.e. does /dev/sda already exist?
if not, try using /dev/sda instead of /dev/sdb.
I boot from a Freecom Classic Mobile HD (30GB) drive and it works fine for me using sda. |
|
Back to top |
|
|
thomasmue n00b
Joined: 02 Oct 2003 Posts: 73 Location: MTK,OF,WAK
|
Posted: Thu Apr 13, 2006 1:09 pm Post subject: |
|
|
Hi,
your grub command line shows hd(0,0) but your fstab has entries vor /dev/sdb. IMHO your fstab entries should be /dev/sda, and also try to change your root=/dev/sdb3 to root=/dev/sda3. Also try not to connect other USB devices at boot time. I also need a rootdelay=15 for my DELL D505 to settle the usb in order to recognize the drive and get partition information.
Thomas |
|
Back to top |
|
|
jackrabbit123 n00b
Joined: 09 Mar 2003 Posts: 25 Location: Ft. Sill, OK
|
Posted: Mon Apr 24, 2006 10:54 am Post subject: fstab and grub.conf diferences |
|
|
I found the discrepancy very confusing at first. I was trying
in my grub.conf but it wouldn't work. I found out that, since I'm booting off the usb drive, the external was in fact (hd0,0).
This is a laptop and it has a pcmcia drive in it that appears as sda1 when I boot ubuntu so I'm assuming it's the same here. Just for good measure I tried all four variations of having root=/dev/sda3 in my boot parameters and/or making /dev/sda3 root in my fstab.
I noticed in the description for the low-level scsi sata driver that it says it support the ICH5 chipset. My laptop has the ICH6 chipset. I'm not sure if this makes a difference but I thought I'd throw it out there. |
|
Back to top |
|
|
richard.scott Veteran
Joined: 19 May 2003 Posts: 1497 Location: Oxfordshire, UK
|
Posted: Mon Apr 24, 2006 11:06 am Post subject: |
|
|
When I've booted of my usb drive I've had to set to use the "external usb hd" in the boot order in the bios.
This has in turn made my external hard drive be listed as 'sda' and my internal scsi drives 'sdb' and 'sdc'.
So, in theory the boot device should be assigned 'sda' and in grub should also be 'hd0'. |
|
Back to top |
|
|
jackrabbit123 n00b
Joined: 09 Mar 2003 Posts: 25 Location: Ft. Sill, OK
|
Posted: Thu Apr 27, 2006 4:52 am Post subject: |
|
|
I found a thread that talked about what's needed to get the sata drives operational. Onces I was able to communicate over the sata bus it worked. I don't know how the two are tied together but it works. I had to add the following boot parameters Code: | kernel /vmlinuz root=/dev/sdb3 ro combined_mode=libata libata.atapi.enabled=1 rootdelay=15 |
That's so obvious I don't know why I didn't think of it sooner! |
|
Back to top |
|
|
|