Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
config CONFIG_UBIFS_FS
	tristate "UBIFS file system support"
	select CONFIG_CRC16
	select CONFIG_CRC32
	select CONFIG_CRYPTO if CONFIG_UBIFS_FS_ADVANCED_COMPR
	select CONFIG_CRYPTO if CONFIG_UBIFS_FS_LZO
	select CONFIG_CRYPTO if CONFIG_UBIFS_FS_ZLIB
	select CONFIG_CRYPTO if CONFIG_UBIFS_FS_ZSTD
	select CONFIG_CRYPTO_LZO if CONFIG_UBIFS_FS_LZO
	select CONFIG_CRYPTO_DEFLATE if CONFIG_UBIFS_FS_ZLIB
	select CONFIG_CRYPTO_ZSTD if CONFIG_UBIFS_FS_ZSTD
	select CONFIG_CRYPTO_HASH_INFO
	select CONFIG_UBIFS_FS_XATTR if CONFIG_FS_ENCRYPTION
	depends on CONFIG_MTD_UBI
	help
	  UBIFS is a file system for flash devices which works on top of UBI.

if CONFIG_UBIFS_FS

config CONFIG_UBIFS_FS_ADVANCED_COMPR
	bool "Advanced compression options"
	help
	  This option allows to explicitly choose which compressions, if any,
	  are enabled in UBIFS. Removing compressors means inability to read
	  existing file systems.

	  If unsure, say 'N'.

config CONFIG_UBIFS_FS_LZO
	bool "LZO compression support" if CONFIG_UBIFS_FS_ADVANCED_COMPR
	default y
	help
	   LZO compressor is generally faster than zlib but compresses worse.
	   Say 'Y' if unsure.

config CONFIG_UBIFS_FS_ZLIB
	bool "ZLIB compression support" if CONFIG_UBIFS_FS_ADVANCED_COMPR
	default y
	help
	  Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.

config CONFIG_UBIFS_FS_ZSTD
	bool "ZSTD compression support" if CONFIG_UBIFS_FS_ADVANCED_COMPR
	depends on CONFIG_UBIFS_FS
	default y
	help
	  ZSTD compresses is a big win in speed over Zlib and
	  in compression ratio over LZO. Say 'Y' if unsure.

config CONFIG_UBIFS_ATIME_SUPPORT
	bool "Access time support"
	default n
	help
	  Originally UBIFS did not support atime, because it looked like a bad idea due
	  increased flash wear. This option adds atime support and it is disabled by default
	  to preserve the old behavior. If you enable this option, UBIFS starts updating atime,
	  which means that file-system read operations will cause writes (inode atime
	  updates). This may affect file-system performance and increase flash device wear,
	  so be careful. How often atime is updated depends on the selected strategy:
	  strictatime is the "heavy", relatime is "lighter", etc.

	  If unsure, say 'N'

config CONFIG_UBIFS_FS_XATTR
	bool "UBIFS XATTR support"
	default y
	help
	  Saying Y here includes support for extended attributes (xattrs).
	  Xattrs are name:value pairs associated with inodes by
	  the kernel or by users (see the attr(5) manual page).

	  If unsure, say Y.

config CONFIG_UBIFS_FS_SECURITY
	bool "UBIFS Security Labels"
	depends on CONFIG_UBIFS_FS_XATTR
	default y
	help
	  Security labels provide an access control facility to support Linux
	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
	  Linux. This option enables an extended attribute handler for file
	  security labels in the ubifs filesystem, so that it requires enabling
	  the extended attribute support in advance.

	  If you are not using a security module, say N.

config CONFIG_UBIFS_FS_AUTHENTICATION
	bool "UBIFS authentication support"
	select CONFIG_KEYS
	select CONFIG_CRYPTO_HMAC
	select CONFIG_SYSTEM_DATA_VERIFICATION
	help
	  Enable authentication support for UBIFS. This feature offers protection
	  against offline changes for both data and metadata of the filesystem.
	  If you say yes here you should also select a hashing algorithm such as
	  sha256, these are not selected automatically since there are many
	  different options.

endif # CONFIG_UBIFS_FS