Re: [PATCH] m68k: Add target for lz4 compressed vmlinux

From: Thomas Weißschuh
Date: Sat Aug 09 2025 - 03:56:37 EST


On 2025-08-09 10:55:29+0900, Daniel Palmer wrote:
> Traditionally gzip (/bzip?) has been the compressed image format
> but its a pain to decompress because its very hard to load and
> decompress it in chunks which you need to do if you don't
> have enough memory to load the whole kernel image and decompress
> it somewhere else.
>
> With lz4 you can set a block size, read it from the header,
> and then you only need memory for a single block and the
> decompressed kernel.
>
> I use lz4 compressed images on 68000 with 8MB of ram
> and MVME147 with 16MB. I want to use lz4 in my fork of EMILE
> to boot m68k macs because streaming decompress of gzip is painful.
>
> Signed-off-by: Daniel Palmer <daniel@xxxxxxxx>
> ---
> arch/m68k/Makefile | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile
> index 0abcf994ce55..a56e853037c0 100644
> --- a/arch/m68k/Makefile
> +++ b/arch/m68k/Makefile
> @@ -124,6 +124,17 @@ else
> $(KBZIP2) -1c vmlinux >vmlinux.bz2
> endif
>
> +vmlinux.lz4: vmlinux
> +
> +ifndef CONFIG_KGDB
> + cp vmlinux vmlinux.tmp
> + $(STRIP) vmlinux.tmp
> + $(LZ4) -z9f vmlinux.tmp vmlinux.lz4
> + rm vmlinux.tmp
> +else
> + $(LZ4) -z9f vmlinux vmlinux.lz4
> +endif

Splitting the vmlinux.tmp creation into a dedicated target would make
all the compressor targets simpler. It will need a bit more disk space,
but there are a bunch of vmlinux copies already in any case.

> +
> CLEAN_FILES += vmlinux.gz vmlinux.bz2

CLEAN_FILES also needs to be updated.

> archheaders:
> --
> 2.50.0
>