如何判断我的内核或 UEFI 固件是否存在错误?

如何判断我的内核或 UEFI 固件是否存在错误?

我有一块 dz77ga-70k 主板,上面装有 Intel 固件版本 0049。 Linux 和 elilo 不会在 uefi 模式下启动。症状是当我bzImage.efi initrd=initrd.img ro debug loglevel=8 earlyprinkt=vga root=/dev/sda2从 uefi shell 运行时,它挂起。选择内核后 elilo 将重新启动。

然后我编译了最新的内核源代码,但也失败了。我在源代码中添加了一些调试输出,具体arch/x86/boot/compressed/eboot.c是什么似乎发生的情况是,对 的调用exit_boot_services始终失败。这也发生在埃利洛身上。

来自UEFI规格,失败的唯一原因exit_boot_services是内存映射在get_memory_mapexit_boot_services 之间发生了“更改”。

我通常是一名图形程序员,对内核/BIOS 的东西了解不多,所以我如何判断这是固件还是内核的错误?我不介意做一些测试。

似乎其他人也有类似的主板有类似的问题:http://comments.gmane.org/gmane.linux.redhat.fedora.devel/167170

查看 mb 上的 8 段 LED 状态代码,它会转到 C6 -> 启动内核 -> F8 -> B1,然后挂起。 F8 是 ExitBootServices,B0 到 BF 是“检测和初始化固定媒体”,所以也许它正在通过 ExitBootServices?

有什么线索吗?

答案1

显然这是 UEFI 固件的一个错误,如发行说明中所述英特尔0053固件升级。但是不要安装它。它会让你的主板变砖!英特尔干得好。不使用 UEFI 的另一个原因。

相关内容