一下操作步骤来自于各种搜索出来的杂七杂八的东西。主要来自:https://blog.csdn.net/happyfreeangel/article/details/85088706

前置环境:CentOS 7 x86 任意一个版本

前置的一些步骤(可选):
更换yum源为国内:
#CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
#CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

安装工具链条:
sudo yum install -y gcc kernel-devel
sudo yum install -y epel-release
sudo yum group install -y “Development Tools”
sudo yum install -y bc wget xz ncurses-devel bison flex elfutils-libelf-devel openssl-devel

然后就是脚本内容:

export version=4.14.59 #这里写你要编译的内核版本
export kernelfile=linux-${version}.tar.xz

#wget https://mirror.bjtu.edu.cn/kernel/linux/kernel/v4.x/linux-${version}.tar.xz #longterm kernel 4.14.89

#xz -d -v ${kernelfile}

#wget https://mirror.bjtu.edu.cn/kernel/linux/kernel/v4.x/linux-${version}.tar.sign

result=$(gpg --verify linux-4.14.59.tar.sign | grep 'using RSA key')
recv_keys=""
for word in result
do
recv_keys=word
done

echo $recv_keys
gpg --recv-keys recv_keys
gpg --verify linux-{version}.tar.sign

tar xvf linux-${version}.tar

cd linux-$(version)
cp -v /boot/config-$(uname -r).config

#下面的make menuconfig 需要手动 干预, 我是选择默认,直接保存退出,什么都没改。就是为了生成一个标准的.config 文件。

make menuconfig #这里要特别注意,进去后退出必须保存为.config 否则下面的运行每个都要确认.
#make xconfig # X windows (Qt) based configuration tool, works best under KDE desktop
#make gconfig #X windows (Gtk) based configuration tool, works best under Gnome Dekstop.

echo 开始编译内核linux-${version}

#使用多个线程编译,每个cpu 一个线程. 如果你是单个cpu,可以设置 make -j 2

make -j $(nproc)

sudo make modules_install

sudo make install

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo grubby --set-default /boot/vmlinuz-${version}

echo 'do reboot'
#sudo reboot

p.s.

http://wiki.centos.org/Download centos系统版本与内核版本对应关系在这查

https://mirror.bjtu.edu.cn/kernel/linux/kernel     linux内核源码国内镜像站

Linux-通过源码安装某个版本的内核的更多相关文章

  1. linux通过源码安装nodejs

    1.下载nodejs源码,下载地址:https://nodejs.org/en/download/ 2.下载回来后,解压缩,ubuntu系统ctrl + alt +T 打开终端 假如tar.gz压缩包 ...

  2. 通过源码安装PostgresSQL

    通过源码安装PostgresSQL 1.1 下载源码包环境: Centos6.8 64位 yum -y install bison flex readline-devel zlib-devel yum ...

  3. 在centos6.7通过源码安装python3.6.7报错“zipimport.ZipImportError: can't decompress data; zlib not available”

    在centos6.7通过源码安装python3.6.7报错: zipimport.ZipImportError: can't decompress data; zlib not available 从 ...

  4. 【Git】CentOS7 通过源码安装Git

    yum源仓库里的Git版本更新不及时,最新版的Git是1.8.3,但是官方的最新版早已经更新到2.9.5.想要安装最新版本Git,只能下载源码进行安装 建议最好更新git为较新版本,便于使用 1.查看 ...

  5. 在CentOS7(虚拟机)下通过源码安装Postgresql10以及基本配置

    操作系统:CentOS7 安装文件:postgresql-10.0.tar.gz 系统环境:gcc.Python 1:源码安装 [postgres@localhost ~]# tar zxvf pos ...

  6. Ubuntu 14.04 卸载通过源码安装的库

    cd cere-solvermkdir buildcd buildcmake ..sudo makesudo make install 卸载通过以上方式源码安装的库 再次进入buildsudo mak ...

  7. 在linux通过源码编译安装redis详细步骤

    1.下载源码包 [root@localhost opt]# wget http://download.redis.io/releases/redis-4.0.10.tar.gz 2.解压缩redis ...

  8. linux下通过源码安装git

    1.移除旧版本git [root@Git ~]# git --version ## 查看自带的版本git version 1.8.3.1 [root@Git ~]# yum remove git ## ...

  9. Centos7 linux下通过源码安装redis以及使用

    下载redis安装包 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 解压压缩包 tar -zxvf redis-.tar.gz y ...

随机推荐

  1. firefox设置

    如果长期使用linux(我常使用的是fedora)的朋友,就会知道,默认情况下,只要是这台linux再内网,开机几个小时后就无法再访问 google 和webqq 这些网站了并且打开一些网站也是要话上 ...

  2. mybatis-sqlite日期类型对应关系

    1.问题 sqlite数据库 user表,create_time字段,类型DATETIME,设置默认值datetime('now') mybatis,User实体,createTime类型为java. ...

  3. docker理论 Cgroup namespace 各种隔离

    耦合 是指两个或两个以上的体系或者两种运动形式间通过相互作用而批次影响以至联合起来的现象. Nginx与apache 在同一台服务器运行都占用80端口,起冲突这是我们修改其中一个端口为8080 半解耦 ...

  4. JavaWeb之基础(1) —— 文件、目录结构和创建项目

    1. JavaWeb应用 JavaWeb应用从大类上分为静态和动态两种. 静态应用就是传统的HTML文件+素材资源构造的静态网页,不需要特殊的配置.JavaWeb也不是专门用来做静态网站的. 动态应用 ...

  5. 【多线程与并发】:Java中的锁

    锁的概念 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁可以防止多个线程同时访问共享资源(但有些锁可以允许多个线程并发的访问共享资源,如读写锁). 在JDK1.5之前,Java是通过sync ...

  6. ConsoleWebsocketServer服务端和ConsoleWebsocketClient客户端

    本文是简述了Websocket的服务端和客户端的实时通讯过程,Websocket的服务端和客户端的具体使用使用了2种Websocket的服务端和2种客户端. 以下代码使用的是Visual Studio ...

  7. python socketpool:通用连接池(转)

    简介 在软件开发中经常要管理各种“连接”资源,通常我们会使用对应的连接池来管理,比如mysql数据库连接可以用sqlalchemy中的池来管理,thrift连接可以通过thriftpool管理,red ...

  8. STAR原则

    所谓STAR原则,即Situation(情景).Task(任务).Action(行动)和Result(结果)四个英文单词的首字母组合.STAR原则是结构化面试当中非常重要的一个理论.S指的是situa ...

  9. golang配置镜像站点

    In Linux or macOS, you can execute the below commands. Bash / # Enable the go modules feature export ...

  10. flutter -------- 页面跳转和传值

    在安卓原生开发中,页面跳转可以用Intent类来具体实现: Intent intent =new Intent(MainActivity.this,second.class); startActivi ...