xref: /linux/usr/Kconfig (revision db2aa7fd15e857891cefbada8348c8d938c7a2bc)
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
49ec72c666SAndi Kleen	bool "Support initial ramdisks compressed using gzip"
5073d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
51ec72c666SAndi Kleen	default y
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
58ec72c666SAndi Kleen	bool "Support initial ramdisks compressed using bzip2"
59ec72c666SAndi Kleen	default y
6073d8a12fSH. 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
67ec72c666SAndi Kleen	bool "Support initial ramdisks compressed using LZMA"
68ec72c666SAndi Kleen	default y
6973d8a12fSH. Peter Anvin	depends on BLK_DEV_INITRD
70fb9a4ca9SH. Peter Anvin	select DECOMPRESS_LZMA
71fb9a4ca9SH. Peter Anvin	help
7255d1d26fSH. Peter Anvin	  Support loading of a LZMA encoded initial ramdisk or cpio buffer
73fb9a4ca9SH. Peter Anvin	  If unsure, say N.
74ab76f3d7SAlain Knaff
753ebe1243SLasse Collinconfig RD_XZ
76ec72c666SAndi Kleen	bool "Support initial ramdisks compressed using XZ"
773ebe1243SLasse Collin	depends on BLK_DEV_INITRD
78ec72c666SAndi Kleen	default y
793ebe1243SLasse Collin	select DECOMPRESS_XZ
803ebe1243SLasse Collin	help
813ebe1243SLasse Collin	  Support loading of a XZ encoded initial ramdisk or cpio buffer.
823ebe1243SLasse Collin	  If unsure, say N.
833ebe1243SLasse Collin
84cacb246fSAlbin Tonnerreconfig RD_LZO
85ec72c666SAndi Kleen	bool "Support initial ramdisks compressed using LZO"
86ec72c666SAndi Kleen	default y
87cacb246fSAlbin Tonnerre	depends on BLK_DEV_INITRD
88cacb246fSAlbin Tonnerre	select DECOMPRESS_LZO
89cacb246fSAlbin Tonnerre	help
90cacb246fSAlbin Tonnerre	  Support loading of a LZO encoded initial ramdisk or cpio buffer
91cacb246fSAlbin Tonnerre	  If unsure, say N.
92cacb246fSAlbin Tonnerre
93e76e1fdfSKyungsik Leeconfig RD_LZ4
94ec72c666SAndi Kleen	bool "Support initial ramdisks compressed using LZ4"
95ec72c666SAndi Kleen	default y
96e76e1fdfSKyungsik Lee	depends on BLK_DEV_INITRD
97e76e1fdfSKyungsik Lee	select DECOMPRESS_LZ4
98e76e1fdfSKyungsik Lee	help
99e76e1fdfSKyungsik Lee	  Support loading of a LZ4 encoded initial ramdisk or cpio buffer
100e76e1fdfSKyungsik Lee	  If unsure, say N.
10135e669e1SFrancisco Blas Izquierdo Riera (klondike)
102*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)choice
103*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	prompt "Built-in initramfs compression mode"
104*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on INITRAMFS_SOURCE!=""
105*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	optional
106*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
107*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  This option allows you to decide by which algorithm the builtin
108*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  initramfs will be compressed.  Several compression algorithms are
109*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  available, which differ in efficiency, compression and
110*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  decompression speed.  Compression speed is only relevant
111*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  when building a kernel.  Decompression speed is relevant at
112*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  each boot. Also the memory usage during decompression may become
113*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  relevant on memory constrained systems. This is usually based on the
114*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  dictionary size of the algorithm with algorithms like XZ and LZMA
115*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  featuring large dictionary sizes.
116*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
117*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  High compression options are mostly useful for users who are
118*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  low on RAM, since it reduces the memory consumption during
119*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  boot.
120*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
121*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Keep in mind that your build system needs to provide the appropriate
122*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  compression tool to compress the generated initram cpio file for
123*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  embedding.
124*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
125*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If in doubt, select 'None'
126*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
127*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_NONE
128*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "None"
129*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
130*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Do not compress the built-in initramfs at all. This may sound wasteful
131*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  in space, but, you should be aware that the built-in initramfs will be
132*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  compressed at a later stage anyways along with the rest of the kernel,
133*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  on those architectures that support this. However, not compressing the
134*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  initramfs may lead to slightly higher memory consumption during a
135*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  short time at boot, while both the cpio image and the unpacked
136*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  filesystem image will be present in memory simultaneously
137*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
138*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_GZIP
139*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "Gzip"
140*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_GZIP
141*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
142*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Use the old and well tested gzip compression algorithm. Gzip provides
143*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  a good balance between compression ratio and decompression speed and
144*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  has a reasonable compression speed. It is also more likely to be
145*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  supported by your build system as the gzip tool is present by default
146*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  on most distros.
147*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
148*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_BZIP2
149*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "Bzip2"
150*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_BZIP2
151*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
152*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  It's compression ratio and speed is intermediate. Decompression speed
153*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  is slowest among the choices. The initramfs size is about 10% smaller
154*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  with bzip2, in comparison to gzip. Bzip2 uses a large amount of
155*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  memory. For modern kernels you will need at least 8MB RAM or more for
156*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  booting.
157*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
158*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you need to have the bzip2 tool
159*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  available to be able to compress the initram.
160*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
161*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_LZMA
162*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "LZMA"
163*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_LZMA
164*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
165*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  This algorithm's compression ratio is best but has a large dictionary
166*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  size which might cause issues in memory constrained systems.
167*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  Decompression speed is between the other choices. Compression is
168*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  slowest. The initramfs size is about 33% smaller with LZMA in
169*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  comparison to gzip.
170*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
171*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you may need to install the xz
172*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  or lzma tools to be able to compress the initram.
173*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
174*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_XZ
175*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "XZ"
176*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_XZ
177*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
178*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  XZ uses the LZMA2 algorithm and has a large dictionary which may cause
179*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  problems on memory constrained systems. The initramfs size is about
180*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  30% smaller with XZ in comparison to gzip. Decompression speed is
181*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  better than that of bzip2 but worse than gzip and LZO. Compression is
182*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  slow.
183*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
184*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you may need to install the xz
185*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  tool to be able to compress the initram.
186*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
187*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_LZO
188*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "LZO"
189*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_LZO
190*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
191*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  It's compression ratio is the second poorest amongst the choices. The
192*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  kernel size is about 10% bigger than gzip. Despite that, it's
193*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  decompression speed is the second fastest and it's compression speed
194*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  is quite fast too.
195*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
196*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that you may need to install the lzop
197*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  tool to be able to compress the initram.
198*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
199*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION_LZ4
200*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	bool "LZ4"
201*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	depends on RD_LZ4
202*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	help
203*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  It's compression ratio is the poorest amongst the choices. The kernel
204*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  size is about 15% bigger than gzip; however its decompression speed
205*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  is the fastest.
206*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
207*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  If you choose this, keep in mind that most distros don't provide lz4
208*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	  by default which could cause a build failure.
209*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
210*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)endchoice
211*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)
21235e669e1SFrancisco Blas Izquierdo Riera (klondike)config INITRAMFS_COMPRESSION
21335e669e1SFrancisco Blas Izquierdo Riera (klondike)	string
214*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ""      if INITRAMFS_COMPRESSION_NONE
215*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".gz"   if INITRAMFS_COMPRESSION_GZIP
216*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".bz2"  if INITRAMFS_COMPRESSION_BZIP2
217*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".lzma" if INITRAMFS_COMPRESSION_LZMA
218*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".xz"   if INITRAMFS_COMPRESSION_XZ
219*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".lzo"  if INITRAMFS_COMPRESSION_LZO
220*db2aa7fdSFrancisco Blas Izquierdo Riera (klondike)	default ".lz4"  if INITRAMFS_COMPRESSION_LZ4
22135e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".gz"   if RD_GZIP
22235e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".lz4"  if RD_LZ4
22335e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".lzo"  if RD_LZO
22435e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".xz"   if RD_XZ
22535e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".lzma" if RD_LZMA
22635e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ".bz2"  if RD_BZIP2
22735e669e1SFrancisco Blas Izquierdo Riera (klondike)	default ""
228