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