All of lore.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: 65+ 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-04 23:00                         ` 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 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-04 22:55                       ` 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-04 22:55                     ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.