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