Re: Trying to kexec on Allwinner A80

From: Corentin Labbe
Date: Mon Apr 06 2020 - 16:10:59 EST


On Mon, Apr 06, 2020 at 10:37:29AM +0100, Russell King - ARM Linux admin wrote:
> On Mon, Apr 06, 2020 at 11:25:40AM +0200, Corentin Labbe wrote:
> > On Mon, Apr 06, 2020 at 10:16:00AM +0100, Russell King - ARM Linux admin wrote:
> > > On Mon, Apr 06, 2020 at 10:27:20AM +0200, Corentin Labbe wrote:
> > > > Hello
> > > >
> > > > I am trying to add the last missing Allwinner Soc in kernelci: the A80.
> > > > But this SoC does not have any way to be used in kernelci, no USB nor network in uboot.
> > > > So I have tried to fake uboot since the kernel has network support and run the new kernel via kexec.
> > > >
> > > > But kexec 2.0.18 fail to work:
> > > > kexec --force /tmp/kernel --initrd /tmp/ramdisk --dtb /tmp/dtb --command-line='console=ttyS0,115200n8 root=/dev/ram0 earlycon=uart,mmio32,0x7000000 ip=dhcp'
> > >
> > > What happens if you omit the dtb argument?
> > >
> >
> > No change without dtb
> >
> > I have also tried to add --mem-mim and --mem-max without any change.
> > I given mem according to what I saw in /proc/iomem
> > 20000000-9fffffff : System RAM
> > 20008000-207fffff : Kernel code
> > 20900000-209a0c87 : Kernel data
> > So I gave --mem-min 0x30000000 --mem-max 0x9fffffff
> > Anyway, the result is always the same.
>
> The next step is to enable the early debugging - first in the
> decompressor - add #define DEBUG to the top of
> arch/arm/boot/compressed/head.S
>
> Also enable DEBUG_LL in the kernel and use earlyprintk to see if you can
> get anything from the new kernel.
>

I dont know what happened, but now I always get "Could not find a free area of memory of 0x86c1c0 bytes..." (even with kexec 2.0.18)
Furthermore, I have added crashkernel=128M to the cmdlist
I have verified that the reservation is working:
20000000-9fffffff : System RAM
20008000-207fffff : Kernel code
20900000-209a0c87 : Kernel data
40000000-47ffffff : Crash kernel
But even with this reservation, no change.