怎样完成内核模块编译?
创始人
2024-06-16 09:41:37
0

大部分程序员都研究内核模块编译,在当今社会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)才是必要的。 

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

  1. #cp /usr/src/kernels/linux-2.6.26.2/System.map /boot    
  2. #cp /usr/src/kernels/linux-2.6.26.2/arch/x86/boot/bzImage /boot     
  3. #cd /boot   #mv bzImage vmlinuz-2.6.26  

注意上面的前面两条命令没有像网上其他很多是帖子一样覆盖了原来内核的映像和内核符号隐射表。把新的直接放在/boot下面,这样能在新内核启动不了的情况下,可以启动新内核。希望通过本文对内核模块编译有所帮助。

【编辑推荐】

  1. 教会你轻松Linux网卡安装
  2. 实例讲解Linux以太网卡的安装及配置
  3. 全面了解Linux网卡的工作原理
  4. 你了解Linux系统开机知识么?
  5. 教会你Linux操作系统实现email和fax的互转互发

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...