blob: 83e4185ea7514febf103ba6d49152bef1538a6ab [file] [log] [blame]
# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2020 Nordic Semiconductor (ASA)
# SPDX-License-Identifier: Apache-2.0
menu "File Systems"
config FILE_SYSTEM_LIB_LINK
bool "Link file system libraries into build"
help
Link in the underlying file system libraries. This can be
enabled without CONFIG_FILE_SYSTEM to enable applications
to work directly with the underlying file system libraries.
This can be useful to avoid linking in the entire filesystem
implementation via `struct fs_file_system_t` if only a subset
is used.
config FILE_SYSTEM
bool "File system support"
select FILE_SYSTEM_LIB_LINK
help
Enables support for file system.
if FILE_SYSTEM
module = FS
module-str = fs
source "subsys/logging/Kconfig.template.log_config"
config APP_LINK_WITH_FS
bool "Link 'app' with FS"
default y
help
Add FS header files to the 'app' include path. It may be
disabled if the include paths for FS are causing aliasing
issues for 'app'.
config FILE_SYSTEM_MAX_TYPES
int "Maximum number of distinct file system types allowed"
default 2
help
Zephyr provides several file system types including FatFS and
LittleFS, but it is possible to define additional ones and
register them. A slot is required for each type.
config FILE_SYSTEM_MAX_FILE_NAME
int "Optional override for maximum file name length"
default -1
help
Specify the maximum file name allowed across all enabled file
system types. Zero or a negative value selects the maximum
file name length for enabled in-tree file systems. This
default may be inappropriate when registering an out-of-tree
file system. Selecting a value less than the actual length
supported by a file system may result in memory access
violations.
config FILE_SYSTEM_INIT_PRIORITY
int "File system initialization priority"
default 99
help
Specify the initialization priority for file systems. In case
automount is enabled, the initialization should be done after
the underlying storage device is initialized.
config FILE_SYSTEM_SHELL
bool "File system shell"
depends on SHELL
depends on HEAP_MEM_POOL_SIZE > 0
help
This shell provides basic browsing of the contents of the
file system.
if FILE_SYSTEM_SHELL
config FILE_SYSTEM_SHELL_TEST_COMMANDS
bool "File system shell read/write/erase test commands"
select CBPRINTF_FP_SUPPORT
help
Enable additional file system shell commands for performing
read/write/erase tests with speed output.
config FILE_SYSTEM_SHELL_BUFFER_SIZE
hex "File system shell buffer size"
depends on FILE_SYSTEM_SHELL_TEST_COMMANDS
default 0x100
range 0x20 0x1000000
help
Size of the buffer used for file system commands, will determine the
maximum size that can be used with a read/write test. Note that this
is used on the stack.
endif # FILE_SYSTEM_SHELL
config FILE_SYSTEM_MKFS
bool "Allow to format file system"
help
Enables function fs_mkfs that can be used to format a storage device.
config FUSE_FS_ACCESS
bool "FUSE based access to file system partitions"
depends on ARCH_POSIX
help
Expose file system partitions to the host system through FUSE.
rsource "Kconfig.fatfs"
rsource "Kconfig.littlefs"
rsource "ext2/Kconfig"
endif # FILE_SYSTEM
rsource "fcb/Kconfig"
rsource "nvs/Kconfig"
rsource "zms/Kconfig"
endmenu