linux内核最复杂模块 网络,Linux内核模块使用指南

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

rmmod rtl8139

命令将其从系统中卸载出去。

标志为autoclean(见有关lsmod的介绍)的模块可以自动卸载。前面我们已经提到,模块之间可能会有引用关系。如果A模块引用了B模块的内容,那么必须先装载B模块之后才能成功装载A模块;在卸载B模块之前也要首先卸载A模块,否则就会导致系统的崩溃(当然,如果模块源程序编写的正确,在卸载A模块之前,B模块是无法卸载的)。

4、模块实用工具

以上我们介绍的lsmod、insmod、rmmod是一组实用工具所提供的三个命令,这组实用工具一般是和内核版本对应的,其1.3.57版本名为modules(modules-1.3.57.tar.gz),高一点的版本名为modutils(例如modutils-2.4.2.tar.gz)。最好保证你的系统中的模块实用工具的版本号(可以使用modinfo -V命令来查看)不低于内核版本号(可以使用uname -r来查看)。1.3.57版本的modules内容包括modprobe、depmod、genksyms、makecrc32、insmod、rmmod、lsmod、ksyms、kerneld等命令。其中modprobe和insmod命令类似,不过它要依赖于相关的配置文件;depmod用于生成模块依赖文件/lib/modules/kernel-version/modules.dep;genksyms和ksyms与内核函数的版本号有关(由于内核的不断更新,各个版本的内核函数各有不同,为了不会引起系统的崩溃,内核源程序中要对内核函数的版本号进行严格地控制)。在以后版本的实用工具中,使用kmod来取代了kerneld。kmod的功能和kerneld类似,但是它不能自动卸载模块。之所以采用kmod的原因在于kerneld是使用IPC通道实现的,相当于多经过了一层处理,另外kerneld的代码也比较复杂,kmod的代码数量也比kerneld少得多。

5、与模块有关的内核编译选项和过程

在使用make confing / make menuconfig / make xconfig对内核进行配置时,和模块有关的选项有:

Code maturity level options -->

Prompt for development and/or incomplete code/drivers

此选项为代码的成熟程度。所有新的设计与改进都首先在开发版(版本号为x.y.z,其中y是奇数)中试用,经过验证技术可行之后再在稳定版(版本号为x.y.z,其中y是偶数)中正式引入。尚不成熟或不完善的技术在默认的情况中是不会编译到内核中的,如果你希望试验这些内容(例如2.4.*版本中的khttpd、IPV6等),就要选中这个选项。

>

Loadable module support -->

Enable module support

Set version information on all module symbols

Kernel module loader

此选项是对可装载内核的支持以及对模块符号的版本号、内核模块装载程序支持的选项。对于其他大部分选项来说,你可以将相应的代码编译到内核中(使用build-in方式),也可以将他们编译成模块(使用module)方式。

如果你选用了模块方式,那么在编译内核的过程中,你除了要使用

make; make install

命令来编译/安装内核之外,还要使用

make modules; make modules_install

来编译/安装内核模块。编译好的模块被安装到/lib/modules/kernel-version/目录中。

编译过程中还要运行一个

depmod -a

命令。这个命令生成模块依赖文件,也就是/lib/modules/kernel-version/modules.dep,该文件格式为:

/lib/modules/2.2.14-5.0/fs/autofs.o:

/lib/modules/2.2.14-5.0/fs/binfmt_aout.o:

/lib/modules/2.2.14-5.0/fs/binfmt_java.o:

/lib/modules/2.2.14-5.0/fs/binfmt_misc.o:

/lib/modules/2.2.14-5.0/fs/coda.o:

/lib/modules/2.2.14-5.0/fs/fa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值