导图社区 MYD-JX8MQ kexec
kexec 是一种强大的系统工具,它提供了快速重启、系统崩溃处理和内核替换等功能,为 Linux 系统的管理和维护带来了极大的便利。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
MYD-JX8MQ kexec
介绍
当kernel crash的时候,可以用kexec加载的新内核启动,来查看kernel crash时的信息
使用方法
kernel配置
CONFIG_KEXEC CONFIG_SYSFS CONFIG_DEBUG_INFO CONFIG_PROC_KCORE CONFIG_PROC_VMCORE CONFIG_CRASH_DUMP
uboot 配置
在bootargs 中增加 crashkernel=512M-2G:256M,2G-:512m
printenv mmcargs mmcargs=setenv bootargs ${jh_clk} console=${console} root=${mmcroot} crashkernel=512M-2G:256M,2G-:512M
当内存低于512M时不分配 空间 512M到2G时分配256M 2G以上时分配512M
dmesg
crashkernel reserved: 0x00000000a8000000 - 0x00000000b8000000 (256 MB)
Kernel command line: console=ttymxc0,115200 earlycon=ec_imx6q,0x30860000,115200 root=/dev/mmcblk0p2 rootwait rw video=HDMI-A-1:1920x1080-32@60D crashkernel=512M-2G:256M,2G-:512M
kexec
下载
git clone git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
配置
加载编译链
source ~/nxp/opt_warrior/environment-setup-aarch64-poky-linux
./bootstrap
mkdir -p build_kexec
./configure --host=arm64 --prefix=/media/disk_p/duxy/nxp/L4.19.35/kexec-tools/build_kexec --without-zlib --without-lzma
编译
make
make install
拷贝到板子,加载第二kernel
./kexec -d -p /run/media/mmcblk0p1/Image --append="root=/dev/mmcblk0p2 rootwait rw maxcpus=1"
使用echo c > /proc/sysrq-trigger
此时,不会有反应,因为软件有个地方卡住
linux/kernel/kernel_core.c
修改之后重新测试,可以看到如下打印