我正在尝试使用Linux的Kernel Crash Dump启动崩溃内核。主机和崩溃内核都是linux-4.13.16内核编译的。不幸的是,崩溃内核在崩溃发生后无法启动。
iomem报告崩溃内核的预留空间,kdump报告为kdump做好准备:
28000000-37ffffff:崩溃内核
$ sudo kdump-config show
DUMP_MODE: kdump
USE_KDUMP: 1
KDUMP_SYSCTL: kernel.panic_on_oops=1
KDUMP_COREDIR: /var/crash
crashkernel addr: 0x28000000
/var/lib/kdump/vmlinuz: symbolic link to /boot/vmlinuz-4.13.16ksa
kdump initrd:
/var/lib/kdump/initrd.img: symbolic link to /var/lib/kdump/initrd.img-4.13.16ksa
current state: ready to kdump
kexec command:
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-4.13.16ksa root=UUID=3254c608-d885-4dfc-b20b-fa4e69564dca ro quiet splash vt.handoff=7 irqpoll noirqdistrib nr_cpus=1 nousb systemd.unit=kdump-tools.service" --initrd=/var/lib/kdump/initrd.img /var/lib/kdump/vmlinuz
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.13.16ksa root=UUID=3254c608-d885-4dfc-b20b-fa4e69564dca ro quiet splash crashkernel=384M-2G:128M,2G-:256M vt.handoff=7
使用sysrq-trigger触发崩溃后,它不会加载崩溃内核。
我已经使用通用内核linux-4.8.0-36-generic进行了测试,该内核成功运行。
Syslog文件为here。
linux-4.8.0-36-generic和linux-4.13.16ksa都有相同的.config文件。唯一不同的是我可以看到,在启动期间,对于linux-4.13.0-38,它加载了efi.signed vmlinuz(vmlinuz-4.13.0-38-generic.efi.signed),其中编译的linux-4.13.16ksa没有签署。
这可能是个问题吗?我该如何解决这个问题?