1.下载内核,以下是内核官网地址: https://www.kernel.org/
- tar.xz 是完整的内核包(完整的内核包是通过两次压缩得到的,一次是xz,一次是tar)
- pgp 是.tar.sign后缀的文件,用于校验类似于MD5
- patch 是补丁包
2.解压文件到/usr/src/目录下: xz -d 文件名.tar.xz 二次解压:tar -zxvf 文件名.tar
3.如果是第一次编译内核,并没有上次的残留文件可以可以跳过:
make mrproper
make clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块
make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件
make distclean mrproper删除的文件, 加上编辑备份文件和一些补丁文件。
4.这时候不要急着去做make,因为编译内核需要ngcc命令,所以先安装ngcc模块,选择最简单的yum安装以下两个包:
yum -y install gcc yum install ncurses ncurses-devel(centos6自带了,可以不用安装)
5.接下来是配置内核相关参数:
make config(通过命令行配置) make menuconfig(简单的菜单命令行配置,相对更容易些),make oldconfig(使用过去的配置文件,前提是系统已经有了配置文件了),接下来就是一堆的是与否要选择,如果看不懂英文,可以直接回车忽略过,只是有一点需要注意的CONFIG_CROSS_COMPILE这个配置项一定要选”y“,否则也会出现ngcc找不到命令错误,如果你已经错过了,可以到内核文件夹下找到一个.config的文件,将这个参数改为CONFIG_CROSS_COMPILE="n" 改成CONFIG_CROSS_COMPILE=""
6.正式编译内核:
make和make modules_install (此处命令必须进入/usr/src/linux-x-x-x/才有效,否则会报错)注意:2.6内核作了优化,不必显示的执行make dep 和make bzImage(2.6以下make bzImage报image too big把sound,usb选为modules, 或去掉一些不需要的选项.),只需要直接执行make就行,系统会自动完成make dep 和 make bzImage 所做的工作。PS:此过程时间比较漫长。
7.安装内核
make install(由于有一些模块在编译中失败,所以会出现找不到模块的错误,不过如果不是重要的可以忽略)
8.修改默认启动的内核(把光标处的default值改成0,就为默认启动,编译成功后默认为1),然后reboot,不要错过启动时手动选择内核菜单,选择自己装好的内核选项,然后回车,进入终端,输入uname -r 确认是否是自己装的版本,整个centos配置内核流程就是这样。