Linux—小小内核升级

作者 : admin 本文共1286个字,预计阅读时间需要4分钟 发布时间: 2024-06-10 共3人阅读

  本篇主要是讲述下关于内核的一些基本常识,并记录下内核升级和编译的过程,若有遗漏/有误之处,望各位大佬们指出。

Ⅰ 基本内核常识

常见内核安装包

  • 内核(kernel):这是Linux操作系统的核心部分,它负责管理系统的硬件和软件资源,提供各种服务给软件应用程序;
  • 内核开发包(kernel-devel):这个包包含了内核头文件,这些文件可以用来构建内核模块
  • 内核头文件包(kernel-headers):这个包包含了指定Linux内核与用户空间库和程序之间的接口的C头文件。这些头文件定义了构建大多数标准程序所需的常量结构和常量

  如果是升级内核的话,需要下载上面三个安装包,只是编译内核的话,就只需要下载个devel包即可。

  关于如何获取这些安装包的话,我一般都是在【 内核包下载地址】这条链接获取的
Linux—小小内核升级插图

其余的安装包获取,可以参考这个
  下面这些存放都是比较零散的,需要花费大量时间,而且对应的rpm包比较不好找

  • centos7官方:http://elrepo.org/linux/kernel/el7/x86_64/RPMS/
  • 阿里云:http://developer.aliyun.com/mirror/
  • 清华源:http://mirrors.edge.kernel.org/pub/linux/kernel/

Ⅱ 升级内核版本

需要下载好三个安装包,分别为【以X86_64的centos为例子】

  • kernel-3.10.0-957.e17.x86_64.rpm
  • kernel-devel-3.10.0-957.e17.x86_64.rpm
  • kernel-headers-3.10.0-957.e17.x86_64.rpm

进入该目录,执行下面这条指令

yum localinstall kernel-*

使用下面指令,查看内核是否安装成功

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-set-default 0   #指定内核编号,一般新安装的内核版本都会放到第一位,留意下内核版本编号

最后执行指令【reboot】重启服务器,即可

Ⅲ 编译内核

如果只是编译内核的话,只需要一个开发包kernel-devel就可以了。

// 开发包devel存放位置
/usr/src/kernels/$(uname -r)

  只下载一个开发包就可以了,去下载一个对应的内核开发包.rpm,然后再执行make即可进行编译了。
拉取devel包后,到相对于位置执行以下指令

uname -a ; rpm -qa kernel\* | sort // 查看已安装devel包
yum localinstall kernel-devel-3.10.0-957.27.2.el7.x86_64.rpm  // 下载到本地

//卸载
yum remove kernel-devel-2.6.32-754.el6.x86_64

//验证
 ls /usr/src/kernels/$(uname -r)/

【注意】
  关于旧版内核的东西,由于centos官方删掉了一部分的devel文件,如果需要拉去的话,只能自己手动去找rpm进行编译了

本站无任何商业行为
个人在线分享 » Linux—小小内核升级
E-->