230 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			230 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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
 | |
| 	  Its compression ratio is the second poorest amongst the choices. The
 | |
| 	  kernel size is about 10% bigger than gzip. Despite that, its
 | |
| 	  decompression speed is the second fastest and its 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
 |