On 04/26/2008 10:56 PM, Wakko Warner wrote:
Keith Hopkins wrote:
On 04/22/2008 07:19 AM, Wakko Warner wrote:
Can either of these be done:
1) Embed the firmware into the driver so that it can be used before the
rootfs id mounted.
I think this is generally not done because firmware tends to be
closed-source.
I can understand this from the point of the distrobution of the linux
kernel, but it still can be done. If there were a patch or something that
would convert the file, that's all I care. This for me would be preferred.
Sorry, no idea if it can actually be done.
2) Can the firmware be loaded in an initr{d,amfs}?
Sure. openSuSE does it in their mkinitrd.
I'm not sure if you got the point of #2 or not. I do *NOT* want the driver
as a module, I want it compiled into the kernel and then load the firmware
from an initramfs.
I think I got you all right. My answers were just too short :)
SuSE loads the driver as a module and the firmware in initrd. I haven't tried initramfs, nor compiling it into the kernel.
I unpacked my current initrd, and in it I found:
lib/firmware/aic94xx-seq.fw
+ some ql firmware that I don't need.
I'm not sure if the driver compiled for SuSE "just knows" to look in /lib/firmware, or how it finds the file. It might have something to do with the firmware_class module in SuSE.
I do remember that I needed to load 'edd' before 94xx, or it would not init the firmware.
As for compiling the driver in the kernel, and putting the firmware in initrd/initramfs, you would have to force the init of the 94xx module to be after the initrd/initramfs was initialized, loaded and mounted. I have not checked to see if that is currently possible.
--Keith
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html