如果要我们一个一个的去检查这些模块的主要信息,然后定义出他们的相依性,
我们可能会疯掉吧!
所以说,我们的
Linux
当然会提供一些模块相依性的½决方案啰~
对啦!那就是检
查
/lib/modules/$(uname -r)/modules.dep
这个文件啦!他记录了在核心支持的模块的各项相依性。
那么这个文件如何½立呢?挺简单!利用
depmod
这个指令就可以达到½立该文件的需求了!
[root@study ~]#
depmod [
-
Ane]
选项
与
参数
:
-
A
:不加任何
参数时
,
depmod
会
主
动
的去分析目前核心的模
块
,并且重新
写
入
/lib/modules/$(uname
-
r)/modules.dep
当
中。若加入
-
A
参数时
,
则
depmod
会
去搜
寻
比
modules.dep
内还
要新的模
块
,如果真找到新模
块
,才
会
更新。
-
n
:不
写
入
modules.dep
,而是
½½
果
输
出到屏幕上
(standard out)
;
-
e
:
显
示出目前已加
载
的不可
执
行的模
块
名
称
范例一:若我做好一
个
网卡
驱动
程序,
档
名
为
a.ko
,
该
如何更新核心相依性?
[root@study ~]#
cp a.ko /lib/modules/$(uname
-
r)/kernel/drivers/net
[root@study ~]#
depmod
以上面的范例一为例,我们的
kernel
核心模块扩展名一定是
.ko
½尾的,
当你使用
depmod
之后,
该程序会跑到模块标准放置目录
/lib/modules/$(uname -r)/kernel
,
并依据相关目录的定义½全部的
模块捉出来分析,最终才½分析的½果写入
modules.dep
文件中的吶!
这个文件很重要喔!因为他
会影响到本章稍后会½绍的
modprobe
指令的应用!
19.2.2
核心模块的观察
那你到底晓不晓得目前核心加载了多少的模块呢?粉简单啦!利用
lsmod
即可!
[root@study ~]#
lsmod
Module Size Used by
nf_conntrack_ftp 18638 0
nf_conntrack 105702 1 nf_conntrack_ftp
....(
中
间
省略
)....
qxl 73766 1
drm_kms_helper 98226 1 qxl
ttm 93488 1 qxl
drm 311588 4 qxl,ttm,drm_kms_helper
# drm
还
被
qxl, ttm..
等模
块
使用
....(
底下省略
)....
使用
lsmod
之后,系统会显示出目前已经存在于核心当中的模块,显示的内容包括有:
.
模块名称
(Module)
;
.
模块的大小
(size)
;
.
此模块是否被其他模块所使用
(Used by)
。