centos内核源码(linux源码编译)
centos 7如何获取完整内核源码
1.下载内核
内核官网获得了(不让加链接,搜索linux内核官网)
tar.xz是完整的内核包
pgp是.tar.sign后缀的文件,用于校验类似于MD5
patch是补丁包
2.解压文件,现在一般采用.tar.xz的压缩格式(压缩率最高,但是压缩时间较长)。
/usr/src一般而言、我们制做linux内核的时候源码一般放在这个路径下,
可以使用# tar-Jxvf linux-3.13.2.tar.xz-C/usr/src/把文件解压到/usr/src/中(在root用户下才有效)
3.如果是第一次编译内核,并没有上次的残留文件可以可以跳过
# make mrproper
这个步骤
注意:make clean删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译支持来建立扩展模块
make mrproper删除所有的编译生成文件,还有内核配置文件,再加上各种备份文件
make distclean mrproper删除的文件,加上编辑备份文件和一些补丁文件。
4.接下来是 make config。
具体参照《make config的几种类型》
一般采用# make menuconfig的方式
此处需要两个包,选择最简单的yum安装
# yum-y install gcc和
# yum install ncurses ncurses-devel。
具体选项的作用参考《Linux-3.10-x86_64内核配置选项简介》
对新的内核功能选择,并生成一个.config的文件
5.编译内核
# make和# make modules_install(此处命令必须进入/usr/src/linux-x-x-x/才有效,否则会报错)
注意:2.6内核作了优化,不必显示的执行make dep和make bzImage,只需要直接执行
make就行,系统会自动完成make dep和 make bzImage所做的工作。
6.安装内核
# make install
7.修改默认启动的内核(把光标处的default值改成0,就为默认启动,编译成功后默认为1)
# vim/boot/grub/grub.conf
用 cat/boot/grub/grub.conf验证并测试
# cat/boot/grub/grub.conf
看是否添加成功
8.重启机器,查看效果
默认的内核就是刚才编译成功的。。。
何处下载CentOS的Linux内核的源代码
今天既不分析内核源代码,也不讲如何编译源代码,只说从何处下载你的CentOS所对应的Linux内核的源代码。
一、准备工作
1.如何查询你的CentOS的版本
参见:
2.如何查询Linux内核版本
[root@syy~]# uname-r
2.6.32-431.3.1.el6.i686
二、何处下载
经过上面的准备工作,我知道我的 CentOS的发布版本是 6.5,内核版本是2.6.32-431.3.1。
源代码的官网:
进入官网后,依次是进入 6.5/,进入os/,进入Source/,进入SPackages/,找到 kernel-2.6.32-431.el6.src.rpm,下载就行了。
CentOS 7升级内核的三种方式(yum/rpm/源码)
在 CentOS使用过程中,可能需要升级内核以获得性能优化、安全补丁或其他新功能。然而,确保所有程序都支持最新内核版本是关键。本文将介绍三种主要的 CentOS内核升级方式:使用 yum、rpm包或源码编译。
**一、通过 yum安装最新内核**
CentOS 7中,从内核 3.1升级至 4.4(具体版本为 4.17.8),可以通过 yum工具来完成。首先,导入仓库源并查看可安装的软件包,选择是 ML(mainline stable)还是 LT(long term support)版本。安装新内核后,使用命令调整启动顺序,确保系统在下次启动时使用新内核。
**二、使用 rpm包安装特定版本内核**
以安装 LT内核版本 4.415为例,先在 ELRepo源中查找版本。对于较旧版本内核,可能需要手动下载。下载所需的 rpm包后,使用 rpm命令安装新内核。确认已安装的内核版本,并通过设置启动顺序确保系统下次启动时使用新内核。
**三、源码安装内核**
最小化安装 CentOS 7 1804,然后准备安装环境。使用 home下的 kernelbuild目录创建内核编译目录。从清华大学镜像站获取内核源码,确保下载的是最新版本。解压内核源码,并执行 make命令进行编译。根据实际需求配置内核选项,然后安装内核并设置启动顺序。
**四、卸载和降级内核**
如果已经安装了较新的内核版本,再安装较旧版本时可能会遇到冲突。可以通过查看当前系统内核版本,列出所有内核并删除不需要的版本来解决。务必在卸载前确认当前系统是否可以正常运行,以免影响系统稳定性。
通过以上方法,可以灵活地在 CentOS系统中升级、定制或管理内核版本,以适应不同场景的需求。