Kernel loading firmware with hotplug or udev?
AFAIK the hotplug program was superseded by udev which is a userland daemon that handles the events that were handled by hotplug.
I am using a Dell server with a Brocade 825 FC adapter and have Slackware 13.7 installed.
Since the hotplug script is old and replaced by udev, Slackware has moved on. That is it contains udev and no longer contains hotplug.
I wouldn't want to imagine hwo these two would run into each other trying to act on hotplug events...
By default, the bfa driver is built in. However this driver requires 3 firmware files in /lib/firmware.
I've read through the sources of the kernel, the driver, the firmware loading sequence and I am baffled.
bfa is built in. Kernel boots, mounts root, driver tries to load firmware via hotplug script. No script, it fails to load firmware. Driver not working.
Note : udev has not started yet at this stage.
bfa is module. Kernel boots, by the time the module is loaded, udev is running and driver is is able to load firmware properly and it works.
Ok, problem solved, apparently. But still...
Is the firmware load subsystem old in the kernel? (ie designed for explicitely for hotplug script)
If not, is hotplug script obsolete and replaced by udev or not ?
(I found info about Ubuntu dropping hotplug scripts in 2005 ...)
In essence, what is the correct way to load firmware for a kernel driver, at boot time, if the driver is builtin ?