More info plus a possible patch. /sys/devices/platform/orion-ehci.0/modalias exists which contains the string platform:orion-ehci
And: $ modprobe --show-depends platform:orion-ehci insmod /lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/core/usbcore.ko insmod /lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host/ehci-hcd.ko So maybe all we have to do is take all modalias files into account. This patch does this: --- /usr/share/initramfs-tools/hook-functions~ 2008-08-07 20:07:01.000000000 +0200 +++ /usr/share/initramfs-tools/hook-functions 2008-08-07 20:09:13.000000000 +0200 @@ -185,10 +185,17 @@ # walk /sys for relevant modules sys_walk_mod_add() { - local driver_path module + local driver_path modalias module device_path="$1" while [ "${device_path}" != "/sys" ]; do + modalias="${device_path}/modalias" + if [ -e "$modalias" ]; then + module="$(cat $modalias)" + if [ -n "${module}" ]; then + force_load "${module}" + fi + fi driver_path="$(readlink -f ${device_path}/driver)" if [ -e "$driver_path" ]; then module="$(basename $(readlink -f $driver_path))" With this patch, there are two differences in the initramfs: 1) the correct module (ehci_hcd) is included. and 2) conf/modules contains some more stuff: diff -urN 1/conf/modules 2/conf/modules --- 1/conf/modules 2008-08-07 20:13:15.000000000 +0200 +++ 2/conf/modules 2008-08-07 20:12:58.000000000 +0200 @@ -1,8 +1,11 @@ +scsi:t-0x00 sd +usb:v13FEp1D00d0110dc00dsc00dp00ic08isc06ip50 usb-storage usb usb usb +platform:orion-ehci orion-ehci unix I'm not sure if it's a problem that these modules are followed by so much garbarge. But the initramfs boots. The new log from the modalias parsing (with all the non-modalias stuff removed): ++ modalias=/sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/host0/target0:0:0/0:0:0:0/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/host0/target0:0:0/0:0:0:0/modalias ']' +++ cat /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/host0/target0:0:0/0:0:0:0/modalias ++ module=scsi:t-0x00 ++ '[' -n scsi:t-0x00 ']' ++ force_load scsi:t-0x00 ++ manual_add_modules scsi:t-0x00 ++ local mam_x firmwares firmware +++ modprobe --set-version=2.6.26-1-orion5x --ignore-install --show-depends scsi:t-0x00 +++ awk '/^insmod/ { print $2 }' ++ for mam_x in '$(modprobe --set-version="${version}" --ignore-install --show-depends "${1}" 2>/dev/null | awk '\''/^insmod/ { print $2 }'\'')' ++ '[' -e /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/scsi_mod.ko ']' +++ dirname /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/scsi_mod.ko ++ mkdir -p /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi +++ dirname /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/scsi_mod.ko ++ ln -s /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/scsi_mod.ko /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi ++ '[' n = y ']' +++ modinfo -F firmware /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/scsi_mod.ko ++ firmwares= ++ '[' -z '' ']' ++ continue ++ for mam_x in '$(modprobe --set-version="${version}" --ignore-install --show-depends "${1}" 2>/dev/null | awk '\''/^insmod/ { print $2 }'\'')' ++ '[' -e /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/sd_mod.ko ']' +++ dirname /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/sd_mod.ko ++ mkdir -p /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi +++ dirname /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/sd_mod.ko ++ ln -s /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/sd_mod.ko /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi ++ '[' n = y ']' +++ modinfo -F firmware /lib/modules/2.6.26-1-orion5x/kernel/drivers/scsi/sd_mod.ko ++ firmwares= ++ '[' -z '' ']' ++ continue ++ echo scsi:t-0x00 ++ modalias=/sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/host0/target0:0:0/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/host0/target0:0:0/modalias ']' ++ modalias=/sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/host0/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/host0/modalias ']' ++ modalias=/sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/modalias ']' +++ cat /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/modalias ++ module=usb:v13FEp1D00d0110dc00dsc00dp00ic08isc06ip50 ++ '[' -n usb:v13FEp1D00d0110dc00dsc00dp00ic08isc06ip50 ']' ++ force_load usb:v13FEp1D00d0110dc00dsc00dp00ic08isc06ip50 ++ manual_add_modules usb:v13FEp1D00d0110dc00dsc00dp00ic08isc06ip50 ++ modalias=/sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/modalias ']' ++ modalias=/sys/devices/platform/orion-ehci.0/usb1/1-1/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/usb1/1-1/modalias ']' ++ modalias=/sys/devices/platform/orion-ehci.0/usb1/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/usb1/modalias ']' ++ modalias=/sys/devices/platform/orion-ehci.0/modalias ++ '[' -e /sys/devices/platform/orion-ehci.0/modalias ']' +++ cat /sys/devices/platform/orion-ehci.0/modalias ++ module=platform:orion-ehci ++ '[' -n platform:orion-ehci ']' ++ force_load platform:orion-ehci ++ manual_add_modules platform:orion-ehci ++ local mam_x firmwares firmware +++ modprobe --set-version=2.6.26-1-orion5x --ignore-install --show-depends platform:orion-ehci +++ awk '/^insmod/ { print $2 }' ++ for mam_x in '$(modprobe --set-version="${version}" --ignore-install --show-depends "${1}" 2>/dev/null | awk '\''/^insmod/ { print $2 }'\'')' ++ '[' -e /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/core/usbcore.ko ']' ++ continue ++ for mam_x in '$(modprobe --set-version="${version}" --ignore-install --show-depends "${1}" 2>/dev/null | awk '\''/^insmod/ { print $2 }'\'')' ++ '[' -e /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host/ehci-hcd.ko ']' +++ dirname /lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host/ehci-hcd.ko ++ mkdir -p /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host +++ dirname /lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host/ehci-hcd.ko ++ ln -s /lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host/ehci-hcd.ko /tmp/mkinitramfs_Ep2918//lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host ++ '[' n = y ']' +++ modinfo -F firmware /lib/modules/2.6.26-1-orion5x/kernel/drivers/usb/host/ehci-hcd.ko ++ firmwares= ++ '[' -z '' ']' ++ continue ++ echo platform:orion-ehci ++ modalias=/sys/devices/platform/modalias ++ '[' -e /sys/devices/platform/modalias ']' ++ modalias=/sys/devices/modalias ++ '[' -e /sys/devices/modalias ']' Anyway, the new initramfs with this patch works for me. But I've no idea if the modalias parsing has any side effects. -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]