xref: /linux/usr/Kconfig (revision 40297927575a50b1d0d308d735c445924d33fba6)
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
49337bed41SH. Peter Anvin	bool "Support initial ramdisks compressed using gzip" if EMBEDDED
50fb9a4ca9SH. Peter Anvin	default y
5173d8a12fSH. 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
58337bed41SH. Peter Anvin	bool "Support initial ramdisks compressed using bzip2" if EMBEDDED
5973d8a12fSH. Peter Anvin	default !EMBEDDED
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
6755d1d26fSH. Peter Anvin	bool "Support initial ramdisks compressed using LZMA" if EMBEDDED
6873d8a12fSH. Peter Anvin	default !EMBEDDED
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
75*40297927SH. Peter Anvinif INITRAMFS_SOURCE!=""
76*40297927SH. Peter Anvin
77ab76f3d7SAlain Knaffchoice
78ab76f3d7SAlain Knaff	prompt "Built-in initramfs compression mode"
79ab76f3d7SAlain Knaff	help
80*40297927SH. Peter Anvin	  This option decides by which algorithm the builtin initramfs
81*40297927SH. Peter Anvin	  will be compressed.  Several compression algorithms are
82*40297927SH. Peter Anvin	  available, which differ in efficiency, compression and
83*40297927SH. Peter Anvin	  decompression speed.  Compression speed is only relevant
84*40297927SH. Peter Anvin	  when building a kernel.  Decompression speed is relevant at
85*40297927SH. Peter Anvin	  each boot.
86ab76f3d7SAlain Knaff
8755d1d26fSH. Peter Anvin	  If you have any problems with bzip2 or LZMA compressed
88ab76f3d7SAlain Knaff	  initramfs, mail me (Alain Knaff) <alain@knaff.lu>.
89ab76f3d7SAlain Knaff
90*40297927SH. Peter Anvin	  High compression options are mostly useful for users who are
91*40297927SH. Peter Anvin	  low on RAM, since it reduces the memory consumption during
92*40297927SH. Peter Anvin	  boot.
93ab76f3d7SAlain Knaff
94ab76f3d7SAlain Knaff	  If in doubt, select 'gzip'
95ab76f3d7SAlain Knaff
96ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_NONE
97ab76f3d7SAlain Knaff	bool "None"
98ab76f3d7SAlain Knaff	help
99ab76f3d7SAlain Knaff	  Do not compress the built-in initramfs at all. This may
100ab76f3d7SAlain Knaff	  sound wasteful in space, but, you should be aware that the
101ab76f3d7SAlain Knaff	  built-in initramfs will be compressed at a later stage
102ab76f3d7SAlain Knaff	  anyways along with the rest of the kernel, on those
103ab76f3d7SAlain Knaff	  architectures that support this.
104ab76f3d7SAlain Knaff	  However, not compressing the initramfs may lead to slightly
105ab76f3d7SAlain Knaff	  higher memory consumption during a short time at boot, while
106ab76f3d7SAlain Knaff	  both the cpio image and the unpacked filesystem image will
107ab76f3d7SAlain Knaff	  be present in memory simultaneously
108ab76f3d7SAlain Knaff
109ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_GZIP
110ab76f3d7SAlain Knaff	bool "Gzip"
111ab76f3d7SAlain Knaff	depends on RD_GZIP
112ab76f3d7SAlain Knaff	help
113ab76f3d7SAlain Knaff	  The old and tried gzip compression. Its compression ratio is
114ab76f3d7SAlain Knaff	  the poorest among the 3 choices; however its speed (both
115ab76f3d7SAlain Knaff	  compression and decompression) is the fastest.
116ab76f3d7SAlain Knaff
117ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_BZIP2
118ab76f3d7SAlain Knaff	bool "Bzip2"
119ab76f3d7SAlain Knaff	depends on RD_BZIP2
120ab76f3d7SAlain Knaff	help
121ab76f3d7SAlain Knaff	  Its compression ratio and speed is intermediate.
122ab76f3d7SAlain Knaff	  Decompression speed is slowest among the three.  The initramfs
123ab76f3d7SAlain Knaff	  size is about 10% smaller with bzip2, in comparison to gzip.
124ab76f3d7SAlain Knaff	  Bzip2 uses a large amount of memory. For modern kernels you
125ab76f3d7SAlain Knaff	  will need at least 8MB RAM or more for booting.
126ab76f3d7SAlain Knaff
127ab76f3d7SAlain Knaffconfig INITRAMFS_COMPRESSION_LZMA
128ab76f3d7SAlain Knaff	bool "LZMA"
129ab76f3d7SAlain Knaff	depends on RD_LZMA
130ab76f3d7SAlain Knaff	help
131ab76f3d7SAlain Knaff	  The most recent compression algorithm.
132ab76f3d7SAlain Knaff	  Its ratio is best, decompression speed is between the other
133ab76f3d7SAlain Knaff	  two. Compression is slowest.	The initramfs size is about 33%
134ab76f3d7SAlain Knaff	  smaller with LZMA in comparison to gzip.
135ab76f3d7SAlain Knaff
136ab76f3d7SAlain Knaffendchoice
137*40297927SH. Peter Anvin
138*40297927SH. Peter Anvinendif
139*40297927SH. Peter Anvin
140*40297927SH. Peter Anvinif INITRAMFS_SOURCE=""
141*40297927SH. Peter Anvin# The builtin initramfs is so small so we don't want to bug the user...
142*40297927SH. Peter Anvin
143*40297927SH. Peter Anvinconfig INITRAMFS_COMPRESSION_NONE
144*40297927SH. Peter Anvin	bool
145*40297927SH. Peter Anvin	default y
146*40297927SH. Peter Anvin
147*40297927SH. Peter Anvinendif
148