本帖最后由 风精灵 于 2024-10-25 09:49 编辑

一、lsmod 列出已经安装的模块
root@ELF1:~# lsmod
Module                  Size  Used by
ov5640_camera          19320   0
8723du                1303801   0
rtk_btusb                38040   0
每行有四列:
Module-第一列显示模块的名称;
Size-第二列显示以字节为单位的模块大小;
Used-by第三列显示一个数字,表示当前有几个模块依赖于该模块;
by-第四列表示依赖模块的内容;

要确定是否已加载特定模块,请使用grep过滤输出。例如,要查找是否已加载8723bu模块,请运行:
root@ELF1:~# lsmod | grep 8723du
8723du               1303801  0

二、modprobe 自动安装模块
modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。insmod与modprobe都是用于安装内核模块,差别是: modprobe 能够处理模块的依赖问题。比方你要加载a模块,但是a要求系统先载入b模块时,直接用insmod 加载可能会出现错误。modprobe 会自动加载b才加载a处理这些依赖关系。
例如,在《01-0 ELF1、ELF1S开发板_快速启动手册_V1》3.1.2.2章节中,我们使用的是insmod加载三个.ko文件实现g_mass_storage功能:
root@ELF1:~# insmod /lib/modules/$(uname -r)/kernel/drivers/usb/gadget/libcom\posite.ko
root@ELF1:~# insmod /lib/modules/$(uname -r)/kernel/drivers/usb/gadget/functio\n/usb_f_mass_storage.ko
root@ELF1:~# insmod /lib/modules/$(uname -r)/kernel/drivers/usb/gadget/legacy/\g_mass_storage.ko  file=/dev/mmcblk0 removable=1
如果使用modprobe则只需要加载一个模块即可:
root@ELF1:~# modprobe g_mass_storage  file=/dev/mmcblk0 removable=1
图片1.png

三、insmod 手动安装模块
insmod需要指定模块的绝对路径,和modprobe不同,insmod并且不会把载入模块的依赖模块也载入进来。

四、modinfo 查看某个模块的详细信息
root@ELF1:~# modinfo 8723du
图片2.png

五、rmmod 卸载某个已经安装的模块
例如,卸载8723du模块:
root@ELF1:~# rmmod 8723du
图片3.png

六、top用于实时显示process的动态
root@ELF1:~# top
图片4.png

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.