xref: /kernel/linux/linux-6.6/fs/romfs/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig ROMFS_FS
362306a36Sopenharmony_ci	tristate "ROM file system support"
462306a36Sopenharmony_ci	depends on BLOCK || MTD
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  This is a very small read-only file system mainly intended for
762306a36Sopenharmony_ci	  initial ram disks of installation disks, but it could be used for
862306a36Sopenharmony_ci	  other read-only media as well.  Read
962306a36Sopenharmony_ci	  <file:Documentation/filesystems/romfs.rst> for details.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	  To compile this file system support as a module, choose M here: the
1262306a36Sopenharmony_ci	  module will be called romfs.  Note that the file system of your
1362306a36Sopenharmony_ci	  root partition (the one containing the directory /) cannot be a
1462306a36Sopenharmony_ci	  module.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	  If you don't know whether you need it, then you don't need it:
1762306a36Sopenharmony_ci	  answer N.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#
2062306a36Sopenharmony_ci# Select the backing stores to be supported
2162306a36Sopenharmony_ci#
2262306a36Sopenharmony_cichoice
2362306a36Sopenharmony_ci	prompt "RomFS backing stores"
2462306a36Sopenharmony_ci	depends on ROMFS_FS
2562306a36Sopenharmony_ci	default ROMFS_BACKED_BY_BLOCK
2662306a36Sopenharmony_ci	help
2762306a36Sopenharmony_ci	  Select the backing stores to be supported.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig ROMFS_BACKED_BY_BLOCK
3062306a36Sopenharmony_ci	bool "Block device-backed ROM file system support"
3162306a36Sopenharmony_ci	depends on BLOCK
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  This permits ROMFS to use block devices buffered through the page
3462306a36Sopenharmony_ci	  cache as the medium from which to retrieve data.  It does not allow
3562306a36Sopenharmony_ci	  direct mapping of the medium.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	  If unsure, answer Y.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig ROMFS_BACKED_BY_MTD
4062306a36Sopenharmony_ci	bool "MTD-backed ROM file system support"
4162306a36Sopenharmony_ci	depends on MTD=y || (ROMFS_FS=m && MTD)
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  This permits ROMFS to use MTD based devices directly, without the
4462306a36Sopenharmony_ci	  intercession of the block layer (which may have been disabled).  It
4562306a36Sopenharmony_ci	  also allows direct mapping of MTD devices through romfs files under
4662306a36Sopenharmony_ci	  NOMMU conditions if the underlying device is directly addressable by
4762306a36Sopenharmony_ci	  the CPU.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	  If unsure, answer Y.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig ROMFS_BACKED_BY_BOTH
5262306a36Sopenharmony_ci	bool "Both the above"
5362306a36Sopenharmony_ci	depends on BLOCK && (MTD=y || (ROMFS_FS=m && MTD))
5462306a36Sopenharmony_ciendchoice
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig ROMFS_ON_BLOCK
5862306a36Sopenharmony_ci	bool
5962306a36Sopenharmony_ci	default y if ROMFS_BACKED_BY_BLOCK || ROMFS_BACKED_BY_BOTH
6062306a36Sopenharmony_ci	select BUFFER_HEAD
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig ROMFS_ON_MTD
6362306a36Sopenharmony_ci	bool
6462306a36Sopenharmony_ci	default y if ROMFS_BACKED_BY_MTD || ROMFS_BACKED_BY_BOTH
65