RHEL 6.5 升级内核至linux kernel-4.0.5

来源:互联网 发布:阿里云空间登陆 编辑:程序博客网 时间:2024/05/18 07:33

由于主机无法访问外网,因此更新内核也相对比较麻烦,但是很锻炼人。
首先,在官网:kernel.org 下载到对应版本号的源代码。
然后:源码包 scp传到服务器上
然后:将文件放在/usr/src 目录下解压并准备编译。

编译步奏:

make config //当然这一步也可以直接将就的.config文件拷贝过来.make menuconfig//修改crypto的相关配置make all 编译make modules_installmake install 

完成以上步奏以后,查看boot.conf文件,如包含了新编译内核,则表示此次编译成功。

无网络情况下,make config 生成.config文件一切正常
但是make menuconfig 时,出现错误如下:

[root@newdb6 linux-4.0.5]# make menuconfig  HOSTCC  scripts/kconfig/mconf.oIn file included from scripts/kconfig/mconf.c:23:0:scripts/kconfig/lxdialog/dialog.h:38:20: 致命错误:curses.h:没有那个文件或目录 #include CURSES_LOC                    ^编译中断。make[1]: *** [scripts/kconfig/mconf.o] 错误 1make: *** [menuconfig] 错误 2

其实 make menuconfig 是在执行mconf.o (menuconfig),其实就是缩写
这里写图片描述
很明显这个错误是由于缺少curses.h 引起的,在网上查找资料,说这就是因为缺少ncurses的库文件引起的。

于是用yum install 安装缺少的文件 yum install ncurses-devel,因为没有联网,所以一定不会成功。但是可以给出所需安装的具体的文件名。
这里写图片描述
红框圈起来的就是所需要的包,在下边的详细信息列表中可以看到version 版本信息。最下边的红框提示下载失败,但是里边却给出了完整的信息,即:ncurses-devel-5.7.3-3.20090208.e16.x86_64,可以赋值改信息,在http://rpmfind.net/linux/rpm2html/search.php?query=ncurses-devel中查找对应的rpm下载,并安装。

但是,并没有找到5.7.3 版本, 仅找到了5.7.4版本,于是试图安装改版本,结果报错了,版本不匹配。
下图中就是该错误的呈现。
这里写图片描述

只好在网上google了一个5.7.3版本,下载后,安装成功。
从下图的进度条可以看出安装成功。
这里写图片描述

下面重新运行,make menuconfig config菜单。

这里写图片描述
看到执行的都正确运行,最后进入mconf,接着出现下边的图形界面

这里写图片描述

其中这个图片也是 make menuconfig 主要需要修改的地方之一:

首先需要修改的是“Enable loadable module support”栏下边的“Module signature verification (EXPERIMENTAL)”,按n设置为无效;

光标移动到“Enable loadable module support”栏,enter进入,再把光标移到“Module signature
verification (EXPERIMENTAL)”,按字母n键关掉(Disable it),相反y键是开。

然后是设置“Cryptographic API”栏,但是从在红色圈内,没有找到kernel的信号检测,因此这项不需要做。
这里写图片描述

以上做完,make menuconfig就做完了,下边进去编译阶段,编译时可以开启多线程的并行编译 。

祝大家好运,这是我今天的一些心得。

0 0
原创粉丝点击