内核忽略追加 init=/bin/bash

内核忽略追加 init=/bin/bash
 qemu-system-x86_64 -m 2G -accel kvm -kernel kernel6.1 -append "init=/bin/bash" -initrd myinitrd.gz

应该将 bash 作为 init 运行,但内核仍然打印:

[    1.400577] Run /init as init process

为什么?

答案1

我相信这是因为 CONFIG_CMDLINE_FORCE=y 在内核上定义的。也许用 CONFIG_CMDLINE_FORCE=n 重建它?

设置此项以使默认内核命令字符串中的参数覆盖引导加载程序传递的参数。 [1]

[1]https://www.kernelconfig.io/config_cmdline_force

相关内容