#reproducible builds

Linux 内核模块哈希校验兼顾可复现构建

lwn.net · ⭐️ 7/10 · 2026-10-22

7/10

在 2026 年 Linux Plumbers Conference 上,Thomas Weißschuh 介绍了一套经过多轮修订的内核模块完整性补丁:它用模块哈希来辅助验证,而不只依赖 X.509 签名,目标是在阻止未授权模块加载的同时保持发行版构建可复现。现有签名模块把签名附在 .ko 文件末尾;若要让签名后的模块逐位可复现,就需要保留私钥,而常见的临时密钥方案虽然安全,却无法在事后重建相同签名。早期方案把全部授权模块的哈希列表放进内核镜像,但 5000 个模块的 SHA-256 值就要占用约 150KB 常驻内存;他讨论了改用 Merkle 树,使内存中只需保留根哈希和树深度,模块的校验路径可随 .ko 加载后丢弃。

7/10

LWN 发布了一篇由 Tyler Langlois 撰写的 Nix flakes 解释文章,面向希望在跨发行版项目中固定依赖、构建环境和测试流程的开发者。文章说明 flake.nix 用 URL 式 inputs 和 outputs 定义包、开发环境等产物,nix flake lock 生成 flake.lock,把每个输入锚定到具体的上游提交,类似 Cargo.lock 或 Gemfile.lock。文章还强调 flakes 仍属实验特性,启用时需在命令中加入 --experimental-features &\x27;nix-command flakes&\x27;,或在 nix.conf 中设置该选项,而其稳定化路径仍不确定。