Bug 477596 - initrd does not wait for disks to spin up
initrd does not wait for disks to spin up
Status: CLOSED DUPLICATE of bug 466607
Product: Fedora
Classification: Fedora
Component: mkinitrd (Show other bugs)
10
All Linux
low Severity medium
: ---
: ---
Assigned To: Peter Jones
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-22 06:09 EST by Kasper Dupont
Modified: 2009-02-17 07:42 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-02-17 07:42:50 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Kasper Dupont 2008-12-22 06:09:15 EST
Description of problem:
Booting failed to find root device because disks have not yet spun up.

Version-Release number of selected component (if applicable):
mkinitrd-6.0.71-2.fc10.i386

How reproducible:
Every time.

Steps to Reproduce:
1. Install
2. Boot
  
Actual results:
Boot fails

Expected results:
System boots

Additional info:
The root file system is RAID 1 across two USB disks. The boot file system is RAID 1 across two USB disks and 1 CF card.

The init script in the generated initrd contained this line:
stabilized /proc/bus/usb/devices
That line waited for both the USB disks to be found. However it did not wait for the disks to spin up and the partition tables to be loaded. So when the script continued, it complained that it could not find the root file system.

Inserting sleep 20 around that place worked around the problem.

Contents of mdstat after booting:

[root@alix1 ~]# cat /proc/mdstat 
Personalities : [raid1] [raid6] [raid5] [raid4] 
md6 : active raid1 sda6[0] sdb6[1]
      2096384 blocks [2/2] [UU]
      
md1 : active raid1 sdb1[0] sdc1[2] sda1[1]
      3879552 blocks [3/3] [UUU]
      
md7 : active raid1 sda7[0] sdb7[1]
      970542720 blocks [2/2] [UU]
      
unused devices: <none>
[root@alix1 ~]#
Comment 1 Charlie Moschel 2008-12-22 09:42:16 EST
(In reply to comment #0)
> Description of problem:
> Booting failed to find root device because disks have not yet spun up.
> 
> Version-Release number of selected component (if applicable):
> mkinitrd-6.0.71-2.fc10.i386

Mkinitrd & co have been updated to address this, and should be appearing as an update soon if it isn't there already.  The fix is described in bug #466607 comment #57.  Can you test that and post results there?  If that works, you can close this as a duplicate of bug #466607.

I see you have already modified your init to get a bootable system, but you can also work around this by add the option "scsi_mod.scan=sync" to the kernel command line.
Comment 2 Kasper Dupont 2008-12-23 09:03:30 EST
I tried adding "scsi_mod.scan=sync" to the kernel command line. With that it waited for one of the two USB disks to spin up and load the partition table. That's enough to get the system to boot, but would break the raid, so I would have to add the other partition back into the raid on each boot (followed by 14 hours of resync).
Comment 3 Hans de Goede 2009-02-17 07:42:50 EST
(In reply to comment #2)
> I tried adding "scsi_mod.scan=sync" to the kernel command line. With that it
> waited for one of the two USB disks to spin up and load the partition table.
> That's enough to get the system to boot, but would break the raid, so I would
> have to add the other partition back into the raid on each boot (followed by 14
> hours of resync).

Try regenerating your initrd with the fixed mkinitrd that fixes this.

*** This bug has been marked as a duplicate of bug 466607 ***

Note You need to log in before you can comment on or make changes to this bug.