【发布时间】:2012-08-22 12:20:47
【问题描述】:
我从硬件供应商处下载了他们的 Linux 源代码树的 tarball(没有 Git 存储库元数据),有没有办法找出内核的版本号?
版本号通常存储在源代码树的某个文件中吗?
我希望能够在不编译和运行内核的情况下做到这一点。
【问题讨论】:
标签: linux
我从硬件供应商处下载了他们的 Linux 源代码树的 tarball(没有 Git 存储库元数据),有没有办法找出内核的版本号?
版本号通常存储在源代码树的某个文件中吗?
我希望能够在不编译和运行内核的情况下做到这一点。
【问题讨论】:
标签: linux
你可以通过运行找到版本
make kernelversion
在源代码树中
【讨论】:
uname解决方案需要安装内核。无论如何,既然您现在有一个不需要 需要构建和安装的工具,这里有一个赞成票,可以让您抵消开车投票的反对票 - 我恨他们报复 :-)跨度>
wrong 答案。我只是希望人们会说-哦,好吧:-)
uname 总是错误的答案(问题暗示运行内核的硬件甚至可能不可用)。但从最初的问题来看,我认为检查构建输出的东西是可以接受的。
检查顶级Makefile,例如here。在顶部,您应该会看到如下内容:
VERSION = 3
PATCHLEVEL = 1
SUBLEVEL = 0
EXTRAVERSION = -pax
NAME = Custom Pax Version
此方法的(不可否认的次要)优点是您只需要能够查看文件本身,而不必运行构建过程。
【讨论】:
另一种解决方案:在较早的时期include/linux/version.h,现在是include/generated/uapi/linux/version.h,但只有在至少部分成功编译之后。
【讨论】:
include/linux/version.h 已弃用,它现在在 include/generated/uapi/linux/version.h 的构建过程中生成