Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 137060
b: refs/heads/master
c: ab76f3d
h: refs/heads/master
v: v3
  • Loading branch information
Alain Knaff authored and H. Peter Anvin committed Feb 19, 2009
1 parent 5e55098 commit cf2d3e7
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ab59d3b70f7a47987f80e153d828363faec643fe
refs/heads/master: ab76f3d771590d5c89faa3219559c5d3fc0ce0c2
62 changes: 62 additions & 0 deletions trunk/usr/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,65 @@ config RD_LZMA
help
Support loading of a lzma encoded initial ramdisk or cpio buffer
If unsure, say N.

choice
prompt "Built-in initramfs compression mode"
help
This setting is only meaningful if the INITRAMFS_SOURCE is
set. It decides by which algorithm the INITRAMFS_SOURCE will
be compressed.
Several compression algorithms are available, which differ
in efficiency, compression and decompression speed.
Compression speed is only relevant when building a kernel.
Decompression speed is relevant at each boot.

If you have any problems with bzip2 or lzma compressed
initramfs, mail me (Alain Knaff) <alain@knaff.lu>.

High compression options are mostly useful for users who
are low on disk space (embedded systems), but for whom ram
size matters less.

If in doubt, select 'gzip'

config INITRAMFS_COMPRESSION_NONE
bool "None"
help
Do not compress the built-in initramfs at all. This may
sound wasteful in space, but, you should be aware that the
built-in initramfs will be compressed at a later stage
anyways along with the rest of the kernel, on those
architectures that support this.
However, not compressing the initramfs may lead to slightly
higher memory consumption during a short time at boot, while
both the cpio image and the unpacked filesystem image will
be present in memory simultaneously

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.

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
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.

config INITRAMFS_COMPRESSION_LZMA
bool "LZMA"
depends on RD_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%
smaller with LZMA in comparison to gzip.

endchoice
18 changes: 6 additions & 12 deletions trunk/usr/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,18 @@
klibcdirs:;
PHONY += klibcdirs

# Find out "preferred" ramdisk compressor. Order of preference is
# 1. bzip2 efficient, and likely to be present
# 2. gzip former default
# 3. lzma
# 4. none

# None of the above
suffix_y =

# Lzma, but no gzip nor bzip2
suffix_$(CONFIG_RD_LZMA) = .lzma
# No compression
suffix_$(CONFIG_INITRAMFS_COMPRESSION_NONE) =

# Gzip, but no bzip2
suffix_$(CONFIG_RD_GZIP) = .gz
suffix_$(CONFIG_INITRAMFS_COMPRESSION_GZIP) = .gz

# Bzip2
suffix_$(CONFIG_RD_BZIP2) = .bz2
suffix_$(CONFIG_INITRAMFS_COMPRESSION_BZIP2) = .bz2

# Lzma
suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZMA) = .lzma

# Generate builtin.o based on initramfs_data.o
obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data$(suffix_y).o
Expand Down

0 comments on commit cf2d3e7

Please sign in to comment.