Re: [PATCH] arm: Add support for ZSTD compressed kernel

From: Russell King - ARM Linux admin
Date: Thu Aug 06 2020 - 18:22:59 EST


On Thu, Aug 06, 2020 at 05:46:50PM -0400, Peter Geis wrote:
> Good Evening,
>
> I had attempted to get this working as well, but have run into
> difficulties with both my implementation and yours as well.
> My implementation was almost the same as yours, with the exception of
> also changing:
> @@ -303,7 +305,7 @@ restart: adr r0, LC1
>
> #ifndef CONFIG_ZBOOT_ROM
> /* malloc space is above the relocated stack (64k max) */
> - add r10, sp, #0x10000
> + add r10, sp, #0x30000
> #else
> /*
> * With ZBOOT_ROM the bss/stack is non relocatable,
>
> On QEMU this implementation works fine.
> However on bare metal tegra30, I get the following error:
>
> Jumping to kernel at:4861 ms
>
> C:0x80A000C0-0x8112BA40->0x8152C700-0x81C58080
> Uncompressing Linux...
>
> ZSTD-compressed dstSize is too small
>
> -- System halted
>
> The only difference between the bare metal test and the qemu test is
> the zImage with appended dtb is packaged in the android boot format
> for the bare metal test.
> Otherwise it's exactly the same file.

So it's relocating the compressed kernel and decompressor from
0x80A000C0-0x8112BA40 to 0x8152C700-0x81C58080 and then failing.
Does the QEMU version also do similar?

On the off-hand, I'm not sure why it should fail. I assume that
you've tried the other decompressors and they work fine on the
same setups?

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!