![CentOS 7.9 重新编译内核后未报告完整版本号](https://linux22.com/image/228583/CentOS%207.9%20%E9%87%8D%E6%96%B0%E7%BC%96%E8%AF%91%E5%86%85%E6%A0%B8%E5%90%8E%E6%9C%AA%E6%8A%A5%E5%91%8A%E5%AE%8C%E6%95%B4%E7%89%88%E6%9C%AC%E5%8F%B7.png)
我需要在 CentOS 7.9 中启用 SCSI 支持,因此我按照此处的说明进行操作:
https://wiki.centos.org/HowTos(2f)I_need_the_Kernel_Source.html
添加 SCSI 支持并重新编译,这按预期工作,但3.10.0-1160.108.1.el7.x86_64
它不是 uname -r reporting ,而是仅报告3.10.0
,并且它在 /boot 中创建的 vmlinuz 文件也以这种方式命名。
尽管 rpmbuild 目录中的所有路径都有全名,但仍然如此。
UTS_RELEASE
文件中的条目是include/generated/utsrelease.h
这样3.10.0
的,所以我编辑了它并重新编译,但它做了同样的事情。
如何重新编译内核以便uname -r
报告正确的版本?
答案1
默认情况下,仅给出内核 Makefile 定义的, &uname -r
的输出,因为所有其他设置默认为空白。在这种情况下,。VERSION
PATCHLEVEL
SUBLEVEL
3.10.0
EXTRAVERSION
但是, Makefile 中也有&LOCALVERSION
可以在配置期间设置。因此,我本希望LOCALVERSION
被设置为-1160.108.1
,但由于某种原因,在这种情况下,它不是。
您可以通过更改General setup
->来更改它Local version - append to kernel release
。它只是自由格式的文本。
您应该注意,虽然您希望它显示3.10.0-1160.108.1.el7.x86_64
,但我还没有看到该部件上添加过任何内核el7.x86_64
。