linux - 什么会影响 Linux 内核的最终构建

标签 linux compilation kernel

我有一个小问题。我需要重建一个 linux 版本,以便它与前一段时间构建的版本相匹配。但是,我遇到了一些问题。

我想知道 linux box 的哪些方面会影响内核的构建过程?以下是一些事实。

目前我们公司使用的是预建预装版的fedora来安装工程师开发盒。这个版本只是 block 复制到空白硬盘上。如果我使用开发盒,我可以成功地重建内核,这样它就可以与我尝试重现的原始版本逐字节匹配。

但是我需要向政府机构证明我们没有对内核做任何坏事,所以他们要求我们在一台只使用信任软件从头开始安装的机器上构建 linux 内核。可信意味着从官方网站下载并通过哈希结果验证。以这种方式构建的机器产生的内核与开发盒上构建的内核不同(因此与我试图匹配的原始内核不同)。

哪些变量可能会影响构建的结果?目前这些在两个盒子(可信和开发)中是相同的

  • 海湾合作委员会版本
  • 运行时内核
  • 我正在尝试重建的内核源代码(包括 .configs 文件)

关于造成差异的任何想法?

最佳答案

Linux 内核包含许多时间戳和其他非确定性元素。 This patch series消除了这些,允许确定性构建。

关于linux - 什么会影响 Linux 内核的最终构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6092427/

相关文章:

c - 辅助线程中的信号处理

python - 在 Linux 上通过 Python 脚本截取屏幕截图

linux - 什么会导致产生SIGHUP?

c++ - 在模板类中重载运算符 <<

linux - X264的安装方法

go - 包源之间的循环依赖

visual-studio - Visual Studio 2017 在为发布构建时不会编译对代码的小改动

c - 启用分页时 QEMU 三重故障

c - OpenCL 是否支持随机访问的全局队列缓冲区?

c - 使用内核模块中的 sysctl 接口(interface)