162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig UBIFS_FS 362306a36Sopenharmony_ci tristate "UBIFS file system support" 462306a36Sopenharmony_ci select CRC16 562306a36Sopenharmony_ci select CRC32 662306a36Sopenharmony_ci select CRYPTO if UBIFS_FS_ADVANCED_COMPR 762306a36Sopenharmony_ci select CRYPTO if UBIFS_FS_LZO 862306a36Sopenharmony_ci select CRYPTO if UBIFS_FS_ZLIB 962306a36Sopenharmony_ci select CRYPTO if UBIFS_FS_ZSTD 1062306a36Sopenharmony_ci select CRYPTO_LZO if UBIFS_FS_LZO 1162306a36Sopenharmony_ci select CRYPTO_DEFLATE if UBIFS_FS_ZLIB 1262306a36Sopenharmony_ci select CRYPTO_ZSTD if UBIFS_FS_ZSTD 1362306a36Sopenharmony_ci select CRYPTO_HASH_INFO 1462306a36Sopenharmony_ci select UBIFS_FS_XATTR if FS_ENCRYPTION 1562306a36Sopenharmony_ci select FS_ENCRYPTION_ALGS if FS_ENCRYPTION 1662306a36Sopenharmony_ci depends on MTD_UBI 1762306a36Sopenharmony_ci help 1862306a36Sopenharmony_ci UBIFS is a file system for flash devices which works on top of UBI. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciif UBIFS_FS 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciconfig UBIFS_FS_ADVANCED_COMPR 2362306a36Sopenharmony_ci bool "Advanced compression options" 2462306a36Sopenharmony_ci help 2562306a36Sopenharmony_ci This option allows to explicitly choose which compressions, if any, 2662306a36Sopenharmony_ci are enabled in UBIFS. Removing compressors means inability to read 2762306a36Sopenharmony_ci existing file systems. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci If unsure, say 'N'. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciconfig UBIFS_FS_LZO 3262306a36Sopenharmony_ci bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR 3362306a36Sopenharmony_ci default y 3462306a36Sopenharmony_ci help 3562306a36Sopenharmony_ci LZO compressor is generally faster than zlib but compresses worse. 3662306a36Sopenharmony_ci Say 'Y' if unsure. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig UBIFS_FS_ZLIB 3962306a36Sopenharmony_ci bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR 4062306a36Sopenharmony_ci default y 4162306a36Sopenharmony_ci help 4262306a36Sopenharmony_ci Zlib compresses better than LZO but it is slower. Say 'Y' if unsure. 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciconfig UBIFS_FS_ZSTD 4562306a36Sopenharmony_ci bool "ZSTD compression support" if UBIFS_FS_ADVANCED_COMPR 4662306a36Sopenharmony_ci depends on UBIFS_FS 4762306a36Sopenharmony_ci default y 4862306a36Sopenharmony_ci help 4962306a36Sopenharmony_ci ZSTD compresses is a big win in speed over Zlib and 5062306a36Sopenharmony_ci in compression ratio over LZO. Say 'Y' if unsure. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ciconfig UBIFS_ATIME_SUPPORT 5362306a36Sopenharmony_ci bool "Access time support" 5462306a36Sopenharmony_ci default n 5562306a36Sopenharmony_ci help 5662306a36Sopenharmony_ci Originally UBIFS did not support atime, because it looked like a bad idea due 5762306a36Sopenharmony_ci increased flash wear. This option adds atime support and it is disabled by default 5862306a36Sopenharmony_ci to preserve the old behavior. If you enable this option, UBIFS starts updating atime, 5962306a36Sopenharmony_ci which means that file-system read operations will cause writes (inode atime 6062306a36Sopenharmony_ci updates). This may affect file-system performance and increase flash device wear, 6162306a36Sopenharmony_ci so be careful. How often atime is updated depends on the selected strategy: 6262306a36Sopenharmony_ci strictatime is the "heavy", relatime is "lighter", etc. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci If unsure, say 'N' 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig UBIFS_FS_XATTR 6762306a36Sopenharmony_ci bool "UBIFS XATTR support" 6862306a36Sopenharmony_ci default y 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci Saying Y here includes support for extended attributes (xattrs). 7162306a36Sopenharmony_ci Xattrs are name:value pairs associated with inodes by 7262306a36Sopenharmony_ci the kernel or by users (see the attr(5) manual page). 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci If unsure, say Y. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ciconfig UBIFS_FS_SECURITY 7762306a36Sopenharmony_ci bool "UBIFS Security Labels" 7862306a36Sopenharmony_ci depends on UBIFS_FS_XATTR 7962306a36Sopenharmony_ci default y 8062306a36Sopenharmony_ci help 8162306a36Sopenharmony_ci Security labels provide an access control facility to support Linux 8262306a36Sopenharmony_ci Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO 8362306a36Sopenharmony_ci Linux. This option enables an extended attribute handler for file 8462306a36Sopenharmony_ci security labels in the ubifs filesystem, so that it requires enabling 8562306a36Sopenharmony_ci the extended attribute support in advance. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci If you are not using a security module, say N. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ciconfig UBIFS_FS_AUTHENTICATION 9062306a36Sopenharmony_ci bool "UBIFS authentication support" 9162306a36Sopenharmony_ci select KEYS 9262306a36Sopenharmony_ci select CRYPTO_HMAC 9362306a36Sopenharmony_ci select SYSTEM_DATA_VERIFICATION 9462306a36Sopenharmony_ci help 9562306a36Sopenharmony_ci Enable authentication support for UBIFS. This feature offers protection 9662306a36Sopenharmony_ci against offline changes for both data and metadata of the filesystem. 9762306a36Sopenharmony_ci If you say yes here you should also select a hashing algorithm such as 9862306a36Sopenharmony_ci sha256, these are not selected automatically since there are many 9962306a36Sopenharmony_ci different options. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciendif # UBIFS_FS 102