FS#15376 - [mkinitcpio] USB hook doesn't include USB storage sub-driver modules
Attached to Project:
Arch Linux
Opened by Jonathan Liu (net147) - Sunday, 05 July 2009, 09:33 GMT
Last edited by Roman Kyrylych (Romashka) - Friday, 07 August 2009, 08:41 GMT
Opened by Jonathan Liu (net147) - Sunday, 05 July 2009, 09:33 GMT
Last edited by Roman Kyrylych (Romashka) - Friday, 07 August 2009, 08:41 GMT
|
Details
Description:
* When the "usb" hook is added to HOOKS array in /etc/mkinitcpio.conf, the USB mass storage sub-drivers aren't added. This causes USB booting to fail with the chipsets for which there is a USB storage sub-driver module. This occurs because the USB storage sub-drivers were split into separate modules in 2.6.30. As such, the "usb" hook needs to be updated to include these modules in order to allow booting on a wide range of USB storage chipsets. A patch is attached to correct the issue. Additional info: * kernel26 2.6.30-5 * mkinitcpio 0.5.25-1 Steps to reproduce: * Install Arch Linux on USB drive * Upgrade kernel26 to 2.6.30 * mkinitcpio -p kernel26 * Reboot. The USB drive no longer boots because the appropriate USB storage sub-driver modules aren't available in the initial ramdisk. |
This task depends upon
Closed by Roman Kyrylych (Romashka)
Friday, 07 August 2009, 08:41 GMT
Reason for closing: Fixed
Additional comments about closing: Seems to be fixed with 0.5.26-1 now in core
Friday, 07 August 2009, 08:41 GMT
Reason for closing: Fixed
Additional comments about closing: Seems to be fixed with 0.5.26-1 now in core
Including only the loaded modules would make a USB drive with Arch installed only boot on a computers that have the appropriate modules autodetected when the initial ramdisk is built.
It seems better to just include all the USB mass storage drivers as people adding the USB hook would probably want to have their USB drive boot on as many systems as 2.6.29 did. Another option is to add another hook of some sort for adding all these mass storage drivers but we should have documented this issue when 2.6.30 was released to prevent people making their Arch Linux USB drives unbootable.
To your second point: If you want to boot on any machine, you must disable autodetect anyway, as autodetection will disable all usb host controllers which are not present on the build machine. Thus, if we are able to autodetect devices, we always do so, people should use the fallback image or disable the autodetect hook if they like it differently.
All of this doesn't really matter, because it seems we cannot autodetect the modules, in which case we can use your patch as-is. To confirm, please post mkinitcpio -M.
However when upgrading from 2.6.29, the module was not included in either the normal image or the fallback image.
/sys/module/ums_cypress does exist when using 2.6.30 but not in 2.6.29.
On 2.6.30 when a drive is plugged in, the appropriate modules are automatically loaded.
FS#15378)Thanks.
How to use this patch?
will the change be fixed (is fixed) in mkinitcpio package?
i can update my archinstall via use of raw disk in vmware
it emulates ide for my usb disk.
someone can close task 15281 again (kernel fails to boot)
To apply the patch to an existing system:
1. Install curl, sudo and patch packages
2. curl 'http://bugs.archlinux.org/task/15376?getfile=3820' | sudo patch -Np0
3. sudo mkinitcpio -p kernel26
thanks alot!
I like to close the blocked report
FS#15378soon... so i'll do a close request..