mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] m68k: Add target for lz4 compressed vmlinux
@ 2025-08-09  1:55 Daniel Palmer
  2025-08-09  7:50 ` Thomas Weißschuh
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Palmer @ 2025-08-09  1:55 UTC (permalink / raw)
  To: geert, linux-m68k; +Cc: linux-kernel, Daniel Palmer

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@0x0f.com>
---
 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
+
 CLEAN_FILES += vmlinux.gz vmlinux.bz2
 
 archheaders:
-- 
2.50.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-08-10  9:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-08-09  1:55 [PATCH] m68k: Add target for lz4 compressed vmlinux Daniel Palmer
2025-08-09  7:50 ` Thomas Weißschuh
2025-08-09 11:35   ` Daniel Palmer
2025-08-09 12:29     ` Thomas Weißschuh
2025-08-10  9:08       ` Daniel Palmer
2025-08-10  9:21         ` Thomas Weißschuh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®