版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Wang_926498/article/details/54783480
// 环境:CentOS 6.8 ( 2.6.32-642.el6.x86_64 内核 )
1.从 www.kernel.org 下载相应版本的内核打包文件,我下载的是 linux-2.6.38.tar.xz
2.将内核打包文件解压到 /usr/src/kernels/ 目录下,进入 linux-2.6.38 文件夹下
3.因为我是第一次编译这个内核文件,先键入 make mrproper 来将以前进行过的内核功能选择文件删除掉
4.开始挑选内核功能( make xxxconfig ),我采用 make menuconfig 的方式进行选择。在我的环境下出现了 "requires the ncurses libraries" 的错误提示,搜索的结果是安装 libncurses5-dev 就可以了,但是使用 yum search libncu* 楞是一个相关的没有寻找到;在百度经验上看到解决方法是: yum install ncurses、yum install ncurses-devel( 为了后面的模块编译不和之前已经编译过的冲突,需要在 General Setup 内的 Local version 输入名称,我第一次编译的时候没有注意到这个问题,只能把当前系统的 modules 整个备份 )
5.make bzImage
6.make modules
7.make modules_install
在第四步更改了 Local version 的话,会在 /lib/modules/ 文件夹下生成对应名称的模块文件夹
之前以为不管怎样都要覆盖当前系统的 modules 文件夹,真的执行了这个命令之后,会在 /lib/modules/ 文件夹下创建新的 2.6.38 文件夹,也就不用做备份了,因为我当前的 modules 是 2.6.30 的,名称版本啥的不一样
10.编辑开机菜单( grub )
1.从 www.kernel.org 下载相应版本的内核打包文件,我下载的是 linux-2.6.38.tar.xz
2.将内核打包文件解压到 /usr/src/kernels/ 目录下,进入 linux-2.6.38 文件夹下
3.因为我是第一次编译这个内核文件,先键入 make mrproper 来将以前进行过的内核功能选择文件删除掉
4.开始挑选内核功能( make xxxconfig ),我采用 make menuconfig 的方式进行选择。在我的环境下出现了 "requires the ncurses libraries" 的错误提示,搜索的结果是安装 libncurses5-dev 就可以了,但是使用 yum search libncu* 楞是一个相关的没有寻找到;在百度经验上看到解决方法是: yum install ncurses、yum install ncurses-devel( 为了后面的模块编译不和之前已经编译过的冲突,需要在 General Setup 内的 Local version 输入名称,我第一次编译的时候没有注意到这个问题,只能把当前系统的 modules 整个备份 )
5.make bzImage
完成后生成的内核文件是 ./arch/x86/boot/bzImage
6.make modules
7.make modules_install
在第四步更改了 Local version 的话,会在 /lib/modules/ 文件夹下生成对应名称的模块文件夹
之前以为不管怎样都要覆盖当前系统的 modules 文件夹,真的执行了这个命令之后,会在 /lib/modules/ 文件夹下创建新的 2.6.38 文件夹,也就不用做备份了,因为我当前的 modules 是 2.6.30 的,名称版本啥的不一样
9.新建相对应的 Initial Ram Disk
10.编辑开机菜单( grub )
11.开机时选择加载新内核,测试是否能够正常开机
看到这一步了感觉很激动啊……
我记得安装了CentOS 6.8第一次开机就是这样的界面,难道成功了?
我还是太天真了……
找到个解决的方法:http://blog.csdn.net/hebdzw/article/details/46638285 大家可以参考一下
另外,我编译内核的时候参考的是鸟哥私房菜的对应章节,感兴趣的可以看一下。