2009-11-20 15:02:08

by Albin Tonnerre

[permalink] [raw]
Subject: [PATCH] ARM: Add support for LZMA-compressed kernel images

This patch allows using a kernel image compressed with LZMA on ARM,
using the support for multiple decompressors introduced in the LZO
support patch.
Extracting the image is fairly slow, but it might be useful on machines
with a very limited amount of storage.

Signed-off-by: Albin Tonnerre <[email protected]>
Tested-by: Martin Michlmayr <[email protected]>
---
arch/arm/Kconfig | 1 +
arch/arm/boot/compressed/Makefile | 1 +
arch/arm/boot/compressed/misc.c | 4 ++++
arch/arm/boot/compressed/piggy.lzma.S | 6 ++++++
4 files changed, 12 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/boot/compressed/piggy.lzma.S

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 350921d..34163da 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -20,6 +20,7 @@ config ARM
select HAVE_GENERIC_DMA_COHERENT
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZO
+ select HAVE_KERNEL_LZMA
help
The ARM series is a line of low-power-consumption RISC chip designs
licensed by ARM Ltd and targeted at embedded applications and
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 2d4d88b..3906432 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -65,6 +65,7 @@ SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/

suffix_$(CONFIG_KERNEL_GZIP) = gzip
suffix_$(CONFIG_KERNEL_LZO) = lzo
+suffix_$(CONFIG_KERNEL_LZMA) = lzma

targets := vmlinux vmlinux.lds \
piggy.$(suffix_y) piggy.$(suffix_y).o \
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 7e0fe4d..4e35a10 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -237,6 +237,10 @@ static unsigned long free_mem_end_ptr;
#include "../../../../lib/decompress_inflate.c"
#endif

+#ifdef CONFIG_KERNEL_LZMA
+#include "../../../../lib/decompress_unlzma.c"
+#endif
+
#ifdef CONFIG_KERNEL_LZO
#include "../../../../lib/decompress_unlzo.c"
#endif
diff --git a/arch/arm/boot/compressed/piggy.lzma.S b/arch/arm/boot/compressed/piggy.lzma.S
new file mode 100644
index 0000000..d7e69cf
--- /dev/null
+++ b/arch/arm/boot/compressed/piggy.lzma.S
@@ -0,0 +1,6 @@
+ .section .piggydata,#alloc
+ .globl input_data
+input_data:
+ .incbin "arch/arm/boot/compressed/piggy.lzma"
+ .globl input_data_end
+input_data_end:
--
1.6.3.3


2009-11-20 15:16:32

by Russell King

[permalink] [raw]
Subject: Re: [PATCH] ARM: Add support for LZMA-compressed kernel images

On Fri, Nov 20, 2009 at 04:02:03PM +0100, Albin Tonnerre wrote:
> This patch allows using a kernel image compressed with LZMA on ARM,
> using the support for multiple decompressors introduced in the LZO
> support patch.
> Extracting the image is fairly slow, but it might be useful on machines
> with a very limited amount of storage.

I didn't see a response to my previous message about the LZO patch set.
Do you want me to queue up the patch set for the next merge window?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:

2009-11-20 15:23:25

by Albin Tonnerre

[permalink] [raw]
Subject: Re: [PATCH] ARM: Add support for LZMA-compressed kernel images

On Fri, 20 Nov 2009 15:16 +0000, Russell King wrote :
> On Fri, Nov 20, 2009 at 04:02:03PM +0100, Albin Tonnerre wrote:
> > This patch allows using a kernel image compressed with LZMA on ARM,
> > using the support for multiple decompressors introduced in the LZO
> > support patch.
> > Extracting the image is fairly slow, but it might be useful on machines
> > with a very limited amount of storage.
>
> I didn't see a response to my previous message about the LZO patch set.
> Do you want me to queue up the patch set for the next merge window?

Oh, sorry, I must have missed it. I would indeed appreciate this, thank you very
much.

Regards,
--
Albin Tonnerre, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com

2009-11-20 20:21:35

by Russell King

[permalink] [raw]
Subject: Re: [PATCH] ARM: Add support for LZMA-compressed kernel images

On Fri, Nov 20, 2009 at 04:23:24PM +0100, Albin Tonnerre wrote:
> On Fri, 20 Nov 2009 15:16 +0000, Russell King wrote :
> > On Fri, Nov 20, 2009 at 04:02:03PM +0100, Albin Tonnerre wrote:
> > > This patch allows using a kernel image compressed with LZMA on ARM,
> > > using the support for multiple decompressors introduced in the LZO
> > > support patch.
> > > Extracting the image is fairly slow, but it might be useful on machines
> > > with a very limited amount of storage.
> >
> > I didn't see a response to my previous message about the LZO patch set.
> > Do you want me to queue up the patch set for the next merge window?
>
> Oh, sorry, I must have missed it. I would indeed appreciate this, thank
> you very much.

Okay, the next question which needs to be asked of the wider audience is:

Since some of the patch set is not specific to ARM, does anyone have any
objection to me pushing all four patches for the next merge window?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:

2009-12-09 10:27:28

by Albin Tonnerre

[permalink] [raw]
Subject: Re: [PATCH] ARM: Add support for LZMA-compressed kernel images

On Fri, 20 Nov 2009 20:21 +0000, Russell King wrote :
> On Fri, Nov 20, 2009 at 04:23:24PM +0100, Albin Tonnerre wrote:
> > On Fri, 20 Nov 2009 15:16 +0000, Russell King wrote :
> > > On Fri, Nov 20, 2009 at 04:02:03PM +0100, Albin Tonnerre wrote:
> > > > This patch allows using a kernel image compressed with LZMA on ARM,
> > > > using the support for multiple decompressors introduced in the LZO
> > > > support patch.
> > > > Extracting the image is fairly slow, but it might be useful on machines
> > > > with a very limited amount of storage.
> > >
> > > I didn't see a response to my previous message about the LZO patch set.
> > > Do you want me to queue up the patch set for the next merge window?
> >
> > Oh, sorry, I must have missed it. I would indeed appreciate this, thank
> > you very much.
>
> Okay, the next question which needs to be asked of the wider audience is:
>
> Since some of the patch set is not specific to ARM, does anyone have any
> objection to me pushing all four patches for the next merge window?

As there are no objections, are you still willing to push this series for this
merge window?

Regards,
--
Albin Tonnerre, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com