linux内核学习第三天——内核模块的加载

上一章讲到Linux内核的编译,得到Image镜像后就可以烧到开发板上运行了,不过这样也会带来一些问题:比如当你想要增加或者修改linux内核的一些配置、组件时必须选择重新编译linux内核然后烧到开发板上。我们可以从网上或者其他人那边拷贝得到Image,但不免要添加一些组件,这时我们该怎么办,就需要自己编译模块,然后放到内核中!当然这个时候安装的模块不会被内核文件中,只会在内核运行期动态的安装,当不用的时候卸载!

安装内核模块时用module_init(/*加载的模块函数*/),卸载内核模块时用module_exit("卸载的模块函数");下面是我写的一小段模块函数——由多文件组成:



这是我的外函数



下面就是如何将我的add模块函数加入到我的内核中!

1.编写makefile文件



2.安装我的模块文件:insmod calculate.ko,  卸载是rmmod calculate

3.检查是否安装好了:lsmod,如果看到了calculate说明安装完成

4.用modprobe也可以加载一个模块到内核中,不过它会根据/lib/module<$version>/modules.dep文件来自动的加载需要依赖的模块!

5.在编写模块时有一些可选信息可以写到内核中:许可证声明、作者声明、模块描述、模块版本、模块别名、模块参数的声明,下面是我对我的参数进行模块声明(用module_param)


这些都是些基本的内核模块加载,但是存在一个问题:不能打印内核模块的打印信息,代码如上!





上面的方法是在已有的系统中安装,也可以在目标内核中编译好后,在目标系统中安装,参考http://blog.csdn.net/askbai666888/article/details/8593636

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值