Red Hat Bugzilla – Bug 465225
Cannot boot 2.6.29 from external USB disk
Last modified: 2009-03-12 10:58:34 EDT
Description of problem:
I ran the F10-beta live image on my laptop and used liveinst to install the live image onto a USB drive: in my case a 8GB USB stick. The liveinst process worked perfectly. However the resulting 8G USB stick does not boot: it appears the init script in the initrd image does not wait sufficiently long for the USB device to show up. In other words, it preloads the usb-storage module, but the stabilization wait somehow fails or is too short, so the root device mount fails afterwards. Hacking the initrd image and adding a gross "sleep 10" after the usb-storage preload fixes the problem.
The problem did not occur when installing the live image onto an external hard disk in an USB enclosure. Only with the USB flash disk.
Version-Release number of selected component (if applicable):
F10-beta i686. On a Lenovo T61 laptop.
Always. Just try to "liveinst" the live image onto an USB stick.
(In reply to comment #0)
> the init script in the initrd image does not wait sufficiently long for the USB
> device to show up. In other words, it preloads the usb-storage module, but the
> stabilization wait somehow fails or is too short, so the root device mount
Does this still happen if you update mkinitrd to 6.0.70?
If so, can you try the workaround in bug 466607 comment #24?
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.
More information and reason for this action is here:
Updating this bug with latest rawhide tests.
I'm still unable to boot rawhide from my external USB disk. All the 2.6.29 rcs have the same problem. I still have a 2.6.27 installed which boots just fine.
The kernel boots fine, but things go bad after the handoff to the initrd init script. The bug still appears to be either a race condition, or an insufficient delay waiting for the USB device to settle. In the failed boot case, you can see kernel messages on the console about [sda] being discovered, but nonetheless it fails to mount the root fs shortly after.
If I add a "sleep 10" command before "modprobe wait_scsi_scan", it does boot and everything is okay.
Looking at the initrd init scripts between the 2.6.27 and 29, they're almost identical except 2.6.27 doesn't modprobe and rmmod scsi_wait_scan...
I boot the kernels with 'nomodeset'.
How can I provide better debug information ?
Just wanted to add, after reading the bug mentioned in #1, that the USB disk does NOT use LVM. It has 2 partitions, the boot partition being the 2nd one :
> sudo fdisk -l /dev/sdb
Disk /dev/sdb: 400.0 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00029d04
Device Boot Start End Blocks Id System
/dev/sdb1 1 47084 378202198+ 83 Linux
/dev/sdb2 * 47085 48641 12506602+ 83 Linux
Denis, can you please publish the init script from your .27 initrd?
I'm getting just the same behavior with vmlinuz-126.96.36.199-170.2.24.fc10.x86_64
from Fedora update repo, and the same hack with sleep 10 works for me.
But you said that:
>I still have a 2.6.27 installed which boots just fine
Actually, I can no longer reproduce this problem as of 2.6.29-0.215.rc7
Kiril, does that kernel work for you ?
Yes, it works.
But my problem is i can't use 29 kernel, I'm forced to use 27 kernel due to OpenAFS which is only avail as rpm for Fed10 official 27 kernels.
Ok. Closing, since this appears resolved for F-11...