xref: /linux/usr/Kconfig (revision 73d8a12f05292d86623b4ec7bf5fd75d5ad5f687)
1dbec4866SSam Ravnborg#
2dbec4866SSam Ravnborg# Configuration for initramfs
3dbec4866SSam Ravnborg#
4dbec4866SSam Ravnborg
5dbec4866SSam Ravnborgconfig INITRAMFS_SOURCE
6dbec4866SSam Ravnborg	string "Initramfs source file(s)"
7dbec4866SSam Ravnborg	default ""
8dbec4866SSam Ravnborg	help
9dbec4866SSam Ravnborg	  This can be either a single cpio archive with a .cpio suffix or a
10dbec4866SSam Ravnborg	  space-separated list of directories and files for building the
11dbec4866SSam Ravnborg	  initramfs image.  A cpio archive should contain a filesystem archive
12dbec4866SSam Ravnborg	  to be used as an initramfs image.  Directories should contain a
13dbec4866SSam Ravnborg	  filesystem layout to be included in the initramfs image.  Files
14dbec4866SSam Ravnborg	  should contain entries according to the format described by the
15dbec4866SSam Ravnborg	  "usr/gen_init_cpio" program in the kernel tree.
16dbec4866SSam Ravnborg
17dbec4866SSam Ravnborg	  When multiple directories and files are specified then the
18dbec4866SSam Ravnborg	  initramfs image will be the aggregate of all of them.
19dbec4866SSam Ravnborg
200979f378SAlexander E. Patrakov	  See <file:Documentation/early-userspace/README> for more details.
21dbec4866SSam Ravnborg
22dbec4866SSam Ravnborg	  If you are not sure, leave it blank.
23dbec4866SSam Ravnborg
24dbec4866SSam Ravnborgconfig INITRAMFS_ROOT_UID
25dbec4866SSam Ravnborg	int "User ID to map to 0 (user root)"
26dbec4866SSam Ravnborg	depends on INITRAMFS_SOURCE!=""
27dbec4866SSam Ravnborg	default "0"
28dbec4866SSam Ravnborg	help
29dbec4866SSam Ravnborg	  This setting is only meaningful if the INITRAMFS_SOURCE is
30dbec4866SSam Ravnborg	  contains a directory.  Setting this user ID (UID) to something
31dbec4866SSam Ravnborg	  other than "0" will cause all files owned by that UID to be
32dbec4866SSam Ravnborg	  owned by user root in the initial ramdisk image.
33dbec4866SSam Ravnborg
34dbec4866SSam Ravnborg	  If you are not sure, leave it set to "0".
35dbec4866SSam Ravnborg
36dbec4866SSam Ravnborgconfig INITRAMFS_ROOT_GID
37dbec4866SSam Ravnborg	int "Group ID to map to 0 (group root)"
38dbec4866SSam Ravnborg	depends on INITRAMFS_SOURCE!=""
39dbec4866SSam Ravnborg	default "0"
40dbec4866SSam Ravnborg	help
41dbec4866SSam Ravnborg	  This setting is only meaningful if the INITRAMFS_SOURCE is
42dbec4866SSam Ravnborg	  contains a directory.  Setting this group ID (GID) to something
43dbec4866SSam Ravnborg	  other than "0" will cause all files owned by that GID to be
44dbec4866SSam Ravnborg	  owned by group root in the initial ramdisk image.
45dbec4866SSam Ravnborg
46dbec4866SSam Ravnborg	  If you are not sure, leave it set to "0".
47fb9a4ca9SH. Peter Anvin
48fb9a4ca9SH. Peter Anvinconfig RD_GZIP
49*73d8a12fSH. Peter Anvin	bool "Initial ramdisk compressed using gzip" if EMBEDDED
50fb9a4ca9SH. Peter Anvin	default y
51*73d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
52fb9a4ca9SH. Peter Anvin	select DECOMPRESS_GZIP
53fb9a4ca9SH. Peter Anvin	help
54fb9a4ca9SH. Peter Anvin	  Support loading of a gzip encoded initial ramdisk or cpio buffer.
55fb9a4ca9SH. Peter Anvin	  If unsure, say Y.
56fb9a4ca9SH. Peter Anvin
57fb9a4ca9SH. Peter Anvinconfig RD_BZIP2
58*73d8a12fSH. Peter Anvin	bool "Initial ramdisk compressed using bzip2" if EMBEDDED
59*73d8a12fSH. Peter Anvin	default !EMBEDDED
60*73d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
61fb9a4ca9SH. Peter Anvin	select DECOMPRESS_BZIP2
62fb9a4ca9SH. Peter Anvin	help
63fb9a4ca9SH. Peter Anvin	  Support loading of a bzip2 encoded initial ramdisk or cpio buffer
64fb9a4ca9SH. Peter Anvin	  If unsure, say N.
65fb9a4ca9SH. Peter Anvin
66fb9a4ca9SH. Peter Anvinconfig RD_LZMA
67*73d8a12fSH. Peter Anvin	bool "Initial ramdisk compressed using lzma" if EMBEDDED
68*73d8a12fSH. Peter Anvin	default !EMBEDDED
69*73d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
70fb9a4ca9SH. Peter Anvin	select DECOMPRESS_LZMA
71fb9a4ca9SH. Peter Anvin	help
72fb9a4ca9SH. Peter Anvin	  Support loading of a lzma encoded initial ramdisk or cpio buffer
73fb9a4ca9SH. Peter Anvin	  If unsure, say N.
74ab76f3d7SAlain Knaff
75ab76f3d7SAlain Knaffchoice
76ab76f3d7SAlain Knaff	prompt "Built-in initramfs compression mode"
77ab76f3d7SAlain Knaff	help
78ab76f3d7SAlain Knaff	  This setting is only meaningful if the INITRAMFS_SOURCE is
79ab76f3d7SAlain Knaff	  set. It decides by which algorithm the INITRAMFS_SOURCE will
80ab76f3d7SAlain Knaff	  be compressed.
81ab76f3d7SAlain Knaff	  Several compression algorithms are available, which differ
82ab76f3d7SAlain Knaff	  in efficiency, compression and decompression speed.
83ab76f3d7SAlain Knaff	  Compression speed is only relevant when building a kernel.
84ab76f3d7SAlain Knaff	  Decompression speed is relevant at each boot.
85ab76f3d7SAlain Knaff
86ab76f3d7SAlain Knaff	  If you have any problems with bzip2 or lzma compressed
87ab76f3d7SAlain Knaff	  initramfs, mail me (Alain Knaff) <alain@knaff.lu>.
88ab76f3d7SAlain Knaff
89ab76f3d7SAlain Knaff	  High compression options are mostly useful for users who
90ab76f3d7SAlain Knaff	  are low on disk space (embedded systems), but for whom ram
91ab76f3d7SAlain Knaff	  size matters less.
92ab76f3d7SAlain Knaff
93ab76f3d7SAlain Knaff	  If in doubt, select 'gzip'
94ab76f3d7SAlain Knaff
95ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_NONE
96ab76f3d7SAlain Knaff	bool "None"
97ab76f3d7SAlain Knaff	help
98ab76f3d7SAlain Knaff	  Do not compress the built-in initramfs at all. This may
99ab76f3d7SAlain Knaff	  sound wasteful in space, but, you should be aware that the
100ab76f3d7SAlain Knaff	  built-in initramfs will be compressed at a later stage
101ab76f3d7SAlain Knaff	  anyways along with the rest of the kernel, on those
102ab76f3d7SAlain Knaff	  architectures that support this.
103ab76f3d7SAlain Knaff	  However, not compressing the initramfs may lead to slightly
104ab76f3d7SAlain Knaff	  higher memory consumption during a short time at boot, while
105ab76f3d7SAlain Knaff	  both the cpio image and the unpacked filesystem image will
106ab76f3d7SAlain Knaff	  be present in memory simultaneously
107ab76f3d7SAlain Knaff
108ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_GZIP
109ab76f3d7SAlain Knaff	bool "Gzip"
110ab76f3d7SAlain Knaff	depends on RD_GZIP
111ab76f3d7SAlain Knaff	help
112ab76f3d7SAlain Knaff	  The old and tried gzip compression. Its compression ratio is
113ab76f3d7SAlain Knaff	  the poorest among the 3 choices; however its speed (both
114ab76f3d7SAlain Knaff	  compression and decompression) is the fastest.
115ab76f3d7SAlain Knaff
116ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_BZIP2
117ab76f3d7SAlain Knaff	bool "Bzip2"
118ab76f3d7SAlain Knaff	depends on RD_BZIP2
119ab76f3d7SAlain Knaff	help
120ab76f3d7SAlain Knaff	  Its compression ratio and speed is intermediate.
121ab76f3d7SAlain Knaff	  Decompression speed is slowest among the three.  The initramfs
122ab76f3d7SAlain Knaff	  size is about 10% smaller with bzip2, in comparison to gzip.
123ab76f3d7SAlain Knaff	  Bzip2 uses a large amount of memory. For modern kernels you
124ab76f3d7SAlain Knaff	  will need at least 8MB RAM or more for booting.
125ab76f3d7SAlain Knaff
126ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_LZMA
127ab76f3d7SAlain Knaff	bool "LZMA"
128ab76f3d7SAlain Knaff	depends on RD_LZMA
129ab76f3d7SAlain Knaff	help
130ab76f3d7SAlain Knaff	  The most recent compression algorithm.
131ab76f3d7SAlain Knaff	  Its ratio is best, decompression speed is between the other
132ab76f3d7SAlain Knaff	  two. Compression is slowest.	The initramfs size is about 33%
133ab76f3d7SAlain Knaff	  smaller with LZMA in comparison to gzip.
134ab76f3d7SAlain Knaff
135ab76f3d7SAlain Knaffendchoice
136