我正在尝试在 Debian Buster 系统上设置 kdump,如下所示本文。
我已经安装了kdump-tools
创建的包/etc/default/grub.d/kdump-tools.cfg
,它执行以下操作:
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT crashkernel=384M-:128M"
我的理解是,这会将crashkernel
参数附加到内核命令行参数中。
我运行sudo update-grub
,这似乎成功了,但这个词crashkernel
没有出现在/boot/grub/grub.cfg
(或下面的任何地方/boot
)。
生成的内容grub.cfg
是这样的:
menuentry "Linux" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b05e794c-10ea-4c8b-8ee4-2d51c8875d85' {
...
echo 'Loading Linux 5.9.0-0.bpo.5-amd64 ...'
linux /boot/vmlinuz-5.9.0-0.bpo.5-amd64 root=UUID=b05e794c-10ea-4c8b-8ee4-2d51c8875d85 ro quiet processor.max_cstate=1 intel_idle.max_cstate=1
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.9.0-0.bpo.5-amd64
}
我已经确认 中的其他文件/etc/defaults/grub.d
没有修改GRUB_CMDLINE_LINUX_DEFAULT
。我尝试过crashkernel
直接添加到/etc/default/grub
.我还用 strace 确认了/etc/default/grub.d/kdump-tools.cfg
正在读取的内容。
答案1
不太确定,但我注意到/etc/grub.d/proxifiedScripts/linux
创建这样的条目,哪里${args}
是${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}
.
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
但是,我发现其中/etc/grub.d/proxifiedScripts/custom
包含linux
以 my 结尾的行grub.cfg
,它确实不是包括GRUB_CMDLINE_LINUX_DEFAULT
:
linux /boot/vmlinuz-5.9.0-0.bpo.5-amd64 root=UUID=b05e794c-10ea-4c8b-8ee4-2d51c8875d85 ro quiet processor.max_cstate=1 intel_idle.max_cstate=1
我手动添加了crashkernel
它,这似乎有效。
可能有人运行 GRUB 定制器使这变得过于复杂。