No compression technique of zImage/uImage detected - ARM
bhsharma at redhat.com
Sun Jul 28 22:02:04 PDT 2019
I have a couple of queries (so that I can help you better). Please see
On 07/24/2019 02:43 PM, Maikel Coenen wrote:
> I have met an issue during loading a new kernel with Kexec on an ARMv5 SoC. The kernel is a 4.19 with Gzip compression but during loading Kexec does not recognize the compression.
> If I load the new kernel and dtb with:
> kexec -l /boot/zImage -d --dtb=/boot/u-boot.dtb
Can you please show the output of the following command:
$ file /boot/zImage
Also can you please make sure that the zImage has the right gzip header
: magic header 0x1f, 0x8b (\037 \213)
> The output is:
> Try gzip decompression.
> Try LZMA decompression.
> lzma_decompress_file: read on /boot/zImage of 65536 bytes failed
> kernel: 0xb6a68008 kernel_size: 0x494d30
> MEMORY RANGES
> 0000000000000000-000000000fffffff (0)
> zImage header: 0x016f2818 0x00000000 0x00494d30
> zImage size 0x494d30, file size 0x494d30
> kexec_load: entry = 0x8000 flags = 0x280000
> nr_segments = 2
> segment.buf = 0xb6a68008
> segment.bufsz = 0x494d30
> segment.mem = 0x8000
> segment.memsz = 0x495000
> segment.buf = 0x1fcf060
> segment.bufsz = 0x245b
> segment.mem = 0x16f2000
> segment.memsz = 0x3000
> Looking at the debug, the function gzdirect returns “1” which indicates the kernel compression is not of gzip but I definitely use gzip. I also tested it with LZMA compression and uImage instead of zImage but all with the same outcome.
> To be complete, I use Kexec-tools 2.0.19 and zlib 1.2.11.
> Did I implement something wrong or how can I debug this further?
I don't have a armv5 hardware and my attempt to setup a qemu + buildroot
setup for ARMv5 (926t) lead to a failure to boot the latest upstream kernel.
I will try to fix up the setup and come back with more details.
In the meanwhile if you can share the above, I can have further look at
More information about the kexec