Linux-Kernel如果啟用了 SB 但 Arch 沒有啟用,Fedora 怎麼會忽略
如果啟用了 SB 但 Arch 沒有啟用,Fedora 怎麼會忽略 module.sig_enforce
核心參數?
我最近在配備 RTX3050 的筆記型電腦上安全啟動了 Arch 和 Fedora。
眾所周知,我必須在 Fedora 上簽署我的 Nvidia 模組,以便核心載入它們。但是,我發現 Arch 的情況並非如此。Arch 載入 Nvidia 模組,即使它們沒有簽名——當然,前提是核心和 GRUB 是簽名的。
經過研究,我在 ArchWiki 上看到了這篇文章,其中提到了
module.sig_enforce=1
強制簽名驗證的核心參數。但是,Fedora 文件的這個條目中的表 3提到,啟用 SecureBoot 時,所述核心參數沒有任何區別。核心文件在核心配置中提到
CONFIG_MODULE_SIG_FORCE
了選項。所以,我決定看看 Fedora 和 Arch 的配置。果然,Arch沒有設置選項。但是, Fedora也不是。
那麼為什麼在處理模組時會出現這種差異呢?
編輯:
CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
在 Fedora 的 Matrix Room 聊天后,我發現 Fedora 配置中存在但 Arch 中沒有的選項。但是,我在docs.kernel.org上找不到任何與此相關的文件;這裡僅作參考。是否有用於記錄所有核心配置選項的不同站點?
正如您所發現的,這是由
CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
. 該設置由尚未在上游合併的核心更新檔支持;你會在 Fedora 和 RHEL 核心中找到它,但在 Arch 中找不到。由於它尚未在上游合併,因此您不會在上游核心文件或任何其他描述上游核心的站點上找到它。