forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
7.7 KiB
229 lines
7.7 KiB
# SPDX-License-Identifier: GPL-2.0 |
|
# |
|
# Configuration for initramfs |
|
# |
|
|
|
config INITRAMFS_SOURCE |
|
string "Initramfs source file(s)" |
|
default "" |
|
help |
|
This can be either a single cpio archive with a .cpio suffix or a |
|
space-separated list of directories and files for building the |
|
initramfs image. A cpio archive should contain a filesystem archive |
|
to be used as an initramfs image. Directories should contain a |
|
filesystem layout to be included in the initramfs image. Files |
|
should contain entries according to the format described by the |
|
"usr/gen_init_cpio" program in the kernel tree. |
|
|
|
When multiple directories and files are specified then the |
|
initramfs image will be the aggregate of all of them. |
|
|
|
See <file:Documentation/driver-api/early-userspace/early_userspace_support.rst> for more details. |
|
|
|
If you are not sure, leave it blank. |
|
|
|
config INITRAMFS_FORCE |
|
bool "Ignore the initramfs passed by the bootloader" |
|
depends on CMDLINE_EXTEND || CMDLINE_FORCE |
|
help |
|
This option causes the kernel to ignore the initramfs image |
|
(or initrd image) passed to it by the bootloader. This is |
|
analogous to CMDLINE_FORCE, which is found on some architectures, |
|
and is useful if you cannot or don't want to change the image |
|
your bootloader passes to the kernel. |
|
|
|
config INITRAMFS_ROOT_UID |
|
int "User ID to map to 0 (user root)" |
|
depends on INITRAMFS_SOURCE!="" |
|
default "0" |
|
help |
|
If INITRAMFS_SOURCE points to a directory, files owned by this UID |
|
(-1 = current user) will be owned by root in the resulting image. |
|
|
|
If you are not sure, leave it set to "0". |
|
|
|
config INITRAMFS_ROOT_GID |
|
int "Group ID to map to 0 (group root)" |
|
depends on INITRAMFS_SOURCE!="" |
|
default "0" |
|
help |
|
If INITRAMFS_SOURCE points to a directory, files owned by this GID |
|
(-1 = current group) will be owned by root in the resulting image. |
|
|
|
If you are not sure, leave it set to "0". |
|
|
|
config RD_GZIP |
|
bool "Support initial ramdisk/ramfs compressed using gzip" |
|
default y |
|
select DECOMPRESS_GZIP |
|
help |
|
Support loading of a gzip encoded initial ramdisk or cpio buffer. |
|
If unsure, say Y. |
|
|
|
config RD_BZIP2 |
|
bool "Support initial ramdisk/ramfs compressed using bzip2" |
|
default y |
|
select DECOMPRESS_BZIP2 |
|
help |
|
Support loading of a bzip2 encoded initial ramdisk or cpio buffer |
|
If unsure, say N. |
|
|
|
config RD_LZMA |
|
bool "Support initial ramdisk/ramfs compressed using LZMA" |
|
default y |
|
select DECOMPRESS_LZMA |
|
help |
|
Support loading of a LZMA encoded initial ramdisk or cpio buffer |
|
If unsure, say N. |
|
|
|
config RD_XZ |
|
bool "Support initial ramdisk/ramfs compressed using XZ" |
|
default y |
|
select DECOMPRESS_XZ |
|
help |
|
Support loading of a XZ encoded initial ramdisk or cpio buffer. |
|
If unsure, say N. |
|
|
|
config RD_LZO |
|
bool "Support initial ramdisk/ramfs compressed using LZO" |
|
default y |
|
select DECOMPRESS_LZO |
|
help |
|
Support loading of a LZO encoded initial ramdisk or cpio buffer |
|
If unsure, say N. |
|
|
|
config RD_LZ4 |
|
bool "Support initial ramdisk/ramfs compressed using LZ4" |
|
default y |
|
select DECOMPRESS_LZ4 |
|
help |
|
Support loading of a LZ4 encoded initial ramdisk or cpio buffer |
|
If unsure, say N. |
|
|
|
config RD_ZSTD |
|
bool "Support initial ramdisk/ramfs compressed using ZSTD" |
|
default y |
|
select DECOMPRESS_ZSTD |
|
help |
|
Support loading of a ZSTD encoded initial ramdisk or cpio buffer. |
|
If unsure, say N. |
|
|
|
choice |
|
prompt "Built-in initramfs compression mode" |
|
depends on INITRAMFS_SOURCE != "" |
|
help |
|
This option allows you to decide by which algorithm the builtin |
|
initramfs will be compressed. Several compression algorithms are |
|
available, which differ in efficiency, compression and |
|
decompression speed. Compression speed is only relevant |
|
when building a kernel. Decompression speed is relevant at |
|
each boot. Also the memory usage during decompression may become |
|
relevant on memory constrained systems. This is usually based on the |
|
dictionary size of the algorithm with algorithms like XZ and LZMA |
|
featuring large dictionary sizes. |
|
|
|
High compression options are mostly useful for users who are |
|
low on RAM, since it reduces the memory consumption during |
|
boot. |
|
|
|
Keep in mind that your build system needs to provide the appropriate |
|
compression tool to compress the generated initram cpio file for |
|
embedding. |
|
|
|
If in doubt, select 'None' |
|
|
|
config INITRAMFS_COMPRESSION_GZIP |
|
bool "Gzip" |
|
depends on RD_GZIP |
|
help |
|
Use the old and well tested gzip compression algorithm. Gzip provides |
|
a good balance between compression ratio and decompression speed and |
|
has a reasonable compression speed. It is also more likely to be |
|
supported by your build system as the gzip tool is present by default |
|
on most distros. |
|
|
|
config INITRAMFS_COMPRESSION_BZIP2 |
|
bool "Bzip2" |
|
depends on RD_BZIP2 |
|
help |
|
It's compression ratio and speed is intermediate. Decompression speed |
|
is slowest among the choices. The initramfs size is about 10% smaller |
|
with bzip2, in comparison to gzip. Bzip2 uses a large amount of |
|
memory. For modern kernels you will need at least 8MB RAM or more for |
|
booting. |
|
|
|
If you choose this, keep in mind that you need to have the bzip2 tool |
|
available to be able to compress the initram. |
|
|
|
config INITRAMFS_COMPRESSION_LZMA |
|
bool "LZMA" |
|
depends on RD_LZMA |
|
help |
|
This algorithm's compression ratio is best but has a large dictionary |
|
size which might cause issues in memory constrained systems. |
|
Decompression speed is between the other choices. Compression is |
|
slowest. The initramfs size is about 33% smaller with LZMA in |
|
comparison to gzip. |
|
|
|
If you choose this, keep in mind that you may need to install the xz |
|
or lzma tools to be able to compress the initram. |
|
|
|
config INITRAMFS_COMPRESSION_XZ |
|
bool "XZ" |
|
depends on RD_XZ |
|
help |
|
XZ uses the LZMA2 algorithm and has a large dictionary which may cause |
|
problems on memory constrained systems. The initramfs size is about |
|
30% smaller with XZ in comparison to gzip. Decompression speed is |
|
better than that of bzip2 but worse than gzip and LZO. Compression is |
|
slow. |
|
|
|
If you choose this, keep in mind that you may need to install the xz |
|
tool to be able to compress the initram. |
|
|
|
config INITRAMFS_COMPRESSION_LZO |
|
bool "LZO" |
|
depends on RD_LZO |
|
help |
|
It's compression ratio is the second poorest amongst the choices. The |
|
kernel size is about 10% bigger than gzip. Despite that, it's |
|
decompression speed is the second fastest and it's compression speed |
|
is quite fast too. |
|
|
|
If you choose this, keep in mind that you may need to install the lzop |
|
tool to be able to compress the initram. |
|
|
|
config INITRAMFS_COMPRESSION_LZ4 |
|
bool "LZ4" |
|
depends on RD_LZ4 |
|
help |
|
It's compression ratio is the poorest amongst the choices. The kernel |
|
size is about 15% bigger than gzip; however its decompression speed |
|
is the fastest. |
|
|
|
If you choose this, keep in mind that most distros don't provide lz4 |
|
by default which could cause a build failure. |
|
|
|
config INITRAMFS_COMPRESSION_ZSTD |
|
bool "ZSTD" |
|
depends on RD_ZSTD |
|
help |
|
ZSTD is a compression algorithm targeting intermediate compression |
|
with fast decompression speed. It will compress better than GZIP and |
|
decompress around the same speed as LZO, but slower than LZ4. |
|
|
|
If you choose this, keep in mind that you may need to install the zstd |
|
tool to be able to compress the initram. |
|
|
|
config INITRAMFS_COMPRESSION_NONE |
|
bool "None" |
|
help |
|
Do not compress the built-in initramfs at all. This may sound wasteful |
|
in space, but, you should be aware that the built-in initramfs will be |
|
compressed at a later stage anyways along with the rest of the kernel, |
|
on those architectures that support this. However, not compressing the |
|
initramfs may lead to slightly higher memory consumption during a |
|
short time at boot, while both the cpio image and the unpacked |
|
filesystem image will be present in memory simultaneously |
|
|
|
endchoice
|
|
|