Commit | Line | Data |
---|---|---|
dbec4866 SR |
1 | # |
2 | # Configuration for initramfs | |
3 | # | |
4 | ||
5 | config 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 | ||
0979f378 | 20 | See <file:Documentation/early-userspace/README> for more details. |
dbec4866 SR |
21 | |
22 | If you are not sure, leave it blank. | |
23 | ||
cff75e0b DT |
24 | config INITRAMFS_FORCE |
25 | bool "Ignore the initramfs passed by the bootloader" | |
26 | depends on CMDLINE_EXTEND || CMDLINE_FORCE | |
27 | help | |
28 | This option causes the kernel to ignore the initramfs image | |
29 | (or initrd image) passed to it by the bootloader. This is | |
30 | analogous to CMDLINE_FORCE, which is found on some architectures, | |
31 | and is useful if you cannot or don't want to change the image | |
32 | your bootloader passes to the kernel. | |
33 | ||
dbec4866 SR |
34 | config INITRAMFS_ROOT_UID |
35 | int "User ID to map to 0 (user root)" | |
36 | depends on INITRAMFS_SOURCE!="" | |
37 | default "0" | |
38 | help | |
595a22ac RL |
39 | If INITRAMFS_SOURCE points to a directory, files owned by this UID |
40 | (-1 = current user) will be owned by root in the resulting image. | |
dbec4866 SR |
41 | |
42 | If you are not sure, leave it set to "0". | |
43 | ||
44 | config INITRAMFS_ROOT_GID | |
45 | int "Group ID to map to 0 (group root)" | |
46 | depends on INITRAMFS_SOURCE!="" | |
47 | default "0" | |
48 | help | |
595a22ac RL |
49 | If INITRAMFS_SOURCE points to a directory, files owned by this GID |
50 | (-1 = current group) will be owned by root in the resulting image. | |
dbec4866 SR |
51 | |
52 | If you are not sure, leave it set to "0". | |
fb9a4ca9 PA |
53 | |
54 | config RD_GZIP | |
f2e8954b | 55 | bool "Support initial ramdisk/ramfs compressed using gzip" |
73d8a12f | 56 | depends on BLK_DEV_INITRD |
ec72c666 | 57 | default y |
fb9a4ca9 PA |
58 | select DECOMPRESS_GZIP |
59 | help | |
60 | Support loading of a gzip encoded initial ramdisk or cpio buffer. | |
61 | If unsure, say Y. | |
62 | ||
63 | config RD_BZIP2 | |
f2e8954b | 64 | bool "Support initial ramdisk/ramfs compressed using bzip2" |
ec72c666 | 65 | default y |
73d8a12f | 66 | depends on BLK_DEV_INITRD |
fb9a4ca9 PA |
67 | select DECOMPRESS_BZIP2 |
68 | help | |
69 | Support loading of a bzip2 encoded initial ramdisk or cpio buffer | |
70 | If unsure, say N. | |
71 | ||
72 | config RD_LZMA | |
f2e8954b | 73 | bool "Support initial ramdisk/ramfs compressed using LZMA" |
ec72c666 | 74 | default y |
73d8a12f | 75 | depends on BLK_DEV_INITRD |
fb9a4ca9 PA |
76 | select DECOMPRESS_LZMA |
77 | help | |
55d1d26f | 78 | Support loading of a LZMA encoded initial ramdisk or cpio buffer |
fb9a4ca9 | 79 | If unsure, say N. |
ab76f3d7 | 80 | |
3ebe1243 | 81 | config RD_XZ |
f2e8954b | 82 | bool "Support initial ramdisk/ramfs compressed using XZ" |
3ebe1243 | 83 | depends on BLK_DEV_INITRD |
ec72c666 | 84 | default y |
3ebe1243 LC |
85 | select DECOMPRESS_XZ |
86 | help | |
87 | Support loading of a XZ encoded initial ramdisk or cpio buffer. | |
88 | If unsure, say N. | |
89 | ||
cacb246f | 90 | config RD_LZO |
f2e8954b | 91 | bool "Support initial ramdisk/ramfs compressed using LZO" |
ec72c666 | 92 | default y |
cacb246f AT |
93 | depends on BLK_DEV_INITRD |
94 | select DECOMPRESS_LZO | |
95 | help | |
96 | Support loading of a LZO encoded initial ramdisk or cpio buffer | |
97 | If unsure, say N. | |
98 | ||
e76e1fdf | 99 | config RD_LZ4 |
f2e8954b | 100 | bool "Support initial ramdisk/ramfs compressed using LZ4" |
ec72c666 | 101 | default y |
e76e1fdf KL |
102 | depends on BLK_DEV_INITRD |
103 | select DECOMPRESS_LZ4 | |
104 | help | |
105 | Support loading of a LZ4 encoded initial ramdisk or cpio buffer | |
106 | If unsure, say N. | |
35e669e1 | 107 | |
db2aa7fd FBIR |
108 | choice |
109 | prompt "Built-in initramfs compression mode" | |
110 | depends on INITRAMFS_SOURCE!="" | |
111 | optional | |
112 | help | |
113 | This option allows you to decide by which algorithm the builtin | |
114 | initramfs will be compressed. Several compression algorithms are | |
115 | available, which differ in efficiency, compression and | |
116 | decompression speed. Compression speed is only relevant | |
117 | when building a kernel. Decompression speed is relevant at | |
118 | each boot. Also the memory usage during decompression may become | |
119 | relevant on memory constrained systems. This is usually based on the | |
120 | dictionary size of the algorithm with algorithms like XZ and LZMA | |
121 | featuring large dictionary sizes. | |
122 | ||
123 | High compression options are mostly useful for users who are | |
124 | low on RAM, since it reduces the memory consumption during | |
125 | boot. | |
126 | ||
127 | Keep in mind that your build system needs to provide the appropriate | |
128 | compression tool to compress the generated initram cpio file for | |
129 | embedding. | |
130 | ||
131 | If in doubt, select 'None' | |
132 | ||
133 | config INITRAMFS_COMPRESSION_NONE | |
134 | bool "None" | |
135 | help | |
136 | Do not compress the built-in initramfs at all. This may sound wasteful | |
137 | in space, but, you should be aware that the built-in initramfs will be | |
138 | compressed at a later stage anyways along with the rest of the kernel, | |
139 | on those architectures that support this. However, not compressing the | |
140 | initramfs may lead to slightly higher memory consumption during a | |
141 | short time at boot, while both the cpio image and the unpacked | |
142 | filesystem image will be present in memory simultaneously | |
143 | ||
144 | config INITRAMFS_COMPRESSION_GZIP | |
145 | bool "Gzip" | |
146 | depends on RD_GZIP | |
147 | help | |
148 | Use the old and well tested gzip compression algorithm. Gzip provides | |
149 | a good balance between compression ratio and decompression speed and | |
150 | has a reasonable compression speed. It is also more likely to be | |
151 | supported by your build system as the gzip tool is present by default | |
152 | on most distros. | |
153 | ||
154 | config INITRAMFS_COMPRESSION_BZIP2 | |
155 | bool "Bzip2" | |
156 | depends on RD_BZIP2 | |
157 | help | |
158 | It's compression ratio and speed is intermediate. Decompression speed | |
159 | is slowest among the choices. The initramfs size is about 10% smaller | |
160 | with bzip2, in comparison to gzip. Bzip2 uses a large amount of | |
161 | memory. For modern kernels you will need at least 8MB RAM or more for | |
162 | booting. | |
163 | ||
164 | If you choose this, keep in mind that you need to have the bzip2 tool | |
165 | available to be able to compress the initram. | |
166 | ||
167 | config INITRAMFS_COMPRESSION_LZMA | |
168 | bool "LZMA" | |
169 | depends on RD_LZMA | |
170 | help | |
171 | This algorithm's compression ratio is best but has a large dictionary | |
172 | size which might cause issues in memory constrained systems. | |
173 | Decompression speed is between the other choices. Compression is | |
174 | slowest. The initramfs size is about 33% smaller with LZMA in | |
175 | comparison to gzip. | |
176 | ||
177 | If you choose this, keep in mind that you may need to install the xz | |
178 | or lzma tools to be able to compress the initram. | |
179 | ||
180 | config INITRAMFS_COMPRESSION_XZ | |
181 | bool "XZ" | |
182 | depends on RD_XZ | |
183 | help | |
184 | XZ uses the LZMA2 algorithm and has a large dictionary which may cause | |
185 | problems on memory constrained systems. The initramfs size is about | |
186 | 30% smaller with XZ in comparison to gzip. Decompression speed is | |
187 | better than that of bzip2 but worse than gzip and LZO. Compression is | |
188 | slow. | |
189 | ||
190 | If you choose this, keep in mind that you may need to install the xz | |
191 | tool to be able to compress the initram. | |
192 | ||
193 | config INITRAMFS_COMPRESSION_LZO | |
194 | bool "LZO" | |
195 | depends on RD_LZO | |
196 | help | |
197 | It's compression ratio is the second poorest amongst the choices. The | |
198 | kernel size is about 10% bigger than gzip. Despite that, it's | |
199 | decompression speed is the second fastest and it's compression speed | |
200 | is quite fast too. | |
201 | ||
202 | If you choose this, keep in mind that you may need to install the lzop | |
203 | tool to be able to compress the initram. | |
204 | ||
205 | config INITRAMFS_COMPRESSION_LZ4 | |
206 | bool "LZ4" | |
207 | depends on RD_LZ4 | |
208 | help | |
209 | It's compression ratio is the poorest amongst the choices. The kernel | |
210 | size is about 15% bigger than gzip; however its decompression speed | |
211 | is the fastest. | |
212 | ||
213 | If you choose this, keep in mind that most distros don't provide lz4 | |
214 | by default which could cause a build failure. | |
215 | ||
216 | endchoice | |
217 | ||
35e669e1 | 218 | config INITRAMFS_COMPRESSION |
57ddfdaa | 219 | depends on INITRAMFS_SOURCE!="" |
35e669e1 | 220 | string |
db2aa7fd FBIR |
221 | default "" if INITRAMFS_COMPRESSION_NONE |
222 | default ".gz" if INITRAMFS_COMPRESSION_GZIP | |
223 | default ".bz2" if INITRAMFS_COMPRESSION_BZIP2 | |
224 | default ".lzma" if INITRAMFS_COMPRESSION_LZMA | |
225 | default ".xz" if INITRAMFS_COMPRESSION_XZ | |
226 | default ".lzo" if INITRAMFS_COMPRESSION_LZO | |
227 | default ".lz4" if INITRAMFS_COMPRESSION_LZ4 | |
35e669e1 FBIR |
228 | default ".gz" if RD_GZIP |
229 | default ".lz4" if RD_LZ4 | |
230 | default ".lzo" if RD_LZO | |
231 | default ".xz" if RD_XZ | |
232 | default ".lzma" if RD_LZMA | |
233 | default ".bz2" if RD_BZIP2 | |
234 | default "" |