* [PATCH v2] ARM: Add support for LZMA-compressed kernel images [not found] <1258729323-16318-1-git-send-email-albin.tonnerre@free-electrons.com> @ 2010-03-11 19:24 ` Albin Tonnerre 2010-03-11 19:27 ` Albin Tonnerre 2010-03-25 8:56 ` Paulius Zaleckas 0 siblings, 2 replies; 8+ messages in thread From: Albin Tonnerre @ 2010-03-11 19:24 UTC (permalink / raw) To: linux-arm-kernel This patch allows using a kernel image compressed with LZMA on ARM. Extracting the image is fairly slow, but it might be useful on machines with a very limited amount of storage, as the size benefit is quite significant: Gzip: Data Size: 1586352 Bytes = 1549.17 kB = 1.51 MB LZMA: Data Size: 2135916 Bytes = 2085.86 kB = 2.04 MB Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com> Tested-by: Martin Michlmayr <tbm@cyrius.com> --- v2: Updated to apply on top of 2.6.34-rc1 arch/arm/Kconfig | 1 + arch/arm/boot/compressed/Makefile | 1 + arch/arm/boot/compressed/decompress.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 3b18128..3ebc7c3 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -21,6 +21,7 @@ config ARM select HAVE_GENERIC_DMA_COHERENT select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZO + select HAVE_KERNEL_LZMA select HAVE_PERF_EVENTS select PERF_USE_VMALLOC help diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 97c89e7..53faa90 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/decompress.c b/arch/arm/boot/compressed/decompress.c index 0da382f..d554df6 100644 --- a/arch/arm/boot/compressed/decompress.c +++ b/arch/arm/boot/compressed/decompress.c @@ -39,6 +39,10 @@ extern void error(char *); #include "../../../../lib/decompress_unlzo.c" #endif +#ifdef CONFIG_KERNEL_LZMA +#include "../../../../lib/decompress_unlzma.c" +#endif + void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)) { decompress(input, len, NULL, NULL, output, NULL, error); 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.7.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Add support for LZMA-compressed kernel images 2010-03-11 19:24 ` [PATCH v2] ARM: Add support for LZMA-compressed kernel images Albin Tonnerre @ 2010-03-11 19:27 ` Albin Tonnerre 2010-03-25 8:56 ` Paulius Zaleckas 1 sibling, 0 replies; 8+ messages in thread From: Albin Tonnerre @ 2010-03-11 19:27 UTC (permalink / raw) To: linux-arm-kernel On Thu, 11 Mar 2010 20:24 +0100, Albin Tonnerre wrote : > This patch allows using a kernel image compressed with LZMA on ARM. > Extracting the image is fairly slow, but it might be useful on machines > with a very limited amount of storage, as the size benefit is quite > significant: > Gzip: Data Size: 1586352 Bytes = 1549.17 kB = 1.51 MB > LZMA: Data Size: 2135916 Bytes = 2085.86 kB = 2.04 MB Meh. That should of course be: LZMA ... 1.51MB Gzip ... 2.04MB -- Albin Tonnerre, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Add support for LZMA-compressed kernel images 2010-03-11 19:24 ` [PATCH v2] ARM: Add support for LZMA-compressed kernel images Albin Tonnerre 2010-03-11 19:27 ` Albin Tonnerre @ 2010-03-25 8:56 ` Paulius Zaleckas 2010-05-06 9:04 ` Andrea Adami 1 sibling, 1 reply; 8+ messages in thread From: Paulius Zaleckas @ 2010-03-25 8:56 UTC (permalink / raw) To: linux-arm-kernel On 03/11/2010 09:24 PM, Albin Tonnerre wrote: > This patch allows using a kernel image compressed with LZMA on ARM. > Extracting the image is fairly slow, but it might be useful on machines > with a very limited amount of storage, as the size benefit is quite > significant: > Gzip: Data Size: 1586352 Bytes = 1549.17 kB = 1.51 MB > LZMA: Data Size: 2135916 Bytes = 2085.86 kB = 2.04 MB > > Signed-off-by: Albin Tonnerre<albin.tonnerre@free-electrons.com> > Tested-by: Martin Michlmayr<tbm@cyrius.com> You can add Tested-by: Paulius Zaleckas <paulius.zaleckas@gmail.com> I think you should submit this patch to Russell's patch system. > --- > v2: Updated to apply on top of 2.6.34-rc1 > > arch/arm/Kconfig | 1 + > arch/arm/boot/compressed/Makefile | 1 + > arch/arm/boot/compressed/decompress.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 3b18128..3ebc7c3 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -21,6 +21,7 @@ config ARM > select HAVE_GENERIC_DMA_COHERENT > select HAVE_KERNEL_GZIP > select HAVE_KERNEL_LZO > + select HAVE_KERNEL_LZMA > select HAVE_PERF_EVENTS > select PERF_USE_VMALLOC > help > diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile > index 97c89e7..53faa90 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/decompress.c b/arch/arm/boot/compressed/decompress.c > index 0da382f..d554df6 100644 > --- a/arch/arm/boot/compressed/decompress.c > +++ b/arch/arm/boot/compressed/decompress.c > @@ -39,6 +39,10 @@ extern void error(char *); > #include "../../../../lib/decompress_unlzo.c" > #endif > > +#ifdef CONFIG_KERNEL_LZMA > +#include "../../../../lib/decompress_unlzma.c" > +#endif > + > void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)) > { > decompress(input, len, NULL, NULL, output, NULL, error); > 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: ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Add support for LZMA-compressed kernel images 2010-03-25 8:56 ` Paulius Zaleckas @ 2010-05-06 9:04 ` Andrea Adami 2010-05-06 13:30 ` Albin Tonnerre 2010-05-06 18:09 ` Russell King - ARM Linux 0 siblings, 2 replies; 8+ messages in thread From: Andrea Adami @ 2010-05-06 9:04 UTC (permalink / raw) To: linux-arm-kernel On Thu, Mar 25, 2010 at 10:56 AM, Paulius Zaleckas <paulius.zaleckas@gmail.com> wrote: > On 03/11/2010 09:24 PM, Albin Tonnerre wrote: >> >> This patch allows using a kernel image compressed with LZMA on ARM. >> Extracting the image is fairly slow, but it might be useful on machines >> with a very limited amount of storage, as the size benefit is quite >> significant: >> Gzip: Data Size: ? ?1586352 Bytes = 1549.17 kB = 1.51 MB >> LZMA: Data Size: ? ?2135916 Bytes = 2085.86 kB = 2.04 MB >> >> Signed-off-by: Albin Tonnerre<albin.tonnerre@free-electrons.com> >> Tested-by: Martin Michlmayr<tbm@cyrius.com> > > You can add > Tested-by: Paulius Zaleckas <paulius.zaleckas@gmail.com> > > I think you should submit this patch to Russell's patch system. > >> --- >> v2: Updated to apply on top of 2.6.34-rc1 >> >> ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ? ? ?| ? ?1 + >> ?arch/arm/boot/compressed/Makefile ? ? | ? ?1 + >> ?arch/arm/boot/compressed/decompress.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 3b18128..3ebc7c3 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -21,6 +21,7 @@ config ARM >> ? ? ? ?select HAVE_GENERIC_DMA_COHERENT >> ? ? ? ?select HAVE_KERNEL_GZIP >> ? ? ? ?select HAVE_KERNEL_LZO >> + ? ? ? select HAVE_KERNEL_LZMA >> ? ? ? ?select HAVE_PERF_EVENTS >> ? ? ? ?select PERF_USE_VMALLOC >> ? ? ? ?help >> diff --git a/arch/arm/boot/compressed/Makefile >> b/arch/arm/boot/compressed/Makefile >> index 97c89e7..53faa90 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/decompress.c >> b/arch/arm/boot/compressed/decompress.c >> index 0da382f..d554df6 100644 >> --- a/arch/arm/boot/compressed/decompress.c >> +++ b/arch/arm/boot/compressed/decompress.c >> @@ -39,6 +39,10 @@ extern void error(char *); >> ?#include "../../../../lib/decompress_unlzo.c" >> ?#endif >> >> +#ifdef CONFIG_KERNEL_LZMA >> +#include "../../../../lib/decompress_unlzma.c" >> +#endif >> + >> ?void do_decompress(u8 *input, int len, u8 *output, void (*error)(char >> *x)) >> ?{ >> ? ? ? ?decompress(input, len, NULL, NULL, output, NULL, error); >> 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: > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > Any reason to further delay the LZMA adoption? It will not be the fastest decompressor, but gives the smallest kernel size. Tested on various Zaurus models (pxa255, pxa270, armv4). Regards Andrea Adami P.S. Fixes to .gitignore would need to be added for lzma. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Add support for LZMA-compressed kernel images 2010-05-06 9:04 ` Andrea Adami @ 2010-05-06 13:30 ` Albin Tonnerre 2010-05-06 15:54 ` Eric Miao 2010-05-06 18:09 ` Russell King - ARM Linux 1 sibling, 1 reply; 8+ messages in thread From: Albin Tonnerre @ 2010-05-06 13:30 UTC (permalink / raw) To: linux-arm-kernel On Thu, May 6, 2010 at 11:04 AM, Andrea Adami <andrea.adami@gmail.com> wrote: > Any reason to further delay the LZMA adoption? > It will not be the fastest decompressor, but gives the smallest kernel size. > Tested on various Zaurus models (pxa255, pxa270, armv4). It's in the devel branch of Russell's tree already, so it should find its way to mainline :) Regards, Albin ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Add support for LZMA-compressed kernel images 2010-05-06 13:30 ` Albin Tonnerre @ 2010-05-06 15:54 ` Eric Miao 2010-05-07 6:54 ` Gadiyar, Anand 0 siblings, 1 reply; 8+ messages in thread From: Eric Miao @ 2010-05-06 15:54 UTC (permalink / raw) To: linux-arm-kernel On Thu, May 6, 2010 at 9:30 PM, Albin Tonnerre <albin.tonnerre@gmail.com> wrote: > On Thu, May 6, 2010 at 11:04 AM, Andrea Adami <andrea.adami@gmail.com> wrote: >> Any reason to further delay the LZMA adoption? >> It will not be the fastest decompressor, but gives the smallest kernel size. >> Tested on various Zaurus models (pxa255, pxa270, armv4). > > It's in the devel branch of Russell's tree already, so it should find > its way to mainline :) > Tested on my zaurus, worked just out of the box. Thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Add support for LZMA-compressed kernel images 2010-05-06 15:54 ` Eric Miao @ 2010-05-07 6:54 ` Gadiyar, Anand 0 siblings, 0 replies; 8+ messages in thread From: Gadiyar, Anand @ 2010-05-07 6:54 UTC (permalink / raw) To: linux-arm-kernel Eric Miao wrote: > On Thu, May 6, 2010 at 9:30 PM, Albin Tonnerre <albin.tonnerre@gmail.com> wrote: > > On Thu, May 6, 2010 at 11:04 AM, Andrea Adami <andrea.adami@gmail.com> wrote: > >> Any reason to further delay the LZMA adoption? > >> It will not be the fastest decompressor, but gives the smallest kernel size. > >> Tested on various Zaurus models (pxa255, pxa270, armv4). > > > > It's in the devel branch of Russell's tree already, so it should find > > its way to mainline :) > > > > Tested on my zaurus, worked just out of the box. Thanks. And tested on a couple of OMAP3 boards too. Works great. Thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Add support for LZMA-compressed kernel images 2010-05-06 9:04 ` Andrea Adami 2010-05-06 13:30 ` Albin Tonnerre @ 2010-05-06 18:09 ` Russell King - ARM Linux 1 sibling, 0 replies; 8+ messages in thread From: Russell King - ARM Linux @ 2010-05-06 18:09 UTC (permalink / raw) To: linux-arm-kernel On Thu, May 06, 2010 at 11:04:31AM +0200, Andrea Adami wrote: > Any reason to further delay the LZMA adoption? Only due process; it'll be merged when the next merge window opens. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-05-07 6:54 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1258729323-16318-1-git-send-email-albin.tonnerre@free-electrons.com>
2010-03-11 19:24 ` [PATCH v2] ARM: Add support for LZMA-compressed kernel images Albin Tonnerre
2010-03-11 19:27 ` Albin Tonnerre
2010-03-25 8:56 ` Paulius Zaleckas
2010-05-06 9:04 ` Andrea Adami
2010-05-06 13:30 ` Albin Tonnerre
2010-05-06 15:54 ` Eric Miao
2010-05-07 6:54 ` Gadiyar, Anand
2010-05-06 18:09 ` Russell King - ARM Linux
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).