1.手动触发panic
配置宏
CONFIG_MAGIC_SYSRQ=y
触发命令
echo c > /proc/sysrq-trigger
2.保存panic/oops log
- 添加mtd分区:
1.使用cat /prco/mtd查看mtd分区erasesize大小
2.分区至少设为2*erasesize大小
3.配置mtdoops
4.触发panic
由于spinor flash的mtd_panic_write接口没有实现无法写入,请使用nand_flash。
3.kdump配置 待完善
CONFIG_MAGIC_SYSRQ=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
CONFIG_KALLSYMS_ALL=y
使用cat /proc/cmdline查看信息,加载捕获内核
./build/sbin/kexec -p --append="root=/dev/mtdblock5 rootfstype=squashfs nr_cpus=1 reset_devices" ./Image
触发命令
echo c > /proc/sysrq-trigger
【精选】ARM64下 Kdump & Crash_kexec源码下载-CSDN博客