Dmesg not being dumped

Minfei Huang mhuang at redhat.com
Wed Aug 19 07:08:09 PDT 2015


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.



More information about the kexec mailing list