Re: Determine version of kernel that produced vmcore

Bernhard Walle
2007-07-10T12:52:55Z

Hi,

* Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp> [2007-07-10 05:13]:
> Plan 1:
> A new option [--osrelease="string"] is added.
> The OSRELEASE of CONFIGFILE is overwritten by "string".
> In the kernel building process, distributors should specify "string"
> as the building kernel version.
>
> Plan2:
> Remove the OSRELEASE from CONFIGFILE.
> Instead of checking the OSRELEASE, makedumpfile only checks whether the
> area of /proc/vmcore specified by the symbol "system_utsname" in CONFIGFILE
> is the string "2.6.". If CONFIGFILE and /proc/vmcore don't match, the
> "system_utsname" must not point to the correct area in most cases.
> Old makedumpfile needs OSRELEASE, and it cannot work by new CONFIGFILE.
> But I think there are not any problems because old makedumpfile will not
> read new CONFIGFILE. Now, CONFIGFILE is used only by RHEL5's kdump initramfs,
> the CONFIGFILE is generated during 1st-kernel running. Even if CONFIGFILE
> will be updated, makedumpfile can read the CONFIGFILE because makedumpfile
> should be updated with CONFIGFILE.

I would propose a third method. Some information cannot be extracted
from the vmlinux file, even with debugging information. That is
currently the page size.

So why not adding an option to makedumpfile which specifies the
.config of the kernel? If the .config is available, it can extract the
missing information (page size) from the .config and also use the
kernel version from this file.

If no config is available, the current process is right since using
the version of the running kernel ensures to some degree (not 100 %)
that the page size is correct.

Thanks,
Bernhard