环境介绍:原系统为centos6.5,内核版本为:linux-2.6.32-431.el6.x86_64,下载的内核源代码版本为:linux-2.6.32.26
具体编译内核步骤如下:
1. 下载源代码,一般情况下放在 /usr/src目录下;
进入到当前目录:cd /usr/src
下载安装包: wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.26.tar.bz2
(此处版本,也可以下载linux-2.6.32.26.tar.gz,解压缩命令中参数改为-zxvf)
2. 对下载的源代码进行解压缩:
tar –jxvf linux-2.6.32.26.tar.bz2 –C /usr/src/kernels/
(tar.gz : tar –zxvf linux-x.y.z.tar.gz)
3. 解压缩后进入到解压生成的目录中,即2.中的linux-2.6.32.26中;
cd /usr/src/kernels/linux-2.6.32.26
4. 如果之前有过编译的历史,则运行命令进行清理痕迹:
make mrproper
make clean
5. 设置内核编译选项:
make menuconfig
6. 编译内核并且安装:
make –编译
make modules_install
make install
7. 重启系统并且选择进入的内核版本即可:
reboot
备注:网上关于内核编译的材料很多,但是可谓千篇一律,鱼龙混杂。总共有这么几个误区:第一,很多人说不要装版本比你现在系统要高的内核,但是,也不要比你版本低太多;第二,关于网上很多材料说的,make中还有像make bzImage等等的命令,其实是没有必要了的,现在的内核里自动都会执行这些,总体来说就是上面我介绍的这个,只要版本相差不大,应该都可以成功;第三,在走最后一步make install的时候,可能存在一点问题,那就是有几个模块找不到,虽然这个问题没有解决,但是可以正常启动内核,不影响我们的功能使用。