[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Installation on NSLU2 does not complete (initramfs nslu2 hook requires user interaction)



Hi Joey

On Feb 2, 2008 7:14 PM, Joey Hess <joeyh@debian.org> wrote:
> Martin Michlmayr wrote:
> > * Joey Hess <joeyh@debian.org> [2008-02-02 16:16]:
> > > I've uploaded with this patch. Is ixp4xx_eth built into the 2.6.24
> > > kernels in unstable?
> >
> > No, it's a module.
>
> So something still needs to be done to get udev to load it?

No. I updated Krzysztof's driver so that udev now loads it
automatically. The reason the module wasn't being loaded automatically
was because a commit in 2.6.24 [1] adds "platform:" to the modalias
string for platform devices. On ixp4xx, the Ethernet driver
(ixp4xx_eth) is registered as a platform device:

LKG7102D7:~# udevinfo -a -p /sys/devices/platform/ixp4xx_eth.16

 looking at device '/devices/platform/ixp4xx_eth.16':
  KERNEL=="ixp4xx_eth.16"
  SUBSYSTEM=="platform"
  DRIVER==""
  ATTR{modalias}=="platform:ixp4xx_eth"

udev uses the modalias string to load the module, and in this case
udev tried to modprobe platform:ixp4xx_eth instead of ixp4xx_eth:

LKG7102D7:~# udevtest /sys/devices/platform/ixp4xx_eth.16
...
import_uevent_var: import into environment: 'PHYSDEVBUS=platform'
import_uevent_var: import into environment: 'MODALIAS=platform:ixp4xx_eth'
main: looking at device '/devices/platform/ixp4xx_eth.16' from
subsystem 'platform'
wait_for_sysfs: file '/sys/devices/platform/ixp4xx_eth.16/bus'
appeared after 0 loops
main: run: 'socket:/org/kernel/udev/monitor'
main: run: '/sbin/modprobe --use-blacklist platform:ixp4xx_eth'

All I needed to do was to add

MODULE_ALIAS("platform:ixp4xx_eth");

to the Krzysztof's driver. With this change, depmod adds an alias line
(alias platform:ixp4xx_eth ixp4xx_eth) to modules.alias which allows
modprobe to load the right module.

The same thing was happening with the ixp4xx-beeper module, but I have
updated that in the kernel as well.

Gordon

[1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43cc71eed1250755986da4c0f9898f9a635cb3bf

-- 
Gordon Farquharson
GnuPG Key ID: 32D6D676


Reply to: