• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard ELF 1板卡-文件系统常用命令之内核模块管理工具

06/23 16:36
166
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一、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/libcomposite.ko

root@ELF1:~# insmod /lib/modules/$(uname -r)/kernel/drivers/usb/gadget/function/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

三、insmod 手动安装模块

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

四、modinfo 查看某个模块的详细信息

root@ELF1:~# modinfo 8723du

五、rmmod 卸载某个已经安装的模块

例如,卸载8723du模块:

root@ELF1:~# rmmod 8723du

六、top用于实时显示process的动态

root@ELF1:~# top

相关推荐