-> machine_shutdown() //让其他 CPU 都停下来 -> machine_kexec(kexec_image) panic场景 panic() -> __crash_kexec(NULL) -> machine_kexec(kexec_crash_image) crash的基础使用 crash vmcore vmlinux 常见的使用命令: sys 系统信息查询 kmem -i 查看内存使用情况 irq -s 查看中断状态 runq -m 获取到...
• 执行阶段:当调用 kexec -e 启动新的内核时,内核会从 kimage 中读取启动必要的信息,并跳转到新的内核入口点完成启动,这个过程不经过 BIOS/UEFI。 • 崩溃转储:当内核发生崩溃时,如果已经设置了一个转储崩溃内核,crash_memory 和 crash_notes 将帮助保存和传递当前内核的状态,并启动转储内核进行诊断。
STEP-2:加载内核段数据 kexec_corekexecmy_load()kexec_corekexecmy_load()control_code_page 在这里被分配alt[type == DEFAULT][type == CRASHtype == QUICK]loop[foreach nr_segments:]kexec_load():系统调用1do_kexec_load():主要处理函数,以下过程皆在此函数中2kimage_alloc_init():初始化函数,提取用...
在ppc64 上,使用“crashkernel=128M@32M”。 在s390x 上,通常使用“crashkernel=xxM”。xx 的值取决于 kdump 系统的内存消耗。一般来说,这不取决于生产系统的内存大小。 在arm 上,不再需要使用“crashkernel=Y@X”;如果未给出 X,内核将自动在 RAM 的前 512MB 中定位崩溃内核镜像。 在arm64 上,使用“cr...
kexec分析
obj-$(CONFIG_KEXEC_CORE) += relocate_kernel_$(BITS).o crash.o obj-$(CONFIG_KEXEC_FILE) += kexec-bzimage64.o obj-$(CONFIG_CRASH_DUMP) += crash_dump_$(BITS).o obj-y += kprobes/ 4 changes: 2 additions & 2 deletions 4 arch/x86/kernel/kvmclock.c Original file line numberDiff...
CONFIG_CRASH_DUMP=y 6)为“Processor type and features”->“Physical address where the kernel is loaded”设置合适的值。 注意,这个选项只可能在选中了“kernel crash dumps”选项之后出现。默认值是0x1000000(16MB)。这个值应当和上面讨论到的命令行选项“crashkernel=Y@X”中的“X” 的值相对应。
在删除linux-crashdump后,更新-grub仍在添加Crashkernel。 、、 一旦我按照linux-crashdump安装了本教程。但是我不再需要它了,所以我删除了linux-crashdump、crash和kdump-tools包。我在/etc/default/grub中没有这个参数,我也查看了/etc/grub.d/10_linux,但是我找不到“崩溃内核”参数来自何处。我仍然安装了kexec-...
void arch_crash_handle_hotplug_event(struct kimage *image, void *arg); #define arch_crash_handle_hotplug_event arch_crash_handle_hotplug_event #ifdef CONFIG_HOTPLUG_CPU int arch_crash_hotplug_cpu_support(void); #define crash_hotplug_cpu_support arch_crash_hotplug_cpu_support #endif #ifdef CO...
SAVE_PATH=/var/crash SSH_KEY_LOCATION="/root/.ssh/kdump_id_rsa" INITRD_CHECKSUM_LOCATION="/boot/.fadump_initrd_checksum" DUMP_TARGET="" DEFAULT_INITRD="" DEFAULT_INITRD_BAK="" TARGET_INITRD="" FADUMP_REGISTER_SYS_NODE="/sys/kernel/fadump_registered" ...