本帖最后由 风精灵 于 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
三、insmod 手动安装模块
insmod需要指定模块的绝对路径,和modprobe不同,insmod并且不会把载入模块的依赖模块也载入进来。
四、modinfo 查看某个模块的详细信息 root@ELF1:~# modinfo 8723du
五、rmmod 卸载某个已经安装的模块 例如,卸载8723du模块: root@ELF1:~# rmmod 8723du
六、top用于实时显示process的动态 root@ELF1:~# top
|