| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- --- a/lib/Kconfig
- +++ b/lib/Kconfig
- @@ -126,6 +126,10 @@ config DECOMPRESS_LZMA
- config DECOMPRESS_LZMA_NEEDED
- boolean
-
- +config DECOMPRESS_LZO
- + select LZO_DECOMPRESS
- + tristate
- +
- #
- # Generic allocator support is selected if needed
- #
- --- a/lib/Makefile
- +++ b/lib/Makefile
- @@ -81,6 +81,7 @@ obj-$(CONFIG_LZMA_DECOMPRESS) += lzma/
- 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
- --- 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 }
- };
-
- --- 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 && HAVE_KERNEL_LZO
- + 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 ratio 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
|