怎样完成内核模块编译?

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

大部分程序员都研究内核模块编译,在当今社会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的互转互发
责任编辑:小霞 来源: NET130
相关推荐

2023-05-08 08:05:42

内核模块Linux

2010-04-12 11:19:47

编译内核模块

2010-01-22 11:01:04

linux内核模块

2018-06-19 09:07:57

Linux内核模块

2019-07-08 20:00:35

Linux内核模块

2011-08-29 15:12:24

UbuntuLinux模块

2021-09-03 08:44:51

内核模块Linux社区

2022-05-14 17:01:21

开源LinuxNVIDIA

2018-05-14 09:48:45

Linux内核模块Kgotobed

2021-07-06 14:36:05

RustLinux内核模块

2017-01-15 22:51:16

2009-10-12 17:14:50

RHEL内核编译

2022-05-12 09:58:31

LinuxNVIDIA开源

2009-06-19 20:32:00

Linux

2014-07-24 14:35:26

Linux内核模块

2021-05-18 14:25:30

Linux运维Linux系统

2018-03-19 09:15:00

2019-10-08 10:35:53

编译Linux内核

2010-06-28 09:46:17

2020-05-13 21:11:37

KVM架构工具
点赞
收藏

51CTO技术栈公众号