On 08/19/15 at 04:40pm, Nikolay Borisov wrote: > On 08/19/2015 04:13 PM, Minfei Huang wrote: > > Hi. Nikolay. > > Does kexec-tools work for original rhel kernel, like 3.10.0-xxx. Also do > > Unfortunately I canno test with an official rhel kernel since we are not > using those. Also, the problem is not that kexec is not working at all, > but just that the dmesg log is not being saved in the vmcore-dmesg.txt > file. Here are the relevant portion of the my .config which deal with > debug info: > > CONFIG_DEBUG_INFO=y > # CONFIG_DEBUG_INFO_REDUCED is not set > # CONFIG_DEBUG_INFO_SPLIT is not set > # CONFIG_DEBUG_INFO_DWARF4 is not set I ran the kexec-tools-2.0.7-35 on kernel 4.2.0-rc5+ and kdump works successfully to dump the vmcore. The kernel is built by the default config (generated by make defconfig). Following is the relevant portions of the config. # cat .config | grep KEXEC CONFIG_KEXEC=y CONFIG_KEXEC_FILE=y CONFIG_KEXEC_VERIFY_SIG=y CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y CONFIG_KEXEC_JUMP=y # cat .config | grep DEBUG_INFO CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set Thanks Minfei > > The failures is happening (according to my reading of the vmcore-dmesg.c > file) here: > > + if (!log_sz) { > + fprintf(stderr, "Missing the struct log size export\n"); > + exit(64); > + } > > And log_size is being set here: > > str = "SIZE(printk_log)="; > if (memcmp(str, pos, strlen(str)) == 0) > log_sz = strtoull(pos + strlen(str), NULL, 10); > > The pertinent question I guess is why this string cannot be found in the > resulting vmcore image. I just tried with kexec 2.0.10 and the result is > the same.