Linux内核配置与编译

Linux内核配置与编译

1 配置内核

1.1 为什么需要配置内核

  1 硬件的需求
  2 软件的需求

1.2 如何配置内核

  make config:基于文件模式的交互式配置
  make menuconfig: 基于文本模式的菜单型配置
一般选项这种菜单型直观、简单、高效,如下所示
Linux内核配置与编译
图片中<*> <M> < >
Linux内核配置与编译

1.3 内核配置结果

  隐藏在解压后文件目标下。.config
Linux内核配置与编译
  在建立内核配置结果中一般在已有的配置结果修改。
比如这里在已经安装的linux中的/bootconfig-2.6.32-279.el6.i686文件复制到linux解压后的文件中,使用make menuconfig命令,设置配置,并保存。
Linux内核配置与编译
Linux内核配置与编译
Linux内核配置与编译

2 编译内核

2.1 编译内核

1 make zImage
2 make bzImage
在x86平台,zImage智能用于小于512k的内核
需要获取详细便于信息,使用如下:
make zImage V=1
make bzImage V=1
编译好的内核位于arch//boot/目录下
Linux内核配置与编译

2.2 编译内核模块

1 make modules 编译内核模块
2 make modules_install 将编译好的内核模块,从内核源码代码目录复制到/lib/modules下,为打包做好准备

2.3 制作

方法:mkinitrd initrd-$version $version
$version 可以通过查询/lib/modules下的目录得到
Linux内核配置与编译

3 安装内核

复制文件到/boot目录下
Linux内核配置与编译
3 修改grub.conf文件
在这里插入图片描述Linux内核配置与编译
重启,选择启动内核版本
Linux内核配置与编译

内核是存放在内存中,用户空间文件系统存在硬盘/flash中,所有在将内核2.6.32变为2.6.39,用户空间的文件程序等都没有变化。

4 清理内核

4.1 make clean

清除.o文件

4.2 make disclean

清除.o文件.config 文件