centos源码编译安装新版本内核
在工作中,很多时候由于需要使用新的技术方案,需要较新版本的内核来支持新的功能,而centos系统自带的内核版本普遍都比较旧,因此我们需要对系统的内核进行升级,安装新版的内核。本文以centos7系统为例,对编译安装最新版内核的过程做如下总结:
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 -r
5.2.11-001.el7.x86_64
至此,整个内核的编译安装过程完成。
centos源码编译安装新版本内核的更多相关文章
- CentOS源码编译安装MySQL 5.5.15
CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...
- CentOS 源码编译安装 Python3
准备 yum -y install wget gcc make libffi-devel zlib-devel readline-devel bzip2-devel ncurses-devel sql ...
- centos源码编译安装nginx过程记录
前言:Centos系统编译安装LNMP环境是每来一台新服务器或换电脑都需要做的事情.这里仅做一个记录.给初学者一个参考! 一.安装前的环境 这里用的是centos 7系统. 我们默认把下载的软件放在 ...
- CentOS源码编译安装Nginx
安装编译用到的软件: yum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel 现在到http://nginx.o ...
- centos7 源码编译安装TensorFlow CPU 版本
一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...
- CentOS 6.6 下源码编译安装MySQL 5.7.5
版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...
- centos 6.5源码编译安装subversion 1.8.10
一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- CentOS 7.4 源码编译安装 Redis
一.CentOS 7.4 源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...
随机推荐
- iptables 常用处理动作
在iptables中,-j 参数用来指定要进行的处理动作,常用的处理动作包括:ACCEPT.REJECT.DROP.REDIRECT.MASQUERADE.LOG.DNAT.SNAT.MIRROR.Q ...
- React创建组件的方法,组件的props属性、state属性的用法和特点,父子组件传值,兄弟组件传值
创建组件的方法,组件的props属性.state属性的用法和特点,父子组件传值,兄弟组件传值 1.react组件 1.1.创建组件的方法 1.1.1.函数组件 定义一个组件最简单的方式是使用JavaS ...
- DAVID 进行 GO/KEGG 功能富集分析
何为功能富集分析? 功能富集分析是将基因或者蛋白列表分成多个部分,即将一堆基因进行分类,而这里的分类标准往往是按照基因的功能来限定的.换句话说,就是把一个基因列表中,具有相似功能的基因放到一起,并和生 ...
- 面试必问:HashMap 底层实现原理
HashMap是在面试中经常会问的一点,很多时候我们仅仅只是知道HashMap他是允许键值对都是Null,并且是非线程安全的,如果在多线程的环境下使用,是很容易出现问题的. 这是我们通常在面试中会说的 ...
- elasticsearch 分片的创建 集群重启分片运作
2016年11月12日ENGINEERING Every shard deserves a home 作者 Joshua Backing Share Here are some great slide ...
- Solr7.x学习(7)-JAVA操作
maven依赖 <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-sol ...
- 【计算机视觉】ImageNet介绍
ImageNet介绍 ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库.是美国斯坦福的计算机科学家,模拟人类的识别系统建立的.能够从图片识别物体.ImageNet是一 ...
- jquery插件实现瀑布流
jquery插件实现瀑布流<!DOCTYPE html><html lang="en"><head> <meta charset=&quo ...
- AKKA HTTP 简单示例
AKKA HTTP 简单示例 依赖包: compile("com.typesafe.akka:akka-http_2.13:10.1.8") compile("com.t ...
- ThreadLocal使用场景案例
本篇是<ThreadLocal 那点事儿>的续集,如果您没看上一篇,就就有点亏了.如果您错过了这一篇,那亏得就更大了. 还是保持我一贯的 Style,用一个 Demo 来说话吧.用户提出一 ...