最近在搞nbd trim相关,但是旧的内核2.6.32版本不支持trim,所以就google了资料,尝试升级内核。
一 :查看当前内核。(这里要分清楚,linux 内核和发行商)。
参考链接:
https://blog.youkuaiyun.com/u011669700/article/details/79443134
(1)查看内核版本
uname -r
cat /proc/version
(2)查看Linux发行商版本
cat /etc/redhat-release
cat /etc/issue
lsb_release -a (如果没有该命令,yum install lsb)
这里面还包括了linux内核版本,命名的规则,有时间在写。
二 :升级内核
方法一:使用第三方el仓库进行升级(el 是 enterprise linux的简称)
参考链接:
https://blog.youkuaiyun.com/wh211212/article/details/78683753
https://www.jianshu.com/p/726bd9f37220
http://elrepo.org/tiki/tiki-index.php
(1) 导入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
(2) 为RHEL-7,SL-7或CentOS-7安装ELRepo:
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
为RHEL-6,SL-6或CentOS-6安装ELRepo:
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
(3)查看可用的Linux内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
(4)安装Linux内核版本(lt和ml选择一个安装)
安装长期支持版本
yum --enablerepo=elrepo-kernel install kernel-lt -y
安装主线最新版本
yum --enablerepo=elrepo-kernel install kernel-ml -y
(4)修改grub文件,使用最新的内核
编辑 /etc/grub.conf 文件,修改default=0
(5)重启完成后,查看内核版本 uname -r
方法二:手动编译,正在尝试。搞定了会写出关键步骤。
(1) 下载你所要的内核
https://www.kernel.org/pub (linux => kernel => v3.x)
(2) 拷贝内核源码到 /usr/src目录下
(3) make mrproper 删除编译生成的文件,删配置和备份 (make 的用法暂时不是很清楚,以后会专门写一篇make的文章)
(4) 安装gcc :
yum install gcc
(5) 安装ncurses ncurses-devel(new curses,支持用户桌面api的程序库) :
yum install ncurses ncurses-devel
(6) make menuconfig (这个具体没有看,一路默认就可以)
(7) 安装依赖
yum install elfutils-libelf-devel
yum install openssl-devel
(8)编译内核 && 编译内核模块
内核编译:make bzImage
内核模块编译:make modules
注释:也可以直接make,会既编译内核也编译内核模块
(7)安装内核 && 安装内核模块
内核安装:make install
内核模块安装:make modules_install
(8) 修改 /etc/grub.conf 文件。调整内核顺序
(9) 重启完成
参考:
http://www.mamicode.com/info-detail-1872697.html
https://zhuanlan.zhihu.com/p/31516913
https://www.cnblogs.com/xiaocen/p/3717993.html