1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 运维 - 正文

君子好学,自强不息!

怎样完成内核模块编译?

2022-11-15 | 运维 | 1818ip | 566°c
A+ A-

大部分程序员都研究内核模块编译,在当今社会Linux越来越成为主流,你是Linux系统的应用者么?本文为你详细介绍内核模块编译,为你在学习内核模块编译时起一定的作用。

1.进入新内核源代码目录

#cd /usr/src/kernels/linux-2.6.26.2

2.读取配置过程中生成配置文件,创建对应于配置的依赖关系树,从而决定哪些需要编译与哪些不需要编译

#make dep

3.完全删除上步留下来的文件,避免发生错误。(如果是新下载内核没有编译过,可以跳过)

#make clean

4.编译内核

#make bzImage

在上面的命令成功编译以后会在/usr/src/kernels/linux-2.6.26.2/arch/x86/boot/

目录下产生新内核的映像bzImage

5.编译可加载内核模块

#make modules

6.把生成的模块拷贝到需要的目录下

#make modules_install

7.生成模块间的依赖关系,这样在启动新内核以后,使用modprobe命令加载模块时候能够正确定模块。

#depmod

-a注意第5-7步,只有在进行内核配置时候选上了Enable loadable module support (CONFIG_MODULES)才是必要的。

经过以上的步骤终于生成了新的内核和模块,为了能够使用上新版内核,还要做以下工作。

#cp/usr/src/kernels/linux-2.6.26.2/System.map/boot 
  • #cp/usr/src/kernels/linux-2.6.26.2/arch/x86/boot/bzImage/boot #cd/boot#mvbzImagevmlinuz-2.6.26
  • 注意上面的前面两条命令没有像网上其他很多是帖子一样覆盖了原来内核的映像和内核符号隐射表。把新的直接放在/boot下面,这样能在新内核启动不了的情况下,可以启动新内核。希望通过本文对内核模块编译有所帮助。

    本文来源:1818IP

    本文地址:https://www.1818ip.com/post/9467.html

    免责声明:本文由用户上传,如有侵权请联系删除!

    发表评论

    必填

    选填

    选填

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。