社区
Linux_Kernel
帖子详情
linux下如何实现模块的自动加载?
dqwjack
2004-07-20 05:33:53
在我原来的redhat9.0机子上插上U盘时,系统会自动实现usb-storage.o、scsi_mod.o、sd_mod.o等模块的加载,我重新编译内核后,插上U盘后,lsmod列出来的模块没有上面的各项,还要手工一个一个的modprobe,哪位DX知道怎么实现原先的功能啊?搜索了些资料,都是修改rc.local脚本,那根本是在开机时加载的,怎么实现插上设备时加载呢?
...全文
609
13
打赏
收藏
linux下如何实现模块的自动加载?
在我原来的redhat9.0机子上插上U盘时,系统会自动实现usb-storage.o、scsi_mod.o、sd_mod.o等模块的加载,我重新编译内核后,插上U盘后,lsmod列出来的模块没有上面的各项,还要手工一个一个的modprobe,哪位DX知道怎么实现原先的功能啊?搜索了些资料,都是修改rc.local脚本,那根本是在开机时加载的,怎么实现插上设备时加载呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dqwjack
2004-07-21
打赏
举报
回复
小弟还有疑问:
我比较了一台完全安装好linux和我那重新编译的linux,上面各位提到的脚本文件都一样啊,那台完全安装好linux怎么能实现插上U盘时,系统会自动加载usb-storage.o、scsi_mod.o、sd_mod.o等模块的呢?
dqwjack
2004-07-21
打赏
举报
回复
多谢各位热心DX的回复,我先去试试,脚本语言这么厉害啊,都能检测到设备的随时插入啊,有空去好好看看!
dqwjack
2004-07-21
打赏
举报
回复
多谢各位的回复,我的问题已经解决。原来USB必须首先插入usb桥接器模块。当桥接器的类型为UHCI时,在/etc/modules.conf中加入设备别名。
对于2.4.x系列的内核,此设备别名则变为:
alias usb-controller usb-uhci
在设置了此别名之后,系统启动时会自动进行usb设备检测。当检测过程发现连结的设备是系统支持的,那么系统会自动插入所需的模块。
groock
2004-07-21
打赏
举报
回复
嗯,崔沙分析的透彻
知道系统中有个/etc/fstab
可以自动搜索于相关硬件设备的驱动
我们用的scsi hard disk 就是这样子的
不知道usb怎么样
应该可以的
里边还有软盘,光驱,相信usb可以了
楼主可以到google里搜一下
我记得以前偶尔在国外站点搜过一次,因为用不到就没有记
呵呵
沙沙的吹
2004-07-21
打赏
举报
回复
我不清楚USB究竟是如何加载的,我的是手工insmod的
而我看有些即插即用的是这样支持的
USB驱动程序提供一个阻塞的过程,如果没有设备,则进入这个过程就阻塞,知道由设备插入。
所以,有些总线系统写一个程序,这个程序就打开总线设备,然后调用这个过程。等整个过程返回到用户态的事后,也就是由设备插入了,这个时候就进行insmod。
也就是说,有没有设备的检测是由总线驱动程序提供的一个接口。
你仔细查查资料,USB应该也提供类似的机制。对了,一般那个守护进程会有一个配置文件,这个配置文件表明了那些设备insmod那些模块,如果你的配置文件里面没写,即使你的系统有这个守护进程,你的设备也不会自动加载的
dqwjack
2004-07-21
打赏
举报
回复
我记得好像在编译过程中出现过版本不一致的问题,一个是2.4.20-8,一个是2.4.20-8custom.
我把他们全部改成了2.4.20-8.
#uname -r
2.4.20-8
groock
2004-07-21
打赏
举报
回复
你的驱动版本肯定not compatible了
跟内核的不一样了
看看你的uname -r是什么
重新编译你的驱动
INCLUDEDIR=/usr/src/linux
groock
2004-07-20
打赏
举报
回复
man mkinitrd
--preload scsi_mod --preload sd_mod --preload usb-storage
peoyu
2004-07-20
打赏
举报
回复
up
groock
2004-07-20
打赏
举报
回复
上边的方法必须要你支持module
还可以把scsi_mod
sd_mod
编译进内核
还有另一种方法
可以编辑
modules.conf
add line
alias scsi_hostadapter(这里可能不对,你改一下) usb-storage
groock
2004-07-20
打赏
举报
回复
可以放到你的initrd.img里边
改一下里边的linuxrc
加上insmod 上边的三个
bshawk
2004-07-20
打赏
举报
回复
linux启动过程中会执行很多脚本。
基本上来说,你可以在任何一个脚本中加上
insmod usb-storage.o
insmod scsi_mod.o
inmod sd_mod.o
比如,如果你是root用户,可以将其放在/root/.bash_profile文件中。主意,如果你的模块不是放在linux模块默认路径下,你还需要带上路径
tangdi
2004-07-20
打赏
举报
回复
用Shell写脚本代码啊
rtl8188eu_USB_
linux
.tar.gz
这可以通过`sudo modprobe rtl8188eu`命令完成,或者在系统启动时
自动
加载
。 6. **检查连接**:最后,用户可以使用`iwconfig`或`ip link`命令查看无线网卡是否被正确识别,并用`sudo ifup wlan0`(假设无线网卡设备...
Android硬件抽象层(HAL)
有了这个规范之后,系统就可以对它进行
自动
加载
,方便上层的使用。这个PPT通过一个具体的实例来分析Android硬件抽象层的开发、测试和使用,它在帮助我们理解Android系统架构的同时,也能教会我们如何在Android源代码...
在
Linux
中,如何通
实现
驱动
模块
的动态
加载
?
规则文件
实现
设备插入时
自动
加载
对应的驱动
模块
。分别替换为你的设备的厂商ID和产品ID。命令,后面跟上驱动
模块
的路径。例如,如果你的驱动
模块
名为。之前,需要确保
模块
已经安装到系统的
模块
目录(通常为。这样,在...
Linux
内核
模块
自动
加载
机制 .
Linux
内核
模块
自动
加载
机制
linux
驱动
加载
动态
加载
静态
加载
自动
加载
linux
驱动
加载
动态
加载
静态
加载
自动
加载
_luopandeng的博客-CSDN博客_
linux
驱动
加载
概述在
Linux
下可以通过两种方式
加载
驱动程序:静态
加载
和动态
加载
。静态
加载
就是把驱动程序直接编译进内核,系统启动后可以直接...
Linux_Kernel
4,468
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章