public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Albin Tonnerre <albin.tonnerre@free-electrons.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: sam@ravnborg.org, linux@arm.linux.org.uk, alain@knaff.lu,
	linux-kernel@vger.kernel.org, linux-embedded@vger.kernel.org,
	akpm@linux-foundation.org
Subject: Re: [PATCH 6/6] Add LZO compression support for initramfs and old-style initrd
Date: Mon, 3 Aug 2009 18:05:22 +0200	[thread overview]
Message-ID: <20090803160522.GE5002@laptop> (raw)
In-Reply-To: <4A76FE43.4070708@zytor.com>

Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
---

Updated with a missing part of the description for INITRAMFS_COMPRESSION_LZO

 lib/Kconfig      |    4 ++++
 lib/Makefile     |    1 +
 lib/decompress.c |    5 +++++
 usr/Kconfig      |   26 +++++++++++++++++++++-----
 4 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/lib/Kconfig b/lib/Kconfig
index bb1326d..8639349 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -117,6 +117,10 @@ config DECOMPRESS_BZIP2
 config DECOMPRESS_LZMA
 	tristate
 
+config DECOMPRESS_LZO
+	select LZO_DECOMPRESS
+	tristate
+
 #
 # Generic allocator support is selected if needed
 #
diff --git a/lib/Makefile b/lib/Makefile
index 2e78277..cfa4041 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -69,6 +69,7 @@ obj-$(CONFIG_LZO_DECOMPRESS) += lzo/
 lib-$(CONFIG_DECOMPRESS_GZIP) += decompress_inflate.o
 lib-$(CONFIG_DECOMPRESS_BZIP2) += decompress_bunzip2.o
 lib-$(CONFIG_DECOMPRESS_LZMA) += decompress_unlzma.o
+lib-$(CONFIG_DECOMPRESS_LZO) += decompress_unlzo.o
 
 obj-$(CONFIG_TEXTSEARCH) += textsearch.o
 obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o
diff --git a/lib/decompress.c b/lib/decompress.c
index d2842f5..a760681 100644
--- a/lib/decompress.c
+++ b/lib/decompress.c
@@ -9,6 +9,7 @@
 #include <linux/decompress/bunzip2.h>
 #include <linux/decompress/unlzma.h>
 #include <linux/decompress/inflate.h>
+#include <linux/decompress/unlzo.h>
 
 #include <linux/types.h>
 #include <linux/string.h>
@@ -22,6 +23,9 @@
 #ifndef CONFIG_DECOMPRESS_LZMA
 # define unlzma NULL
 #endif
+#ifndef CONFIG_DECOMPRESS_LZO
+# define unlzo NULL
+#endif
 
 static const struct compress_format {
 	unsigned char magic[2];
@@ -32,6 +36,7 @@ static const struct compress_format {
 	{ {037, 0236}, "gzip", gunzip },
 	{ {0x42, 0x5a}, "bzip2", bunzip2 },
 	{ {0x5d, 0x00}, "lzma", unlzma },
+	{ {0x89, 0x4c}, "lzo", unlzo },
 	{ {0, 0}, NULL, NULL }
 };
 
diff --git a/usr/Kconfig b/usr/Kconfig
index 1c3039f..bf30c32 100644
--- a/usr/Kconfig
+++ b/usr/Kconfig
@@ -72,6 +72,15 @@ config RD_LZMA
 	  Support loading of a LZMA encoded initial ramdisk or cpio buffer
 	  If unsure, say N.
 
+config RD_LZO
+	bool "Support initial ramdisks compressed using LZO" if EMBEDDED
+	default !EMBEDDED
+	depends on BLK_DEV_INITRD
+	select DECOMPRESS_LZO
+	help
+	  Support loading of a LZO encoded initial ramdisk or cpio buffer
+	  If unsure, say N.
+
 choice
 	prompt "Built-in initramfs compression mode" if INITRAMFS_SOURCE!=""
 	help
@@ -108,16 +117,15 @@ config INITRAMFS_COMPRESSION_GZIP
 	bool "Gzip"
 	depends on RD_GZIP
 	help
-	  The old and tried gzip compression. Its compression ratio is
-	  the poorest among the 3 choices; however its speed (both
-	  compression and decompression) is the fastest.
+	  The old and tried gzip compression. It provides a good balance
+	  between compression ration and decompression speed.
 
 config INITRAMFS_COMPRESSION_BZIP2
 	bool "Bzip2"
 	depends on RD_BZIP2
 	help
 	  Its compression ratio and speed is intermediate.
-	  Decompression speed is slowest among the three.  The initramfs
+	  Decompression speed is slowest among the four.  The initramfs
 	  size is about 10% smaller with bzip2, in comparison to gzip.
 	  Bzip2 uses a large amount of memory. For modern kernels you
 	  will need at least 8MB RAM or more for booting.
@@ -128,7 +136,15 @@ config INITRAMFS_COMPRESSION_LZMA
 	help
 	  The most recent compression algorithm.
 	  Its ratio is best, decompression speed is between the other
-	  two. Compression is slowest.	The initramfs size is about 33%
+	  three. Compression is slowest. The initramfs size is about 33%
 	  smaller with LZMA in comparison to gzip.
 
+config INITRAMFS_COMPRESSION_LZO
+	bool "LZO"
+	depends on RD_LZO
+	help
+	  Its compression ratio is the poorest among the four. The kernel
+	  size is about about 10% bigger than gzip; however its speed
+	  (both compression and decompression) is the fastest.
+
 endchoice
-- 
Albin Tonnerre, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2009-08-03 16:05 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-22 14:01 [PATCH 1/5] lib/decompress_*: only include <linux/slab.h> if STATIC is not defined Albin Tonnerre
2009-07-22 14:01 ` [PATCH 2/5] include/linux/unaligned/{l,b}e_byteshift.h: Fix usage for compressed kernels Albin Tonnerre
2009-07-22 14:01   ` [PATCH 3/5] Add support for LZO-compressed kernels Albin Tonnerre
2009-07-22 14:01     ` [PATCH 4/5] Add support for LZO-compressed kernels for ARM Albin Tonnerre
2009-07-22 14:01       ` [PATCH 5/5] Add support for LZO-compressed kernels on x86 Albin Tonnerre
2009-07-29 15:37         ` [PATCH] Add LZO compression support for initramfs and old-style initrd Albin Tonnerre
2009-07-29 20:00         ` [PATCH 5/5] Add support for LZO-compressed kernels on x86 H. Peter Anvin
2009-07-29 21:02           ` Sam Ravnborg
2009-07-31  7:51             ` Albin Tonnerre
2009-07-31  9:31               ` Sam Ravnborg
2009-08-03 14:58                 ` [PATCH 1/6] lib/decompress_*: only include <linux/slab.h> if STATIC is not defined Albin Tonnerre
2009-08-03 14:58                   ` [PATCH 2/6] include/linux/unaligned/{l,b}e_byteshift.h: Fix usage for compressed kernels Albin Tonnerre
2009-08-03 14:58                     ` [PATCH 3/6] Add support for LZO-compressed kernels Albin Tonnerre
2009-08-03 14:58                       ` [PATCH 4/6] Add support for LZO-compressed kernels for ARM Albin Tonnerre
2009-08-03 14:58                         ` [PATCH 5/6] Add support for LZO-compressed kernels on x86 Albin Tonnerre
2009-08-03 14:58                           ` [PATCH 6/6] Add LZO compression support for initramfs and old-style initrd Albin Tonnerre
2009-08-03 15:12                             ` H. Peter Anvin
2009-08-03 16:05                               ` Albin Tonnerre [this message]
2009-08-03 15:11                           ` [PATCH 5/6] Add support for LZO-compressed kernels on x86 H. Peter Anvin
2009-08-06 22:40                         ` [PATCH 4/6] Add support for LZO-compressed kernels for ARM Russell King - ARM Linux
2009-08-07  9:24                           ` Albin Tonnerre
2009-08-07  9:34                             ` Russell King - ARM Linux
2009-08-07  9:36                             ` Alain Knaff
2009-08-07 10:21                               ` Albin Tonnerre
2009-08-07 11:29                                 ` Alain Knaff
2009-08-07 11:50                                 ` Matthieu CASTET
2009-08-07 13:01                                   ` Albin Tonnerre
2009-08-07 13:27                                     ` Matthieu CASTET
2009-08-07 13:55                                       ` Albin Tonnerre
2009-08-07 20:00                                         ` Russell King - ARM Linux
2009-08-07 20:21                                           ` H. Peter Anvin
2009-08-07 21:08                                           ` Sam Ravnborg
2009-08-11  9:44                                             ` Albin Tonnerre
2009-08-11 13:39                                               ` Sam Ravnborg
2009-08-11 14:17                                                 ` Albin Tonnerre
2009-08-11 13:51                                               ` Matthieu CASTET
2009-08-11 16:03                                               ` H. Peter Anvin
2009-08-11 16:27                                                 ` Albin Tonnerre
2009-08-11 16:31                                                   ` H. Peter Anvin
2009-08-13  9:30                                                     ` Albin Tonnerre
2009-08-13 14:07                                                       ` H. Peter Anvin
2009-08-13 12:25                           ` Albin Tonnerre
2009-08-14 10:08                           ` [PATCH 4/6 v2] " Albin Tonnerre
2009-09-04 15:31                             ` Albin Tonnerre
2009-08-04 23:00                       ` [PATCH 3/6] Add support for LZO-compressed kernels Andrew Morton
2009-08-05  1:36                         ` H. Peter Anvin
2009-08-05  9:19                         ` Albin Tonnerre
2009-08-04 23:04                       ` Andrew Morton
2009-08-04 22:55                     ` [PATCH 2/6] include/linux/unaligned/{l,b}e_byteshift.h: Fix usage for compressed kernels Andrew Morton
2009-08-05  9:29                       ` Albin Tonnerre
2009-08-05 21:19                         ` Russell King - ARM Linux
2009-08-04 22:55                   ` [PATCH 1/6] lib/decompress_*: only include <linux/slab.h> if STATIC is not defined Andrew Morton
2009-08-05  0:47                     ` Phillip Lougher
2009-08-05  0:57                       ` H. Peter Anvin
2009-08-05  1:32                         ` Phillip Lougher
2009-08-05  1:08                       ` Andrew Morton
2009-08-05  2:06                         ` Phillip Lougher
2009-07-23 17:11       ` [PATCH 4/5] Add support for LZO-compressed kernels for ARM Albin Tonnerre
     [not found]     ` <0022152d7fe9b6dbcf046f4d04a6@google.com>
2009-07-22 16:08       ` [PATCH 3/5] Add support for LZO-compressed kernels H. Peter Anvin
2009-07-22 16:50       ` Albin Tonnerre
2009-07-29 13:51     ` [PATCH 3/5 v2] " Albin Tonnerre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090803160522.GE5002@laptop \
    --to=albin.tonnerre@free-electrons.com \
    --cc=akpm@linux-foundation.org \
    --cc=alain@knaff.lu \
    --cc=hpa@zytor.com \
    --cc=linux-embedded@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox