kexec reports "Cannot get kernel _text symbol address" on arm64 platform

Pandey, Radhey Shyam radhey.shyam.pandey at amd.com
Mon Aug 28 10:39:27 PDT 2023


> -----Original Message-----
> From: Alexander Kamensky <alexander.kamensky42 at gmail.com>
> Sent: Thursday, August 24, 2023 8:35 PM
> To: Pandey, Radhey Shyam <radhey.shyam.pandey at amd.com>
> Cc: bhe at redhat.com; piliu at redhat.com; kexec at lists.infradead.org; linux-
> kernel at vger.kernel.org; Sarangi, Anirudha <anirudha.sarangi at amd.com>
> Subject: Re: kexec reports "Cannot get kernel _text symbol address" on
> arm64 platform
> 
> On Wed, Aug 23, 2023 at 12:09 PM Pandey, Radhey Shyam
> <radhey.shyam.pandey at amd.com> wrote:
> >
> > > -----Original Message-----
> > > From: Alexander Kamensky <alexander.kamensky42 at gmail.com>
> > > Sent: Tuesday, August 22, 2023 9:24 AM
> > > To: Pandey, Radhey Shyam <radhey.shyam.pandey at amd.com>
> > > Cc: bhe at redhat.com; piliu at redhat.com; kexec at lists.infradead.org;
> > > linux- kernel at vger.kernel.org; Sarangi, Anirudha
> > > <anirudha.sarangi at amd.com>
> > > Subject: Re: kexec reports "Cannot get kernel _text symbol address"
> > > on
> > > arm64 platform
> > >
> > > Hi All,
> > >
> > > Sorry for the top post, but I believe that I might have posted a fix
> > > for this issue a couple days ago.
> > >
> > > Please check and see if it helps
> > > https://lore.kernel.org/kexec/20230819191119.975299-1-
> > > alexander.kamensky42 at gmail.com/T/#u
> > >
> > > Explanation for the issue I observed with a similar secondary kernel
> > > traceback on arm64 is in the commit message.
> >
> > I fetched latest kexec sources
> > (777ca453ca69e46f7376b07ba6727bd261ec97ef)
> > and applied above patch, a bit improved but still vmcore size is huge.
> >
> > / # ls -lrth /proc/vmcore
> > -r--------    1 root     root       15.5G Aug 23 18:55 /proc/vmcore
> >
> How big is your system memory? If it is 16G then the above is normal.

Yes, it's 16G.

> 
> The most important thing is can your secondary kernel read it? For example
> 
> cat /proc/vmcore > /dev/null

This runs fine and I can read /proc/vmcore

> 
> If you want to capture only kernel core out of /proc/vmcore you need to use
> makedumpfile to filter out the rest of the memory.

Thanks for the pointers. I could use makedumpfile to extract dmesg dump 
and it pointed to system Kernel dump correctly also compress dump data.

Further exploring on it and will report how the analysis goes.

xilinx-vck190-20232:/run/media/mmcblk0p1# makedumpfile -c --split -d 3   /proc/vmcore dumpfile1 dumpfile2
The kernel version is not supported.
The makedumpfile operation may be incomplete.
Checking for memory holes                         : [100.0 %] |                  Checking for memory holes                         : [100.0 %] |             
Checking for memory holes                         : [100.0 %] /                  Checking for memory holes                         : [100.0 %] /             
Checking for memory holes                         : [100.0 %] |                  Checking for memory holes                         : [100.0 %] |             
Checking for memory holes                         : [100.0 %] \                  Checking for memory holes                         : [100.0 %] \             
Checking for memory holes                         : [100.0 %] |                  Checking for memory holes                         : [100.0 %] |             
Checking for memory holes                         : [100.0 %] -                  Checking for memory holes                         : [100.0 %] -             
Copying data                                      : [ 45.7 %] -        eta: 6m13s
Copying data                                      : [ 54.1 %] -           eta: 1s

The dumpfiles are saved to dumpfile1, and dumpfile2.

makedumpfile Completed. 

> 
> Thanks,
> Alexander
> 
> > Thanks,
> > Radhey


More information about the kexec mailing list