|
![](template/comiis_x3dfmh/comiis_pic/ico_lz.png)
楼主 |
发表于 2007-6-27 16:55:56
|
显示全部楼层
Post by springwind426
我觉得是这样的,在启动的过程中,如果使用了initrd,而且qla2340的驱动已经放进initrd中去了,那么在启动的时候,会加载initrd中的qla2340的模块,如果此时initrd的/lib/fireware目录下没有相应的firmware的时候,就不能正确加载,但是该模块确实已经加载进内存了,只是不能正确驱动硬件而已。
当initrd加载完毕,开始进入真实系统的时候,因为内核模块已经加载了,因此就不会重新加载,因此就无法正确驱动了,而此时你重新卸载模块,并重新加载,因为这时已经能够找到对应的firmware,所以又可以正确加载了。
我觉得,解决办法是加/lib/firmware复制到initrd中。
你分析的和实际情况差不多
如果说在刚刚装好系统时不能正确加载是因为不存在firmware,那么当我将firmware放到/lib/firmware底下,然后重启,依然报错
估计要把initrd更新一下吧?不然initrd不知道firmware已经存在了 |
|