CONFIG_LOCALVERSION(CentOS 6.5)

CONFIG_LOCALVERSION(CentOS 6.5)

我是/boot“根”。我编辑config-2.6.32-431.el6.x86_46并将我的名字添加到CONFIG_LOCALVERSION="John"

但是当我输入时uname -r只显示版本,但最后不显示我的名字。我是否编辑了错误的配置文件?

答案1

您正在编辑的文件仅仅是内核编译时的配置记录。此处进行更改的唯一方法是,如果您准备系统编译新内核并将文件复制到/boot内核源代码树,以便在编译过程中将其用作内核选项。

配置文件仅用于决定如何构建内核并传递一些选项(例如CONFIG_LOCALVERSION)。例如,我当前配置的第一行是:

CONFIG_64BIT=y

它告诉内核构建过程为 64 位计算机进行编译。如果您查看该文件,您将看到许多启用 ( y) 或禁用 ( n) 选项的选项,并且驱动程序允许您构建为可加载模块 ( m)。

因此,该文件并不驻留在内核中 - 它在构建时定义内核。不多不少。一旦内核被编译,该文件实际上是冗余的。它们被存储起来/boot,以便以后可以重建类似的内核,而无需仔细检查每个选项并从头开始决定它们的值。我当前的配置文件中有 4448 行以 开头CONFIG- 决定每一行将相当费力且容易出错。相反,我可以将此文件复制到内核构建树中,并更改我需要更改的一些设置,然后重建内核。

由于CONFIG_LOCALVERSION在编译时硬编码,因此无法更改。它只能通过命令读取uname,或者如 g4ur4v 所说,从 proc 文件系统读取/proc/sys/kernel

答案2

uname -r从 获取数据/proc/sys/kernel/osrelease

您无法修改此文件。

/boot当您想要编译新内核时使用,因此更改文件对正在运行的内核没有影响。

相关内容