diff options
Diffstat (limited to 'usr')
-rw-r--r-- | usr/Kconfig | 26 | ||||
-rw-r--r-- | usr/gen_init_cpio.c | 5 |
2 files changed, 25 insertions, 6 deletions
diff --git a/usr/Kconfig b/usr/Kconfig index 1c3039f28909..e2721f5a3504 100644 --- a/usr/Kconfig +++ b/usr/Kconfig | |||
@@ -72,6 +72,15 @@ config RD_LZMA | |||
72 | Support loading of a LZMA encoded initial ramdisk or cpio buffer | 72 | Support loading of a LZMA encoded initial ramdisk or cpio buffer |
73 | If unsure, say N. | 73 | If unsure, say N. |
74 | 74 | ||
75 | config RD_LZO | ||
76 | bool "Support initial ramdisks compressed using LZO" if EMBEDDED | ||
77 | default !EMBEDDED | ||
78 | depends on BLK_DEV_INITRD | ||
79 | select DECOMPRESS_LZO | ||
80 | help | ||
81 | Support loading of a LZO encoded initial ramdisk or cpio buffer | ||
82 | If unsure, say N. | ||
83 | |||
75 | choice | 84 | choice |
76 | prompt "Built-in initramfs compression mode" if INITRAMFS_SOURCE!="" | 85 | prompt "Built-in initramfs compression mode" if INITRAMFS_SOURCE!="" |
77 | help | 86 | help |
@@ -108,16 +117,15 @@ config INITRAMFS_COMPRESSION_GZIP | |||
108 | bool "Gzip" | 117 | bool "Gzip" |
109 | depends on RD_GZIP | 118 | depends on RD_GZIP |
110 | help | 119 | help |
111 | The old and tried gzip compression. Its compression ratio is | 120 | The old and tried gzip compression. It provides a good balance |
112 | the poorest among the 3 choices; however its speed (both | 121 | between compression ratio and decompression speed. |
113 | compression and decompression) is the fastest. | ||
114 | 122 | ||
115 | config INITRAMFS_COMPRESSION_BZIP2 | 123 | config INITRAMFS_COMPRESSION_BZIP2 |
116 | bool "Bzip2" | 124 | bool "Bzip2" |
117 | depends on RD_BZIP2 | 125 | depends on RD_BZIP2 |
118 | help | 126 | help |
119 | Its compression ratio and speed is intermediate. | 127 | Its compression ratio and speed is intermediate. |
120 | Decompression speed is slowest among the three. The initramfs | 128 | Decompression speed is slowest among the four. The initramfs |
121 | size is about 10% smaller with bzip2, in comparison to gzip. | 129 | size is about 10% smaller with bzip2, in comparison to gzip. |
122 | Bzip2 uses a large amount of memory. For modern kernels you | 130 | Bzip2 uses a large amount of memory. For modern kernels you |
123 | will need at least 8MB RAM or more for booting. | 131 | will need at least 8MB RAM or more for booting. |
@@ -128,7 +136,15 @@ config INITRAMFS_COMPRESSION_LZMA | |||
128 | help | 136 | help |
129 | The most recent compression algorithm. | 137 | The most recent compression algorithm. |
130 | Its ratio is best, decompression speed is between the other | 138 | Its ratio is best, decompression speed is between the other |
131 | two. Compression is slowest. The initramfs size is about 33% | 139 | three. Compression is slowest. The initramfs size is about 33% |
132 | smaller with LZMA in comparison to gzip. | 140 | smaller with LZMA in comparison to gzip. |
133 | 141 | ||
142 | config INITRAMFS_COMPRESSION_LZO | ||
143 | bool "LZO" | ||
144 | depends on RD_LZO | ||
145 | help | ||
146 | Its compression ratio is the poorest among the four. The kernel | ||
147 | size is about about 10% bigger than gzip; however its speed | ||
148 | (both compression and decompression) is the fastest. | ||
149 | |||
134 | endchoice | 150 | endchoice |
diff --git a/usr/gen_init_cpio.c b/usr/gen_init_cpio.c index 83b3dde1a83b..b2b3c2d1cf8b 100644 --- a/usr/gen_init_cpio.c +++ b/usr/gen_init_cpio.c | |||
@@ -354,7 +354,10 @@ static int cpio_mkfile(const char *name, const char *location, | |||
354 | push_pad(); | 354 | push_pad(); |
355 | 355 | ||
356 | if (size) { | 356 | if (size) { |
357 | fwrite(filebuf, size, 1, stdout); | 357 | if (fwrite(filebuf, size, 1, stdout) != 1) { |
358 | fprintf(stderr, "writing filebuf failed\n"); | ||
359 | goto error; | ||
360 | } | ||
358 | offset += size; | 361 | offset += size; |
359 | push_pad(); | 362 | push_pad(); |
360 | } | 363 | } |