^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config UBIFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate "UBIFS file system support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) select CRC16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) select CRYPTO if UBIFS_FS_ADVANCED_COMPR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select CRYPTO if UBIFS_FS_LZO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select CRYPTO if UBIFS_FS_ZLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select CRYPTO if UBIFS_FS_ZSTD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) select CRYPTO_LZO if UBIFS_FS_LZO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) select CRYPTO_ZSTD if UBIFS_FS_ZSTD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) select CRYPTO_HASH_INFO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) select UBIFS_FS_XATTR if FS_ENCRYPTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) depends on MTD_UBI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) UBIFS is a file system for flash devices which works on top of UBI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) if UBIFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) config UBIFS_FS_ADVANCED_COMPR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) bool "Advanced compression options"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) This option allows to explicitly choose which compressions, if any,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) are enabled in UBIFS. Removing compressors means inability to read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) existing file systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) If unsure, say 'N'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) config UBIFS_FS_LZO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) LZO compressor is generally faster than zlib but compresses worse.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Say 'Y' if unsure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) config UBIFS_FS_ZLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) config UBIFS_FS_ZSTD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) bool "ZSTD compression support" if UBIFS_FS_ADVANCED_COMPR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) depends on UBIFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) ZSTD compresses is a big win in speed over Zlib and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) in compression ratio over LZO. Say 'Y' if unsure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) config UBIFS_ATIME_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) bool "Access time support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Originally UBIFS did not support atime, because it looked like a bad idea due
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) increased flash wear. This option adds atime support and it is disabled by default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) to preserve the old behavior. If you enable this option, UBIFS starts updating atime,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) which means that file-system read operations will cause writes (inode atime
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) updates). This may affect file-system performance and increase flash device wear,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) so be careful. How often atime is updated depends on the selected strategy:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) strictatime is the "heavy", relatime is "lighter", etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) If unsure, say 'N'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) config UBIFS_FS_XATTR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) bool "UBIFS XATTR support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Saying Y here includes support for extended attributes (xattrs).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Xattrs are name:value pairs associated with inodes by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) the kernel or by users (see the attr(5) manual page).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) config UBIFS_FS_SECURITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) bool "UBIFS Security Labels"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) depends on UBIFS_FS_XATTR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Security labels provide an access control facility to support Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) Linux. This option enables an extended attribute handler for file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) security labels in the ubifs filesystem, so that it requires enabling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) the extended attribute support in advance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) If you are not using a security module, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) config UBIFS_FS_AUTHENTICATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) bool "UBIFS authentication support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) select KEYS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) select CRYPTO_HMAC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) select SYSTEM_DATA_VERIFICATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) Enable authentication support for UBIFS. This feature offers protection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) against offline changes for both data and metadata of the filesystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) If you say yes here you should also select a hashing algorithm such as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) sha256, these are not selected automatically since there are many
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) different options.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) endif # UBIFS_FS