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系统中升级、定制或管理内核版本,以适应不同场景的需求。

阅读剩余
THE END