makedumpfile: support for newer kernels [v4.9 onwards]
Dave Anderson
anderson at redhat.com
Tue Jun 13 06:39:02 PDT 2017
----- Original Message -----
> Hi Abhishek,
>
> On Thursday 08 June 2017 11:30 AM, Abhishek Shah wrote:
> > Hi Pratyush,
> >
> >>>> I am using yocto(2.3 version) to build makedumpfile, which fetches v1.6.1
> >>>> makedumpfile and also applys some patches including arm64 specific patches.
> >>
> >>
> >> What are these ARM64 specific patches? I believe, you do not need any topup
> >> in makedumpfile for ARM64 if you use v1.6.1.
> >
> > Sorry, I got confused with yocto kexec recipe.
> > There are NO arm64 specific patches in yocto for makedumpfile.
> >
> >>>> We have VA_BITS set as 48 bits... I will get other information and post
> >>>> on the list.
> >>
> >>
> >> OK.
> >>
> > Kernel config:
> > ARM64_VA_BITS_48 [=y]
> > ARM64_PAGE_SHIFT [=12]
> > RANDOMIZE_BASE [=n]
> > ARM64_4K_PAGES [=y]
>
> These are the only variable configs on which arm64 makedumpfile depends. I
> tested with above configuration and things were working fine.
>
> I used 4.11 based kernel and crash-7.1.9.
>
> BTW, which version of crash utility do you use. If you are not at latest can
> you please try with latest.
>
> ~Pratyush
>
> CCed Dave if he has some input.
> @Dave, problem reported by Abhishek is:
>
> > /proc/vmcore works fine with crash utility without passing it though
> > makedumpfile, but the file generated by makedumpfile is not getting
> > processed by crash utility; I am getting following error:
> > crash: seek error: kernel virtual address: ffff8008000c16a0 type: "memory
> > section"
A "seek error" means that the page for the physical address that was translated
from ffff8008000c16a0 could not be found in the dumpfile. The output from
"crash --d ..." might yield some additional clues.
However, given that crash apparently works with the 4.12 /proc/vmcore that the
dumpfile was generated from, it seemingly points to makedumpfile. That's always
the first thing I ask when seeing this kind of bug, i.e., does crash work with the
same kernel on a live system, or even better, with the initial ELF vmcore file
from which it was generated. If it does, then it's usually a makedumpfile issue,
because the virtual address gets translated to a physical address by the upper-level
crash code, and then passed down into whatever the underlying memory source is.
If it could be read from /proc/vmcore, then it should accessible from makedumpfile's
compressed kdump.
That being said, I haven't tested ARM64 on any 4.12-rc kernels.
Dave
More information about the kexec
mailing list