在工作中,很多时候由于需要使用新的技术方案,需要较新版本的内核来支持新的功能,而CentOS系统自带的内核版本普遍都比较旧,因此我们需要对系统的内核进行升级,安装新版的内核。在此,以CentOS 7系统为例,对编译安装最新版内核的过程做如下总结

Linux 最新版本的内核可以通过 https://www.kernel.org/ 网站获取

1、下载最新稳定版本的内核源码包到 /usr/local/src ,并解压到当前目录

2、解压内核源码包

3、从 /boot 目录将现有版本的内核编译config配置文件拷过来到放到新的内核源码解压目录内并重命名为.config的隐藏文件

[root@localhost src]# cd linux-5.2.11[root@localhost linux-5.2.11]# cp /boot/config-3.10.0-957.el7.x86_64 ./.config

从boot目录拷贝原内核的config文件过来主要是为了方便,这个文件保存了在安装系统时内核所安装的模块配置信息(否则需要重新手动指定每一个模块的编译配置)。

4、安装依赖包

安装开发工具包组

[root@localhost linux-5.2.11]# yum -y groupinstall "development tools"

安装ncurse-devel包 (make menuconfig 文本界面窗口依赖包)

[root@localhost linux-5.2.11]# yum -y install ncurses-devel

5、运行 make menuconfig,开启文本界面的编译选项菜单窗口,可以对内核加载的模块编译选项进行调整,如修改编译后的内核名称、新添加之前系统缺少的模块等。

修改内核名称:

General setup --->local version -append to kernel release

此处修改内核名称为 5.2.11-001.el7.x86_64

新添加NTFS文件系统支持模块:

File systems --->DOS/FAT/NT Filesystems --->NTFS file system support

建议选择以模块方式(M选项)编译。(*号则是以静态方式编译打包进内核文件中,如果新添加的模块较多,会导致内核文件体积增大)

6、编译内核

[root@localhost linux-5.2.11]# make -j 4 #根据CPU核数开启多线程编译以加快编译速度

开始漫长的编译过程,大概需要1-2小时左右,具体视CPU硬件的性能决定。

如果编译开始提示错误,则可能需要预先安装对应的组件包,例如:

[root@localhost linux-5.2.11]# yum -y install openssh-devel elfutils-libelf-devel bc

根据对应的错误提示,yum 方式安装对应的组件包,部分组件包在epel源,所以需要预先配置好epel源仓库。
7、编译安装模块

编译完成后执行make modules_install 安装内核模块

[root@localhost linux-5.2.11]# make modules_install

8、安装内核核心文件

[root@localhost linux-5.2.11]# make install

reboot重启

如需将新版本内核设置为默认启动内核,可以使用此命令

grub2-set-default 0 #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段

重启进入系统后,查看一下内核版本,已经是最新的5.2.11版本

[root@localhost ~]# uname -r5.2.11-001.el7.x86_64

至此,整个内核的编译安装过程完成。

原文来自:https://www.linuxprobe.com/?p=163334

编译安装_在Centos7下编译安装新版本内核相关推荐

  1. linux7安装pgsql数据库,CentOS7下PostgreSQL安装

    环境:CentOS 7 版本:postgresql11 安装repo源 yum install https://download.postgresql.org/pub/repos/yum/reporp ...

  2. CentOS7下编译安装libmodbus库

    CentOS7下编译安装libmodbus库 下载libdmodbus源代码 编译安装lidmodbus 测试 参考资料 下载libdmodbus源代码 libmodbus官网下载页面如下图所示: 可 ...

  3. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6

    在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...

  4. centos php yum gd库,Centos7下PHP安装gd库的实例讲解

    Centos7下安装php, 或php的gd库支持,都是很简单的. 一切通过yum搞定. yum install php-gd 以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了? 可 ...

  5. CentOS-7 下 GitLab 安装部署教程

    CentOS-7 下 GitLab 安装部署教程 前言 主要内容 GitLab 介绍 本篇环境信息 准备工作 配置清华大学镜像仓库 安装基础依赖 安装 Postfix 开放 ssh 以及 http 服 ...

  6. centos72安装mysql配置密码_MySQL数据库之170419、Centos7下完美安装并配置mysql5.6

    本文主要向大家介绍了MySQL数据库之170419.Centos7下完美安装并配置mysql5.6 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. linxu环境: centos ...

  7. Hive入门教程<2> | hive在centos7下的安装部署

    hive在centos7下的安装部署 前提 安装hive hadoop集群配置 hive基本操作 演示向hive中导入本地数据文件 前提 1.首先有自己的远程终端登录工具,我这里用的是mobaxter ...

  8. centos7下mongodb安装及开启副本

    centos7下mongodb安装及开启副本 下载安装包 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.13.tgz ...

  9. Mongodb学习(安装篇): 在centos下的安装

    安装篇 ###下载解压文件 [root@192 lamp]# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686- 2.2.2.tgz ## ...

最新文章

  1. ipone 网页版的iphone
  2. 错误类型:“系统找不到 Microsoft.Office.Interop.Word(转)
  3. Python如何发布程序
  4. 控制台应用和空项目有什么区别_农业项目经理和物联网项目经理有什么区别
  5. 定制Hamcrest Matchers
  6. linux操作系统网络,网络安装linux操作系统
  7. 曾有望成为第三大移动系统:如今正式告别,明日停止一切支持
  8. python怎么安装pip
  9. 【数据统计】移动端数据可视化模板、数据统计、Axure移动端图表数据统计设计
  10. 模2除法(CRC冗余码计算)和二进制/十进制除法
  11. 基于SSM的知识库管理系统
  12. KDA,token.Kadena链的一些常识
  13. linux系统locale的设定
  14. unable to create jaxbcontext 最终解决办法
  15. java程序员烂大街了吗?java入坑之前先来看看行情
  16. ElasticSearch - 玩转搜索之花式查询
  17. 命令行执行sql脚本
  18. 结巴分词----去停用词
  19. 网络报修信息管理代码java_javaweb在线报修维修系统、java+ssh+mysql实现
  20. Kotlin——高阶函数详解与标准的高阶函数使用

热门文章

  1. 100题_10 在排序数组中查找和为给定值的两个数字
  2. 输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流
  3. 修改android studio中的avd sdk路径、avd sdk找不到的解决方案
  4. 解决“SSL handshake failed“问题
  5. 80端口被占用pid 4,svhost等占用的解决方法
  6. java多线程解决应用挂死的问题
  7. 解决使用Spring Boot、Multipartfile实现上传提示无法找到文件的问题
  8. C#中try catch中throw ex和throw方式抛出异常有何不同
  9. 将功能绑定到Twitter Bootstrap Modal关闭
  10. django forms 错误处理