我已按照此处的说明设置了 linux-crashdump 来调试锁定问题:https://help.ubuntu.com/12.04/serverguide/kernel-crash-dump.html
但是,当我尝试使用以下方法进行测试时echo c > /proc/sysrq-trigger
,我的屏幕会变成空白。如果我处于 X 或即使处于 VT1 中,也会发生这种情况。这是否与我的 VT 处于帧缓冲模式有关?当我尝试崩溃时,我不知道转储是否正常工作,或者我的系统是否只是冻结了。
当崩溃确实发生时,我希望有一些迹象表明某些事情仍在发生。有没有办法配置 kcrash 以在转储时切换到非帧缓冲区 VT?或者这在技术上是不可能的?
答案1
我弄清楚了如何做到这一点。基本上,您需要确保 kexec 加载 vga16fb.ko 模块,这使其能够在帧缓冲模式下工作。这可以通过在 中的设置--module=vga16fb.ko
中添加来完成。例如,我的如下所示:KDUMP_KEXEC_ARGS
/etc/default/kdump-tools
KDUMP_KEXEC_ARGS="--elf64-core-headers --reset-vga --module=vga16fb.ko"
我第一次尝试时就设置了该--reset-vga
参数。它最初不起作用,但我把它留在了那里。