| 
									
										
										
										
											2005-08-10 20:44:50 +02:00
										 |  |  | # | 
					
						
							|  |  |  | # Configuration for initramfs | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config INITRAMFS_SOURCE | 
					
						
							|  |  |  | 	string "Initramfs source file(s)" | 
					
						
							|  |  |  | 	default "" | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  This can be either a single cpio archive with a .cpio suffix or a | 
					
						
							|  |  |  | 	  space-separated list of directories and files for building the | 
					
						
							|  |  |  | 	  initramfs image.  A cpio archive should contain a filesystem archive | 
					
						
							|  |  |  | 	  to be used as an initramfs image.  Directories should contain a | 
					
						
							|  |  |  | 	  filesystem layout to be included in the initramfs image.  Files | 
					
						
							|  |  |  | 	  should contain entries according to the format described by the | 
					
						
							|  |  |  | 	  "usr/gen_init_cpio" program in the kernel tree. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  When multiple directories and files are specified then the | 
					
						
							|  |  |  | 	  initramfs image will be the aggregate of all of them. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-03-16 18:01:45 +05:00
										 |  |  | 	  See <file:Documentation/early-userspace/README> for more details. | 
					
						
							| 
									
										
										
										
											2005-08-10 20:44:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	  If you are not sure, leave it blank. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config INITRAMFS_ROOT_UID | 
					
						
							|  |  |  | 	int "User ID to map to 0 (user root)" | 
					
						
							|  |  |  | 	depends on INITRAMFS_SOURCE!="" | 
					
						
							|  |  |  | 	default "0" | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  This setting is only meaningful if the INITRAMFS_SOURCE is | 
					
						
							|  |  |  | 	  contains a directory.  Setting this user ID (UID) to something | 
					
						
							|  |  |  | 	  other than "0" will cause all files owned by that UID to be | 
					
						
							|  |  |  | 	  owned by user root in the initial ramdisk image. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  If you are not sure, leave it set to "0". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config INITRAMFS_ROOT_GID | 
					
						
							|  |  |  | 	int "Group ID to map to 0 (group root)" | 
					
						
							|  |  |  | 	depends on INITRAMFS_SOURCE!="" | 
					
						
							|  |  |  | 	default "0" | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  This setting is only meaningful if the INITRAMFS_SOURCE is | 
					
						
							|  |  |  | 	  contains a directory.  Setting this group ID (GID) to something | 
					
						
							|  |  |  | 	  other than "0" will cause all files owned by that GID to be | 
					
						
							|  |  |  | 	  owned by group root in the initial ramdisk image. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  If you are not sure, leave it set to "0". | 
					
						
							| 
									
										
										
										
											2009-01-07 00:03:49 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | config RD_GZIP | 
					
						
							| 
									
										
										
										
											2011-01-20 14:44:16 -08:00
										 |  |  | 	bool "Support initial ramdisks compressed using gzip" if EXPERT | 
					
						
							| 
									
										
										
										
											2009-01-07 00:03:49 -08:00
										 |  |  | 	default y | 
					
						
							| 
									
										
										
										
											2009-03-28 15:49:08 -07:00
										 |  |  | 	depends on BLK_DEV_INITRD | 
					
						
							| 
									
										
										
										
											2009-01-07 00:03:49 -08:00
										 |  |  | 	select DECOMPRESS_GZIP | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Support loading of a gzip encoded initial ramdisk or cpio buffer. | 
					
						
							|  |  |  | 	  If unsure, say Y. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config RD_BZIP2 | 
					
						
							| 
									
										
										
										
											2011-01-20 14:44:16 -08:00
										 |  |  | 	bool "Support initial ramdisks compressed using bzip2" if EXPERT | 
					
						
							|  |  |  | 	default !EXPERT | 
					
						
							| 
									
										
										
										
											2009-03-28 15:49:08 -07:00
										 |  |  | 	depends on BLK_DEV_INITRD | 
					
						
							| 
									
										
										
										
											2009-01-07 00:03:49 -08:00
										 |  |  | 	select DECOMPRESS_BZIP2 | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Support loading of a bzip2 encoded initial ramdisk or cpio buffer | 
					
						
							|  |  |  | 	  If unsure, say N. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config RD_LZMA | 
					
						
							| 
									
										
										
										
											2011-01-20 14:44:16 -08:00
										 |  |  | 	bool "Support initial ramdisks compressed using LZMA" if EXPERT | 
					
						
							|  |  |  | 	default !EXPERT | 
					
						
							| 
									
										
										
										
											2009-03-28 15:49:08 -07:00
										 |  |  | 	depends on BLK_DEV_INITRD | 
					
						
							| 
									
										
										
										
											2009-01-07 00:03:49 -08:00
										 |  |  | 	select DECOMPRESS_LZMA | 
					
						
							|  |  |  | 	help | 
					
						
							| 
									
										
										
										
											2009-03-28 16:10:59 -07:00
										 |  |  | 	  Support loading of a LZMA encoded initial ramdisk or cpio buffer | 
					
						
							| 
									
										
										
										
											2009-01-07 00:03:49 -08:00
										 |  |  | 	  If unsure, say N. | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
											  
											
												decompressors: add boot-time XZ support
This implements the API defined in <linux/decompress/generic.h> which is
used for kernel, initramfs, and initrd decompression.  This patch together
with the first patch is enough for XZ-compressed initramfs and initrd;
XZ-compressed kernel will need arch-specific changes.
The buffering requirements described in decompress_unxz.c are stricter
than with gzip, so the relevant changes should be done to the
arch-specific code when adding support for XZ-compressed kernel.
Similarly, the heap size in arch-specific pre-boot code may need to be
increased (30 KiB is enough).
The XZ decompressor needs memmove(), memeq() (memcmp() == 0), and
memzero() (memset(ptr, 0, size)), which aren't available in all
arch-specific pre-boot environments.  I'm including simple versions in
decompress_unxz.c, but a cleaner solution would naturally be nicer.
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alain Knaff <alain@knaff.lu>
Cc: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Cc: Phillip Lougher <phillip@lougher.demon.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
											
										 
											2011-01-12 17:01:23 -08:00
										 |  |  | config RD_XZ | 
					
						
							| 
									
										
										
										
											2011-01-20 14:44:16 -08:00
										 |  |  | 	bool "Support initial ramdisks compressed using XZ" if EXPERT | 
					
						
							|  |  |  | 	default !EXPERT | 
					
						
							| 
									
										
											  
											
												decompressors: add boot-time XZ support
This implements the API defined in <linux/decompress/generic.h> which is
used for kernel, initramfs, and initrd decompression.  This patch together
with the first patch is enough for XZ-compressed initramfs and initrd;
XZ-compressed kernel will need arch-specific changes.
The buffering requirements described in decompress_unxz.c are stricter
than with gzip, so the relevant changes should be done to the
arch-specific code when adding support for XZ-compressed kernel.
Similarly, the heap size in arch-specific pre-boot code may need to be
increased (30 KiB is enough).
The XZ decompressor needs memmove(), memeq() (memcmp() == 0), and
memzero() (memset(ptr, 0, size)), which aren't available in all
arch-specific pre-boot environments.  I'm including simple versions in
decompress_unxz.c, but a cleaner solution would naturally be nicer.
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alain Knaff <alain@knaff.lu>
Cc: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Cc: Phillip Lougher <phillip@lougher.demon.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
											
										 
											2011-01-12 17:01:23 -08:00
										 |  |  | 	depends on BLK_DEV_INITRD | 
					
						
							|  |  |  | 	select DECOMPRESS_XZ | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Support loading of a XZ encoded initial ramdisk or cpio buffer. | 
					
						
							|  |  |  | 	  If unsure, say N. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-08 14:42:46 -08:00
										 |  |  | config RD_LZO | 
					
						
							| 
									
										
										
										
											2011-01-20 14:44:16 -08:00
										 |  |  | 	bool "Support initial ramdisks compressed using LZO" if EXPERT | 
					
						
							|  |  |  | 	default !EXPERT | 
					
						
							| 
									
										
										
										
											2010-01-08 14:42:46 -08:00
										 |  |  | 	depends on BLK_DEV_INITRD | 
					
						
							|  |  |  | 	select DECOMPRESS_LZO | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Support loading of a LZO encoded initial ramdisk or cpio buffer | 
					
						
							|  |  |  | 	  If unsure, say N. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | choice | 
					
						
							| 
									
										
										
										
											2009-03-31 12:24:17 -07:00
										 |  |  | 	prompt "Built-in initramfs compression mode" if INITRAMFS_SOURCE!="" | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 	help | 
					
						
							| 
									
										
										
										
											2009-03-28 17:24:03 -07:00
										 |  |  | 	  This option decides by which algorithm the builtin initramfs | 
					
						
							|  |  |  | 	  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. | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-28 16:10:59 -07:00
										 |  |  | 	  If you have any problems with bzip2 or LZMA compressed | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 	  initramfs, mail me (Alain Knaff) <alain@knaff.lu>. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-28 17:24:03 -07:00
										 |  |  | 	  High compression options are mostly useful for users who are | 
					
						
							|  |  |  | 	  low on RAM, since it reduces the memory consumption during | 
					
						
							|  |  |  | 	  boot. | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	  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 | 
					
						
							| 
									
										
										
										
											2010-01-08 14:42:46 -08:00
										 |  |  | 	  The old and tried gzip compression. It provides a good balance | 
					
						
							|  |  |  | 	  between compression ratio and decompression speed. | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | config INITRAMFS_COMPRESSION_BZIP2 | 
					
						
							|  |  |  | 	bool "Bzip2" | 
					
						
							|  |  |  | 	depends on RD_BZIP2 | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Its compression ratio and speed is intermediate. | 
					
						
							| 
									
										
										
										
											2010-01-08 14:42:46 -08:00
										 |  |  | 	  Decompression speed is slowest among the four.  The initramfs | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 	  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 | 
					
						
							| 
									
										
										
										
											2010-01-08 14:42:46 -08:00
										 |  |  | 	  three. Compression is slowest. The initramfs size is about 33% | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | 	  smaller with LZMA in comparison to gzip. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
											  
											
												decompressors: add boot-time XZ support
This implements the API defined in <linux/decompress/generic.h> which is
used for kernel, initramfs, and initrd decompression.  This patch together
with the first patch is enough for XZ-compressed initramfs and initrd;
XZ-compressed kernel will need arch-specific changes.
The buffering requirements described in decompress_unxz.c are stricter
than with gzip, so the relevant changes should be done to the
arch-specific code when adding support for XZ-compressed kernel.
Similarly, the heap size in arch-specific pre-boot code may need to be
increased (30 KiB is enough).
The XZ decompressor needs memmove(), memeq() (memcmp() == 0), and
memzero() (memset(ptr, 0, size)), which aren't available in all
arch-specific pre-boot environments.  I'm including simple versions in
decompress_unxz.c, but a cleaner solution would naturally be nicer.
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alain Knaff <alain@knaff.lu>
Cc: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Cc: Phillip Lougher <phillip@lougher.demon.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
											
										 
											2011-01-12 17:01:23 -08:00
										 |  |  | config INITRAMFS_COMPRESSION_XZ | 
					
						
							|  |  |  | 	bool "XZ" | 
					
						
							|  |  |  | 	depends on RD_XZ | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  XZ uses the LZMA2 algorithm. The initramfs size is about 30% | 
					
						
							|  |  |  | 	  smaller with XZ in comparison to gzip. Decompression speed | 
					
						
							|  |  |  | 	  is better than that of bzip2 but worse than gzip and LZO. | 
					
						
							|  |  |  | 	  Compression is slow. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-08 14:42:46 -08:00
										 |  |  | config INITRAMFS_COMPRESSION_LZO | 
					
						
							|  |  |  | 	bool "LZO" | 
					
						
							|  |  |  | 	depends on RD_LZO | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Its compression ratio is the poorest among the four. The kernel | 
					
						
							| 
									
										
										
										
											2010-07-14 11:23:08 +02:00
										 |  |  | 	  size is about 10% bigger than gzip; however its speed | 
					
						
							| 
									
										
										
										
											2010-01-08 14:42:46 -08:00
										 |  |  | 	  (both compression and decompression) is the fastest. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-19 13:43:51 -08:00
										 |  |  | endchoice |