1# Copyright (c) 2016 Intel Corporation 2# Copyright (c) 2020 Nordic Semiconductor (ASA) 3# SPDX-License-Identifier: Apache-2.0 4 5menu "File Systems" 6 7config FILE_SYSTEM 8 bool "File system support" 9 help 10 Enables support for file system. 11 12if FILE_SYSTEM 13 14module = FS 15module-str = fs 16source "subsys/logging/Kconfig.template.log_config" 17 18config APP_LINK_WITH_FS 19 bool "Link 'app' with FS" 20 default y 21 help 22 Add FS header files to the 'app' include path. It may be 23 disabled if the include paths for FS are causing aliasing 24 issues for 'app'. 25 26config FILE_SYSTEM_MAX_TYPES 27 int "Maximum number of distinct file system types allowed" 28 default 2 29 help 30 Zephyr provides several file system types including FatFS and 31 LittleFS, but it is possible to define additional ones and 32 register them. A slot is required for each type. 33 34config FILE_SYSTEM_MAX_FILE_NAME 35 int "Optional override for maximum file name length" 36 default -1 37 help 38 Specify the maximum file name allowed across all enabled file 39 system types. Zero or a negative value selects the maximum 40 file name length for enabled in-tree file systems. This 41 default may be inappropriate when registering an out-of-tree 42 file system. Selecting a value less than the actual length 43 supported by a file system may result in memory access 44 violations. 45 46config FILE_SYSTEM_INIT_PRIORITY 47 int "File system initialization priority" 48 default 99 49 help 50 Specify the initialization priority for file systems. In case 51 automount is enabled, the initialization should be done after 52 the underlying storage device is initialized. 53 54config FILE_SYSTEM_SHELL 55 bool "File system shell" 56 depends on SHELL 57 depends on HEAP_MEM_POOL_SIZE > 0 58 help 59 This shell provides basic browsing of the contents of the 60 file system. 61 62if FILE_SYSTEM_SHELL 63 64config FILE_SYSTEM_SHELL_TEST_COMMANDS 65 bool "File system shell read/write/erase test commands" 66 select CBPRINTF_FP_SUPPORT 67 help 68 Enable additional file system shell commands for performing 69 read/write/erase tests with speed output. 70 71config FILE_SYSTEM_SHELL_BUFFER_SIZE 72 hex "File system shell buffer size" 73 depends on FILE_SYSTEM_SHELL_TEST_COMMANDS 74 default 0x100 75 range 0x20 0x1000000 76 help 77 Size of the buffer used for file system commands, will determine the 78 maximum size that can be used with a read/write test. Note that this 79 is is used on the stack. 80 81endif # FILE_SYSTEM_SHELL 82 83config FILE_SYSTEM_MKFS 84 bool "Allow to format file system" 85 help 86 Enables function fs_mkfs that can be used to format a storage device. 87 88config FUSE_FS_ACCESS 89 bool "FUSE based access to file system partitions" 90 depends on ARCH_POSIX 91 help 92 Expose file system partitions to the host system through FUSE. 93 94rsource "Kconfig.fatfs" 95rsource "Kconfig.littlefs" 96rsource "ext2/Kconfig" 97 98endif # FILE_SYSTEM 99 100rsource "fcb/Kconfig" 101rsource "nvs/Kconfig" 102 103endmenu 104