kexec 加载捕获内核
#!/bin/bash
kexec -p --command-line="console=ttyAMA1,115200 logleve=8 earlycon=pl011,0x28001000 root=/dev/nvme0n1p4 rw rootwait reset_devices nr_cpu=1" --dtb=./xxx.dtb ./Imagecat /sys/kernel/kexec_crash_size
cat /sys/kernel/kexec_crash_loaded
makedumpfile 保存vmcore
#!/bin/bashvmcore_name="Vvmcore"
dmesg_name="vdmesg"
timestamp=$(date +"%Y%m%d_%H%M%S")
i=1while true; dofilename="${vmcore_name}_${timestamp}_${i}"dmesgname="${filename}_${dmesg_name}.txt"if [ ! -e "$filename" ]; thenbreakfi((i++))
doneecho "Save dmesg start:"
vmcore-dmesg /proc/vmcore > "$dmesgname"
echo -e ">>> $dmesgname done\n"echo "Save vmcore start:"
makedumpfile -l --message-level 1 -d 31 /proc/vmcore "$filename"
echo -e ">>> $filename done\n"
./vmcore.sh
Save dmesg start:
>>> Vvmcore_19700101_082454_1_vdmesg.txt doneSave vmcore start:
Copying data : [100.0 %] / eta: 0s
>>> Vvmcore_19700101_082454_1 done