文档章节

CentOS 7.3 手动编译安装最新版本Linux Kernel

白豆腐徐长卿
 白豆腐徐长卿
发布于 2017/03/29 15:48
字数 982
阅读 402
收藏 1

本文演示机器系统版本是CENTOS7.3。 查看系统版本信息。

[root@localhost ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core)
Release:        7.3.1611
Codename:       Core
[root@localhost ~]#
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
[root@localhost ~]#

安装编译所需软件。

#逐条运行命令
[root@localhost ~]# yum groupinstall "Development Tools"
[root@localhost ~]# yum install ncurses-devel
[root@localhost ~]# yum install qt-devel

下载最新稳定版本Linux Kernel。本文发表时(2017-03-29)最新稳定内核版本是4.10.6。

[root@localhost ~]# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.6.tar.xz
[root@localhost ~]# tar -xf linux-4.10.6.tar.xz -C /usr/src/
[root@localhost ~]# ls /usr/src/
debug  kernels  linux-4.10.6
[root@localhost ~]# cd /usr/src/linux-4.10.6/

开始配置和编译内核。[截图示例如下图,代码如图下所示] 编译界面

[root@localhost linux-4.10.6]# make menuconfig
scripts/kconfig/mconf  Kconfig
#
# using defaults found in /boot/config-3.10.0-514.el7.x86_64
#
/boot/config-3.10.0-514.el7.x86_64:621:warning: symbol value 'm' invalid for CPU_FREQ_STAT
/boot/config-3.10.0-514.el7.x86_64:861:warning: symbol value 'm' invalid for NF_CT_PROTO_DCCP
/boot/config-3.10.0-514.el7.x86_64:863:warning: symbol value 'm' invalid for NF_CT_PROTO_SCTP
/boot/config-3.10.0-514.el7.x86_64:864:warning: symbol value 'm' invalid for NF_CT_PROTO_UDPLITE
/boot/config-3.10.0-514.el7.x86_64:882:warning: symbol value 'm' invalid for NF_NAT_PROTO_DCCP
/boot/config-3.10.0-514.el7.x86_64:883:warning: symbol value 'm' invalid for NF_NAT_PROTO_UDPLITE
/boot/config-3.10.0-514.el7.x86_64:884:warning: symbol value 'm' invalid for NF_NAT_PROTO_SCTP
configuration written to .config

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
#编译用时与机器配置,选择选项等有关,大约需要十几分钟以上
[root@localhost linux-4.10.6]# make
[root@localhost linux-4.10.6]# make modules_install
[root@localhost linux-4.10.6]# make install
[root@localhost linux-4.10.6]# make clean
#更新内核启动参数
[root@localhost linux-4.10.6]# grub2-set-default 0

重启电脑并检查是否安装成功。

[root@localhost ~]# uname -a
Linux localhost.localdomain 4.10.6 #1 SMP Wed Mar 29 13:47:22 CST 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core)
Release:        7.3.1611
Codename:       Core
[root@localhost ~]#

补充Ubuntu安装最新稳定版内核。

#需要root权限
dell@DELL:/usr/src/linux-4.10.10$ sudo make menuconfig
  HOSTCC  scripts/kconfig/mconf.o
In file included from scripts/kconfig/mconf.c:23:0:
scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: 没有那个文件或目录
compilation terminated.
scripts/Makefile.host:124: recipe for target 'scripts/kconfig/mconf.o' failed
make[1]: *** [scripts/kconfig/mconf.o] Error 1
Makefile:546: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 2
dell@DELL:/usr/src/linux-4.10.10$
dell@DELL:/usr/src/linux-4.10.10$ sudo

该错误是因为make menuconfig需要安装libncurses5-dev。

dell@DELL:/usr/src/linux-4.10.10$ sudo apt install libncurses5-dev

开始执行make menuconfig 命令。

dell@DELL:/usr/src/linux-4.10.10$ sudo make menuconfig

执行make命令。编译过程报错。

scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: 没有那个文件或目录
compilation terminated.
scripts/Makefile.host:107: recipe for target 'scripts/sign-file' failed
make[1]: *** [scripts/sign-file] Error 1
Makefile:560: recipe for target 'scripts' failed
make: *** [scripts] Error 2
dell@DELL:/usr/src/linux-4.10.10$

解决该方法是安装libssl-dev。

#解决方法
dell@DELL:/usr/src/linux-4.10.10$ sudo apt install libssl-dev

其他情况和CentOS安装类似,本文不再加以详细讲解。

需要补充一点。

dell@DELL:/usr/src/linux-4.10.10$ sudo grub-set-default 0
dell@DELL:/usr/src/linux-4.10.10$ cat /proc/version
Linux version 4.4.0-72-generic (buildd@lcy01-17) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017
dell@DELL:/usr/src/linux-4.10.10$ sudo reboot

安装完成后检查版本。

dell@DELL:~$ uname -a
Linux DELL 4.10.10 #1 SMP Thu Apr 13 15:54:58 CST 2017 x86_64 x86_64 x86_64 GNU/Linux
dell@DELL:~$ cat /proc/version
Linux version 4.10.10 (root@DELL) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #1 SMP Thu Apr 13 15:54:58 CST 2017
dell@DELL:~$

© 著作权归作者所有

白豆腐徐长卿

白豆腐徐长卿

粉丝 37
博文 113
码字总数 70636
作品 0
苏州
运维
私信 提问
Ubuntu 17.04(Zesty Zapus) 正式版发布!

Ubuntu 作为 Linux 开源发行版的一个标志性的代表,从 8.04 至今已经走过 26 个版本的历程。17.04 依然配置提是 Unity7 的桌面环境,或者我们再也等不到 Unity8 的到来。虽然Mark Shuttlewor...

钟敏玉
2017/04/13
4.7K
14
Linux Mint 18 Xfce beta 发布

Linux Mint项目的负责人之一Clement Lefebvre宣布内部代号为“Sarah”的Beta版本Linux Mint 18 Xfce上线。Xfce版本非常类似于在今年6月底发布的Cinnamon和MATE版本。 Linux Mint 18 Xfce带来...

oschina
2016/07/22
1K
0
fdslight 2.0.1 发布,IP层代理软件

此次更新如下: 修复客户端Linux kernel 4.4及其以上不支持的问题 修改了黑名单

MeiKai
2016/04/12
538
2
Ubuntu 16.10 发布,桌面启用 Unity 8

如Canonical的Adam Conrad之前所说,深受全球数百万用户欢迎的GNU/Linux操作系统——Ubuntu 16.10(Yakkety Yak)终于发布了。Ubuntu 16.10最大的变化在于基于Linux Kernel 4.8系统,GNOME应...

lieefu
2016/10/14
11.3K
18
Linux Kernel 2.6.32 终止支持

历史最悠久的Linux kernel长期支持版Linux Kernel 2.6.32于3月1日发布了最后一个版本2.6.32.71,正式终止支持。维护者Willy Tarreau建议用户升级到更新的版本如3.2 LTS或4.4 LTS。Kernel 2....

oschina
2016/03/15
2.1K
1

没有更多内容

加载失败,请刷新页面

加载更多

Gradle 的项目导入到 IntelliJ 后子项目源代码不能导入

在一个 Gradle 项目中,有若干子项目。 当 Gradle 到如后,子项目不能被 IntelliJ 识别代码。 如下图的这个代码就没有被自动识别。 这个有可能是因为你的这个子项目没有被添加到父项目中。 ...

honeymoose
17分钟前
3
0
苹果cms下载地址及模板地址

https://github.com/magicblack/maccms10 程序下载: https://www.lanzous.com/b204882 教程下载: https://www.lanzous.com/b256378 模板下载: https://www.lanzous.com/b355667 插件下载:......

chenhongjiang
17分钟前
3
0
Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件)

一、HttpPost上传文件 public static String getSuffix(final MultipartFile file){ if(file == null || file.getSize() == 0){ return null; } String......

codeobj
18分钟前
3
0
在Word中怎样批量删除空行,这些点主要注意

在工作中经常接触的办公软件就是Word了,熟练使用Word中的技能是准时下班的保证。这就要求我们对Word中的各项技能都熟练于心,很多朋友诉苦Word中的排版不熟悉,每次写一篇文章排版都要花费很...

干货趣分享
24分钟前
2
0
终端-Linux命令之非交互SSH密码验证-Sshpass

> Sshpass是使用SSH所谓的“交互式键盘密码身份验证”以非交互方式执行密码身份验证的工具 通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图,需要交互的...

极客收藏夹
28分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部