xref: /linux/usr/Kconfig (revision f2e8954b0d72f6abdef5c9535ffb744965093f14)
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
24cff75e0bSDaniel Thompsonconfig INITRAMFS_FORCE
25cff75e0bSDaniel Thompson	bool "Ignore the initramfs passed by the bootloader"
26cff75e0bSDaniel Thompson	depends on CMDLINE_EXTEND || CMDLINE_FORCE
27cff75e0bSDaniel Thompson	help
28cff75e0bSDaniel Thompson	  This option causes the kernel to ignore the initramfs image
29cff75e0bSDaniel Thompson	  (or initrd image) passed to it by the bootloader. This is
30cff75e0bSDaniel Thompson	  analogous to CMDLINE_FORCE, which is found on some architectures,
31cff75e0bSDaniel Thompson	  and is useful if you cannot or don't want to change the image
32cff75e0bSDaniel Thompson	  your bootloader passes to the kernel.
33cff75e0bSDaniel Thompson
34dbec4866SSam Ravnborgconfig INITRAMFS_ROOT_UID
35dbec4866SSam Ravnborg	int "User ID to map to 0 (user root)"
36dbec4866SSam Ravnborg	depends on INITRAMFS_SOURCE!=""
37dbec4866SSam Ravnborg	default "0"
38dbec4866SSam Ravnborg	help
39595a22acSRob Landley	  If INITRAMFS_SOURCE points to a directory, files owned by this UID
40595a22acSRob Landley	  (-1 = current user) will be owned by root in the resulting image.
41dbec4866SSam Ravnborg
42dbec4866SSam Ravnborg	  If you are not sure, leave it set to "0".
43dbec4866SSam Ravnborg
44dbec4866SSam Ravnborgconfig INITRAMFS_ROOT_GID
45dbec4866SSam Ravnborg	int "Group ID to map to 0 (group root)"
46dbec4866SSam Ravnborg	depends on INITRAMFS_SOURCE!=""
47dbec4866SSam Ravnborg	default "0"
48dbec4866SSam Ravnborg	help
49595a22acSRob Landley	  If INITRAMFS_SOURCE points to a directory, files owned by this GID
50595a22acSRob Landley	  (-1 = current group) will be owned by root in the resulting image.
51dbec4866SSam Ravnborg
52dbec4866SSam Ravnborg	  If you are not sure, leave it set to "0".
53fb9a4ca9SH. Peter Anvin
54fb9a4ca9SH. Peter Anvinconfig RD_GZIP
55*f2e8954bSRob Landley	bool "Support initial ramdisk/ramfs compressed using gzip"
5673d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
57ec72c666SAndi Kleen	default y
58fb9a4ca9SH. Peter Anvin	select DECOMPRESS_GZIP
59fb9a4ca9SH. Peter Anvin	help
60fb9a4ca9SH. Peter Anvin	  Support loading of a gzip encoded initial ramdisk or cpio buffer.
61fb9a4ca9SH. Peter Anvin	  If unsure, say Y.
62fb9a4ca9SH. Peter Anvin
63fb9a4ca9SH. Peter Anvinconfig RD_BZIP2
64*f2e8954bSRob Landley	bool "Support initial ramdisk/ramfs compressed using bzip2"
65ec72c666SAndi Kleen	default y
6673d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
67fb9a4ca9SH. Peter Anvin	select DECOMPRESS_BZIP2
68fb9a4ca9SH. Peter Anvin	help
69fb9a4ca9SH. Peter Anvin	  Support loading of a bzip2 encoded initial ramdisk or cpio buffer
70fb9a4ca9SH. Peter Anvin	  If unsure, say N.
71fb9a4ca9SH. Peter Anvin
72fb9a4ca9SH. Peter Anvinconfig RD_LZMA
73*f2e8954bSRob Landley	bool "Support initial ramdisk/ramfs compressed using LZMA"
74ec72c666SAndi Kleen	default y
7573d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
76fb9a4ca9SH. Peter Anvin	select DECOMPRESS_LZMA
77fb9a4ca9SH. Peter Anvin	help
7855d1d26fSH. Peter Anvin	  Support loading of a LZMA encoded initial ramdisk or cpio buffer
79fb9a4ca9SH. Peter Anvin	  If unsure, say N.
80ab76f3d7SAlain Knaff
813ebe1243SLasse Collinconfig RD_XZ
82*f2e8954bSRob Landley	bool "Support initial ramdisk/ramfs compressed using XZ"
833ebe1243SLasse Collin	depends on BLK_DEV_INITRD
84ec72c666SAndi Kleen	default y
853ebe1243SLasse Collin	select DECOMPRESS_XZ
863ebe1243SLasse Collin	help
873ebe1243SLasse Collin	  Support loading of a XZ encoded initial ramdisk or cpio buffer.
883ebe1243SLasse Collin	  If unsure, say N.
893ebe1243SLasse Collin
90cacb246fSAlbin Tonnerreconfig RD_LZO
91*f2e8954bSRob Landley	bool "Support initial ramdisk/ramfs compressed using LZO"
92ec72c666SAndi Kleen	default y
93cacb246fSAlbin Tonnerre	depends on BLK_DEV_INITRD
94cacb246fSAlbin Tonnerre	select DECOMPRESS_LZO
95cacb246fSAlbin Tonnerre	help
96cacb246fSAlbin Tonnerre	  Support loading of a LZO encoded initial ramdisk or cpio buffer
97cacb246fSAlbin Tonnerre	  If unsure, say N.
98cacb246fSAlbin Tonnerre
99e76e1fdfSKyungsik Leeconfig RD_LZ4
100*f2e8954bSRob Landley	bool "Support initial ramdisk/ramfs compressed using LZ4"
101ec72c666SAndi Kleen	default y
102e76e1fdfSKyungsik Lee	depends on BLK_DEV_INITRD
103e76e1fdfSKyungsik Lee	select DECOMPRESS_LZ4
104e76e1fdfSKyungsik Lee	help
105e76e1fdfSKyungsik Lee	  Support loading of a LZ4 encoded initial ramdisk or cpio buffer
106e76e1fdfSKyungsik Lee	  If unsure, say N.
10735e669e1SFrancisco Blas Izquierdo Riera (klondike)
108db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)choice
109db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	prompt "Built-in initramfs compression mode"
110db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on INITRAMFS_SOURCE!=""
111db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	optional
112db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
113db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  This option allows you to decide by which algorithm the builtin
114db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  initramfs will be compressed.  Several compression algorithms are
115db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  available, which differ in efficiency, compression and
116db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  decompression speed.  Compression speed is only relevant
117db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  when building a kernel.  Decompression speed is relevant at
118db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  each boot. Also the memory usage during decompression may become
119db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  relevant on memory constrained systems. This is usually based on the
120db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  dictionary size of the algorithm with algorithms like XZ and LZMA
121db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  featuring large dictionary sizes.
122db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
123db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  High compression options are mostly useful for users who are
124db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  low on RAM, since it reduces the memory consumption during
125db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  boot.
126db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
127db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Keep in mind that your build system needs to provide the appropriate
128db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  compression tool to compress the generated initram cpio file for
129db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  embedding.
130db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
131db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If in doubt, select 'None'
132db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
133db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_NONE
134db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "None"
135db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
136db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Do not compress the built-in initramfs at all. This may sound wasteful
137db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  in space, but, you should be aware that the built-in initramfs will be
138db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  compressed at a later stage anyways along with the rest of the kernel,
139db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  on those architectures that support this. However, not compressing the
140db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  initramfs may lead to slightly higher memory consumption during a
141db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  short time at boot, while both the cpio image and the unpacked
142db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  filesystem image will be present in memory simultaneously
143db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
144db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_GZIP
145db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "Gzip"
146db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_GZIP
147db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
148db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Use the old and well tested gzip compression algorithm. Gzip provides
149db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  a good balance between compression ratio and decompression speed and
150db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  has a reasonable compression speed. It is also more likely to be
151db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  supported by your build system as the gzip tool is present by default
152db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  on most distros.
153db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
154db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_BZIP2
155db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "Bzip2"
156db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_BZIP2
157db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
158db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  It's compression ratio and speed is intermediate. Decompression speed
159db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  is slowest among the choices. The initramfs size is about 10% smaller
160db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  with bzip2, in comparison to gzip. Bzip2 uses a large amount of
161db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  memory. For modern kernels you will need at least 8MB RAM or more for
162db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  booting.
163db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
164db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you need to have the bzip2 tool
165db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  available to be able to compress the initram.
166db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
167db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_LZMA
168db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "LZMA"
169db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_LZMA
170db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
171db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  This algorithm's compression ratio is best but has a large dictionary
172db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  size which might cause issues in memory constrained systems.
173db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Decompression speed is between the other choices. Compression is
174db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  slowest. The initramfs size is about 33% smaller with LZMA in
175db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  comparison to gzip.
176db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
177db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you may need to install the xz
178db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  or lzma tools to be able to compress the initram.
179db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
180db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_XZ
181db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "XZ"
182db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_XZ
183db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
184db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  XZ uses the LZMA2 algorithm and has a large dictionary which may cause
185db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  problems on memory constrained systems. The initramfs size is about
186db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  30% smaller with XZ in comparison to gzip. Decompression speed is
187db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  better than that of bzip2 but worse than gzip and LZO. Compression is
188db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  slow.
189db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
190db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you may need to install the xz
191db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  tool to be able to compress the initram.
192db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
193db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_LZO
194db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "LZO"
195db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_LZO
196db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
197db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  It's compression ratio is the second poorest amongst the choices. The
198db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  kernel size is about 10% bigger than gzip. Despite that, it's
199db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  decompression speed is the second fastest and it's compression speed
200db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  is quite fast too.
201db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
202db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you may need to install the lzop
203db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  tool to be able to compress the initram.
204db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
205db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_LZ4
206db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "LZ4"
207db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_LZ4
208db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
209db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  It's compression ratio is the poorest amongst the choices. The kernel
210db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  size is about 15% bigger than gzip; however its decompression speed
211db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  is the fastest.
212db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
213db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that most distros don't provide lz4
214db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  by default which could cause a build failure.
215db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
216db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)endchoice
217db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
21835e669e1SFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION
21957ddfdaaSFlorian Fainelli	depends on INITRAMFS_SOURCE!=""
22035e669e1SFrancisco Blas Izquierdo Riera (klondike)	string
221db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ""      if INITRAMFS_COMPRESSION_NONE
222db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".gz"   if INITRAMFS_COMPRESSION_GZIP
223db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".bz2"  if INITRAMFS_COMPRESSION_BZIP2
224db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".lzma" if INITRAMFS_COMPRESSION_LZMA
225db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".xz"   if INITRAMFS_COMPRESSION_XZ
226db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".lzo"  if INITRAMFS_COMPRESSION_LZO
227db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".lz4"  if INITRAMFS_COMPRESSION_LZ4
22835e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".gz"   if RD_GZIP
22935e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".lz4"  if RD_LZ4
23035e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".lzo"  if RD_LZO
23135e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".xz"   if RD_XZ
23235e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".lzma" if RD_LZMA
23335e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".bz2"  if RD_BZIP2
23435e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ""
235