已开启
dracut: Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y #65
zhaoxiaohu创建于  4月1日
zhaoxiaohu
zhaoxiaohu
4月1日 创建

fix(dracut.sh): remove microcode check based on CONFIG_MICROCODE_[AMD|INTEL]
CONFIG_MICROCODE_AMD and CONFIG_MICROCODE_INTEL are hidden since
https://lore.kernel.org/all/20230810160805.081212701@linutronix.de/, therefore
this check is wrong and early microcode is always disabled.

backport:https://github.com/dracutdevs/dracut/commit/6c80408c8644a0add1907b0593eb83f90d6247b1#diff-99bfb8fe311d6a59318f685a5e3401b59293b577968aa08cc4ff7320a163bb28

环境情况

  • 版本: dracut-055-17
  • 操作系统版本 :origin/openEuler-22.03-LTS-SP4
  • 内核版本 : kernel-6.6.0

image.png

likedislike
openeuler-ci-botopeneuler-ci-bot成员
4月1日 将 jiayi0118 设为负责人
openeuler-ci-botopeneuler-ci-bot成员
4月1日 修改了issue 的描述
openeuler-ci-botopeneuler-ci-bot成员
4月1日 添加了label:sig/Base-service
openeuler-ci-bot
openeuler-ci-bot成员
4月1日 评论:

以下的要求不是强制性的, 未按模板评论时对issue无任何影响
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, 缺陷严重等级, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后defect-manager将无法正常解析填写内容.
评论区可能使用到的指令说明:

指令 指令说明 使用权限
/check-issue 触发defect-manager校验 不限
/reason xxx /reason +挂起或取消条件 不限

影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

abi变化(是/否):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

缺陷issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/defect-manager-manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
4月1日 评论:

Welcome To openEuler Community

Hey @Z1142143860Z , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands.

Contact Guide

If you have any questions, please contact the SIG: Base-service ,
and any of the maintainers: @dillon_chen, @licihua, @overweight, @shenyangyang, @zhujianwei001 ,
and any of the committers: @jiayi0118, @licunlong, @protkhn, @shenyangyang, @xujing99, @yue-yuankun .

likedislike
openeuler-ci-botopeneuler-ci-bot成员
4月1日 添加了label:DEFECT/UNFIXED
zhaoxiaohuzhaoxiaohu
4月1日 修改了issue 的描述
zhaoxiaohuzhaoxiaohu
4月1日 关联了pull request:fix(dracut.sh): remove microcode check based on CONFIG_MICROCODE_[AMD|INTEL]
Linux_zhang2024
4月21日 评论:

@Z1142143860Z
image.png

按照你反馈的版本,麻烦明确一下影响的场景,包括但不限于以下说明:

  1. 具体的影响结果是什么?
  2. 复现动作是什么?
likedislike
wangyuhang
4月25日 评论:

openEuler-22.03-LTS-SP4 配套的内核版本不是 kernel-6.6.0,你举例的场景在22.03版本就不支持,请在24.03版本上复现你得问题场景,或许24.03版本可以解决你当前的问题

likedislike
Linux_zhang2024
5月18日 评论:

/reason 当前issue 无进一步讨论信息,且开发者已解释说明,申请对该issue 关闭

likedislike
zhaoxiaohu
zhaoxiaohu
5月18日 评论:

@Z1142143860Z
image.png

按照你反馈的版本,麻烦明确一下影响的场景,包括但不限于以下说明:

  1. 具体的影响结果是什么?
  2. 复现动作是什么?

@Linux_zhang2024

影响结果: 但实际结果:
❌ 内核没有编译 Intel 微码驱动 → 启动时微码加载失败!

复现动作:执行 dracut -f
image.png

likedislike
zhaoxiaohu
zhaoxiaohu
5月18日 评论:

明确4系5系内核兼容逻辑
https://atomgit.com/src-openeuler/dracut/pull/185

From 49fb4f22da09eed449c54ffadd2a69918028799e Mon Sep 17 00:00:00 2001
From: zhaoxiaohu <zhaoxiaohu@kuaishou.com>
Date: Wed, 1 Apr 2026 14:20:19 +0800
Subject: [PATCH 1/1] fix(dracut.sh): remove microcode check based on
 CONFIG_MICROCODE_[AMD|INTEL] `CONFIG_MICROCODE_AMD` and
 `CONFIG_MICROCODE_INTEL` are hidden since
 https://lore.kernel.org/all/20230810160805.081212701@linutronix.de/,
 therefore this check is wrong and early microcode is always disabled.

Signed-off-by: zhaoxiaohu <zhaoxiaohu@kuaishou.com>
---
 dracut.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dracut.sh b/dracut.sh
index bab91ca..53c7cb1 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1381,22 +1381,25 @@ fi
 if [[ $early_microcode == yes ]]; then
     if [[ $hostonly ]]; then
         if [[ $(get_cpu_vendor) == "AMD" ]]; then
-            check_kernel_config CONFIG_MICROCODE_AMD || unset early_microcode
+            # 6.x kernels use CONFIG_MICROCODE, 5.x kernels use CONFIG_MICROCODE_AMD
+            check_kernel_config CONFIG_MICROCODE_AMD || check_kernel_config CONFIG_MICROCODE || unset early_microcode
         elif [[ $(get_cpu_vendor) == "Intel" ]]; then
-            check_kernel_config CONFIG_MICROCODE_INTEL || unset early_microcode
+            # 6.x kernels use CONFIG_MICROCODE, 5.x kernels use CONFIG_MICROCODE_INTEL
+            check_kernel_config CONFIG_MICROCODE_INTEL || check_kernel_config CONFIG_MICROCODE || unset early_microcode
         else
             unset early_microcode
         fi
     else
         ! check_kernel_config CONFIG_MICROCODE_AMD \
             && ! check_kernel_config CONFIG_MICROCODE_INTEL \
+            && ! check_kernel_config CONFIG_MICROCODE \
             && unset early_microcode
     fi
     # Do not complain on non-x86 architectures as it makes no sense
     case $(uname -m) in
         x86_64 | i?86)
             [[ $early_microcode != yes ]] \
-                && dwarn "Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y"
+                && dwarn "Disabling early microcode, because kernel does not support it. [5.x kernels]CONFIG_MICROCODE_[AMD|INTEL]!=y or [6.x kernels]"
             ;;
         *) ;;
     esac
-- 
2.33.0
likedislike
Linux_zhang2024
5月18日 评论:

明确4系5系内核兼容逻辑
https://atomgit.com/src-openeuler/dracut/pull/185

From 49fb4f22da09eed449c54ffadd2a69918028799e Mon Sep 17 00:00:00 2001
From: zhaoxiaohu <zhaoxiaohu@kuaishou.com>
Date: Wed, 1 Apr 2026 14:20:19 +0800
Subject: [PATCH 1/1] fix(dracut.sh): remove microcode check based on
CONFIG_MICROCODE_[AMD|INTEL] `CONFIG_MICROCODE_AMD` and
`CONFIG_MICROCODE_INTEL` are hidden since
https://lore.kernel.org/all/20230810160805.081212701@linutronix.de/,
therefore this check is wrong and early microcode is always disabled.

Signed-off-by: zhaoxiaohu <zhaoxiaohu@kuaishou.com>
---
dracut.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dracut.sh b/dracut.sh
index bab91ca..53c7cb1 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1381,22 +1381,25 @@ fi
if [[ $early_microcode == yes ]]; then
    if [[ $hostonly ]]; then
        if [[ $(get_cpu_vendor) == "AMD" ]]; then
-            check_kernel_config CONFIG_MICROCODE_AMD || unset early_microcode
+            # 6.x kernels use CONFIG_MICROCODE, 5.x kernels use CONFIG_MICROCODE_AMD
+            check_kernel_config CONFIG_MICROCODE_AMD || check_kernel_config CONFIG_MICROCODE || unset early_microcode
        elif [[ $(get_cpu_vendor) == "Intel" ]]; then
-            check_kernel_config CONFIG_MICROCODE_INTEL || unset early_microcode
+            # 6.x kernels use CONFIG_MICROCODE, 5.x kernels use CONFIG_MICROCODE_INTEL
+            check_kernel_config CONFIG_MICROCODE_INTEL || check_kernel_config CONFIG_MICROCODE || unset early_microcode
        else
            unset early_microcode
        fi
    else
        ! check_kernel_config CONFIG_MICROCODE_AMD \
            && ! check_kernel_config CONFIG_MICROCODE_INTEL \
+            && ! check_kernel_config CONFIG_MICROCODE \
            && unset early_microcode
    fi
    # Do not complain on non-x86 architectures as it makes no sense
    case $(uname -m) in
        x86_64 | i?86)
            [[ $early_microcode != yes ]] \
-                && dwarn "Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y"
+                && dwarn "Disabling early microcode, because kernel does not support it. [5.x kernels]CONFIG_MICROCODE_[AMD|INTEL]!=y or [6.x kernels]"
            ;;
        *) ;;
    esac
-- 
2.33.0

@Z1142143860Z

可以按照你本地实际环境进行验证补丁修复的有效性,并推送补丁。

本地暂因复现条件约束无法复验以及验证修复的有效性

likedislike
zhaoxiaohuzhaoxiaohu
5月19日 关联了pull request:fix(dracut.sh): remove microcode check based on CONFIG_MICROCODE_[AMD|INTEL]
zhaoxiaohuzhaoxiaohu
5月19日 修改了issue 的描述