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