很奇怪:fedora 8 用rc.local自动加载设备驱动程序失败?

vagabond 2008-04-27 01:19:05
最近把公司的pci卡驱动进行了升级,终于支持fedora 8了。主要是一些函数的变化,唉,从kernel 2.2 ,2.4,2.6,2.6.18到现在的2.6.23。linux的内核非常活跃,不过作为产品,也得不断跟进。
感觉倒是驱动简洁了许多。

遇到一个非常奇怪的问题:原来在fedora 6中,驱动的加载是在/etc/rc.d/rc.local中加入语句:
/sbin/insmod .../dev.ko加载的

可是在fedora 8中却不行了。测试的结果如下:
1 直接在命令行下用 insmod ... 加载正常
2 用命令 sh /etc/rc.d/rc.local 加载正常???!!!
3 rc.local 后面的命令工作正常,就是加载不工作,而且在/var/log/messages下也没有任何提示??!!(加载如果正常,会在/var/log/messages下留下输出)

感觉是加载命令被屏蔽了,没有执行。

找了不少资料,还是不得要领。

哪位XD知道的,告诉一下,先谢了。
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyself 2008-04-28
  • 打赏
  • 举报
回复
你有没有安装楼上的说法试试insmode,也就是完全使用绝对路径,不是相对路径?

这里尽量使用绝对路径,不然调用rc.local的程序说不定就搞不清楚了。
vagabond 2008-04-28
  • 打赏
  • 举报
回复
是绝对路径
同样的方法在fedora 6上是正常的,代码不用怀疑有问题
vagabond 2008-04-28
  • 打赏
  • 举报
回复
谢谢楼上的解答。
经过一整天的郁闷,我找到了一个解决的方法。

假设你的设备驱动程序为:yourdrivername.ko

1 cp yourdrivername.ko /lib/modules/"version"/kernel/drivers/misc

其中,version为linux的版本,默认为:2.6.23.1-42.fc8

2 编辑/lib/modules/"version"/modules.dep,设置驱动程序之间的关联,增加一行:

/lib/modules/"version"/kernel/drivers/misc/yourdrivername.ko:

如果有关联,在:后面标注关联的驱动程序名称

3 编辑/etc/rc.d/rc.local,增加一行

/sbin/modprobe yourdrivername

注意:此处不需要加".ko" !

好了,重新启动系统,是不是驱动可以自动安装了? :-)

后话:我还是觉得不知道为什么会insmod 不能用。也许是一个bug,也许是基于安全的考虑,有意不允许这么用。


aility 2008-04-27
  • 打赏
  • 举报
回复
" /sbin/insmod .../dev.ko加载的 "从此脚本 语句看来是你使用了相对路径,你自己测试的时候脚本能够运行成功是因为,你正好在相关正确的目录
建议你将此句话修正为:
/sbin/insmod 绝对路径/dev.ko



dxing_1983 2008-04-27
  • 打赏
  • 举报
回复
先lsmod看看有没有
有的话insmod是没问题的
是驱动的问题

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧