我正在系统上运行 CentOS Stream 10,并尝试在其上运行 EINJ。根据文档,我应该在那里找到一个名为
available_error_type
的文件,但事实并非如此。
这是内核版本。
[root@localhost ~]# uname -r
6.12.0-32.el10.x86_64
我正在阅读相关的文档,看来我的BIOS确实支持它。
[root@localhost ~]# dmesg | grep -i "einj"
[ 0.011256] ACPI: EINJ 0x000000005A282B40 000150 (v01 ALASKA A M I 00000001 INTL 0
[ 0.011292] ACPI: Reserving EINJ table memory at [mem 0x5a282b40-0x5a282c8f]
[root@localhost ~]# ls /sys/firmware/acpi/tables/EINJ
/sys/firmware/acpi/tables/EINJ
检查我的内核配置中是否启用了相关选项。
[root@localhost ~]# grep -i "CONFIG_ACPI_APEI" /boot/config-$(uname -r)
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=m
CONFIG_ACPI_APEI_EINJ_CXL=y
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
我运行这个来安装 debugfs
mount -t debugfs none /sys/kernel/debug
但是当我打开目录,希望找到带有
available_error_type
文件的 EINJ 目录时,它不在那里。
然后我运行了
modprobe einj
和 modprobe einj param_extension=on
,希望找到 available_error_type 文件。 lsmod 确认 einj 已加载,但该文件不存在。然而,运行 modprobe 命令后,我在 dmesg 上找到了这个。
[ 918.549253] EINJ: Error collecting EINJ resources.
[ 918.549272] acpi-einj acpi-einj: probe with driver acpi-einj failed with error -22
我什至跑了
modprobe cxl_core
和modprobe cxl_acpi
,但没有帮助。
我做错了什么?它需要什么资源?我对这个东西很陌生。如果相关的话,我运行它的系统有 Intel Xeon Gold 6240R。
编辑:修复了拼写错误。 我忘记包括 CONFIG_DEBUG_FS 也已启用。 我还在 dmesg 上发现了这一点,就在显示“收集 EINJ 资源时出错”的消息之前。
[ 12.505110] [Firmware Bug]: APEI: Invalid physical address in GAR [0x0/0/0/0/0]
我打开BIOS(AMI),在平台配置部分,有一个名为错误注入设置的选项。原来这个功能被禁用了。启用它并开始工作。