Bug 302631

Summary: USB LVM boot problem - forcing "init" script to wait for USB initialization
Product: [Fedora] Fedora Reporter: John Kephart <kephart>
Component: mkinitrdAssignee: Peter Jones <pjones>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 6CC: triage
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: bzcl34nup
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-06 19:45:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John Kephart 2007-09-24 06:12:02 UTC
Description of problem:

I installed FC6 on a USB hard drive from the distribution CD's with no errors
and accepted the default disk partition layout: "/dev/sda1" is "boot" and
"/dev/sda2" is "VolGroup00" than contains "root" and "swap".  Rebooting
generated a "No volume groups found" error.

I used the rescue disk to mount FC6 on /mnt/sysimage and rebuilt the initrd with
a "mkinitrd --force-scsi-probe --force-lvm-probe" command.  I unpacked the
initrd and edited the "init" script to comment out the "setquiet" command and
check that the "usb-storage" and "sata-sil" modules were loaded.  Rebooting
generated a "No volume groups found" error.

I then added "sleep 10" commands to the "init" script to pause the output at
various points in the boot process.  When I put the "sleep 10" line after the
"stabilized /proc/bus/usb/devices" command and rebooted, a "sd ...." response
appeared about five seconds into the pause and then the system booted correctly.

I guess the "init" script starts the USB process and then issues the "vgscan"
and "vgchange" commands before the USB is initialized.  The "sleep 10" command
forces the script to pause long enough for the initialization to complete.

The "sleep 10" command is only a work-around, the actual fix is a "wait for
device" loop in the "init" script.  The documentation for the "nash" commands is
sketchy (ie. the "stabilized" command is undocumented), so I don't know if such
a wait loop is possible. 

Version-Release number of selected component (if applicable):

mkinitrd-5.1.19.0.3-1

How reproducible:

Boot always hangs with out "sleep 10".
Boot always completes with "sleep 10".

Comment 1 John Kephart 2007-09-24 17:01:17 UTC
To create an "initrd.img" file that has an edited "init" script containing the
"sleep 10" command, do the following:

1) Reboot using a "rescuecd" that mounts the USB partion on "/mnt/sysimage".

2) Create a new "initrd.img" file that contaims the USB and LVM modules with the
following commands:

     # chroot /mnt/sysimage
     # cd /boot
     # KV=`uname -r`
     # rm initrd-$KV.img
     # mkinitrd --force-scsi-probe --force-lvm-probe initrd-$KV.img $KV

3) Unpack the new "initrd.img" file into a temporary subdirectory:

     # mkdir tmpdir-initrd
     # cd tmpdir-initrd
     # zcat ../initrd-$KV.img | cpio --extract

4) Use the editor of your choice to edit the "init" file and add the "sleep 10"
line after the "stabilized /proc/bus/usb/devices" line.

5) Repack the subdirectory into the "initrd.img" file (Be sure to include the
"--format=newc" option on the "cpio" command - the default "cpio" format will
not boot):

     # find . | cpio --create --format=newc | gzip -9 > ../initrd-$KV.img

6) Delete the temporary subdirectory:

     # cd ..
     # rm -fr tmpdir-initrd

7) Remove the "rescuecd" and reboot the system using the new "initrd.img".

     # exit
     # exit



Comment 2 Bug Zapper 2008-04-04 07:35:47 UTC
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers

Comment 3 Bug Zapper 2008-05-06 19:45:58 UTC
This bug is open for a Fedora version that is no longer maintained and
will not be fixed by Fedora. Therefore we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen thus bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.