文章目录
之前文章讲解过《Linux Kdump内核崩溃转储部署详解》,主要是针对centos等发行版linux服务器环境上部署使用,本文主要针对小型arm嵌入式环境的kdump部署,原理基本一样,但操作上有差异,本文主要介绍其基本流程。
一 、 前置条件
前置条件主要包含如下两点。
1.1 编译内核config选项
内核需要打开如下选项以支持kexec。
CONFIG_KEXEC=y
CONFIG_DEBUG_INFO=y
1.2 交叉编译kexec、vmcore-dmesg工具
kexec工具:能够将第二内核(捕获内核)装载到指定内存运行。
vmcore-dmesg工具:用于提取vmcore的dmesg信息。
- 执行如下下载工具源码:
wget http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools.tar.gz
- 交叉编译
采用aarch64-linux-gnu交叉编译工具,生成的kexec、vmcore-dmesg工具为arm平台,位于build/sbin下
./configure --host=aarch64-linux-gnu
make
- 拷贝
kexec拷贝到第一内核/usr/bin/下。
vmcore-dmesg拷贝到第二内核根文件系统/usr/bin/下(下面讲解)。
二、 预留kdump奔溃的转储内存
2.1 预留内存
需要对kernel添加启动参数
本文详细介绍了在嵌入式Linux环境下部署kdump的过程,包括前置条件、预留崩溃转储内存、制作捕获内核、创建根文件系统、制作启动脚本、开启panic监听以及如何收集和分析崩溃信息。主要涉及交叉编译kexec工具、配置内核选项、设置crashkernel参数等关键步骤。
最低0.47元/天 解锁文章

8351

被折叠的 条评论
为什么被折叠?



