Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

menu "File Systems"

config FILE_SYSTEM
	bool "File system support"
	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 FAT_FILESYSTEM_ELM
	bool "ELM FAT File System"
	select DISK_ACCESS
	help
	  Use the ELM FAT File system implementation.

config FILE_SYSTEM_NFFS
	bool "NFFS file system support"
	depends on FLASH_PAGE_LAYOUT
	help
	  Enables NFFS file system support.
	  Note: NFFS requires 1-byte unaligned access to flash thus it
	  will not work on devices that support only aligned flash access.

config FILE_SYSTEM_LITTLEFS
	bool "LittleFS file system support"
	depends on FLASH_MAP
	depends on FLASH_PAGE_LAYOUT
	help
	  Enables LittleFS file system support.

config FILE_SYSTEM_SHELL
	bool "Enable 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.

config FUSE_FS_ACCESS
	bool "Enable FUSE based access to file system partitions"
	depends on ARCH_POSIX
	help
	  Expose file system partitions to the host system through FUSE.

menu "FatFs Settings"
	visible if FAT_FILESYSTEM_ELM

config FS_FATFS_NUM_FILES
	int "Maximum number of opened files"
	default 4

config FS_FATFS_NUM_DIRS
	int "Maximum number of opened directories"
	default 4
endmenu

menu "NFFS Settings"
	visible if FILE_SYSTEM_NFFS

config FS_NFFS_FLASH_DEV_NAME
	string "Flash device name to be used"

config FS_NFFS_NUM_INODES
	int "Maximum number of inodes"
	range 1 32768
	default 100

config FS_NFFS_NUM_BLOCKS
	int "Maximum number of blocks"
	range 1 32768
	default 100

config FS_NFFS_NUM_FILES
	int "Maximum number of opened files"
	range 1 256
	default 4

config FS_NFFS_NUM_DIRS
	int "Maximum number of opened directories"
	range 1 256
	default 4

config FS_NFFS_NUM_CACHE_INODES
	int "Number of cached files' inodes"
	range 1 512
	default 4

config FS_NFFS_NUM_CACHE_BLOCKS
	int "Number of cached blocks"
	range 1 512
	default 64

config NFFS_FILESYSTEM_MAX_AREAS
        int "Maximum number of areas"
        range 2 64
        default 8
        help
          This defines maximum number of areas located on flash. Each area can
          be erased without affecting other areas thus the size of area can
          affect performance of GC where single area has to be rewritten.
          At least one scratch and one non-scratch area is required.

config NFFS_FILESYSTEM_MAX_BLOCK_SIZE
        int "Maximum block size"
        range 16 2048
        default 2048
        help
          This determines the maximum size of data block written to flash.
          Writes larger than this size are split into multiple write operations.

endmenu

endif # FILE_SYSTEM

source "subsys/fs/Kconfig.littlefs"
source "subsys/fs/fcb/Kconfig"
source "subsys/fs/nvs/Kconfig"

endmenu