^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 ROMFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate "ROM file system support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) depends on BLOCK || MTD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) This is a very small read-only file system mainly intended for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) initial ram disks of installation disks, but it could be used for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) other read-only media as well. Read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) <file:Documentation/filesystems/romfs.rst> for details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) To compile this file system support as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) module will be called romfs. Note that the file system of your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) root partition (the one containing the directory /) cannot be a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) module.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) If you don't know whether you need it, then you don't need it:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) answer N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) # Select the backing stores to be supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) choice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) prompt "RomFS backing stores"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) depends on ROMFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) default ROMFS_BACKED_BY_BLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Select the backing stores to be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) config ROMFS_BACKED_BY_BLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) bool "Block device-backed ROM file system support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) depends on BLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) This permits ROMFS to use block devices buffered through the page
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) cache as the medium from which to retrieve data. It does not allow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) direct mapping of the medium.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) If unsure, answer Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) config ROMFS_BACKED_BY_MTD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) bool "MTD-backed ROM file system support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) depends on MTD=y || (ROMFS_FS=m && MTD)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) This permits ROMFS to use MTD based devices directly, without the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) intercession of the block layer (which may have been disabled). It
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) also allows direct mapping of MTD devices through romfs files under
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) NOMMU conditions if the underlying device is directly addressable by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) the CPU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) If unsure, answer Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) config ROMFS_BACKED_BY_BOTH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) bool "Both the above"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) depends on BLOCK && (MTD=y || (ROMFS_FS=m && MTD))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) endchoice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) config ROMFS_ON_BLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) default y if ROMFS_BACKED_BY_BLOCK || ROMFS_BACKED_BY_BOTH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) config ROMFS_ON_MTD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) default y if ROMFS_BACKED_BY_MTD || ROMFS_BACKED_BY_BOTH