xref: /kernel/linux/linux-5.10/fs/fat/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig FAT_FS
38c2ecf20Sopenharmony_ci	tristate
48c2ecf20Sopenharmony_ci	select NLS
58c2ecf20Sopenharmony_ci	help
68c2ecf20Sopenharmony_ci	  If you want to use one of the FAT-based file systems (the MS-DOS and
78c2ecf20Sopenharmony_ci	  VFAT (Windows 95) file systems), then you must say Y or M here
88c2ecf20Sopenharmony_ci	  to include FAT support. You will then be able to mount partitions or
98c2ecf20Sopenharmony_ci	  diskettes with FAT-based file systems and transparently access the
108c2ecf20Sopenharmony_ci	  files on them, i.e. MSDOS files will look and behave just like all
118c2ecf20Sopenharmony_ci	  other Unix files.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	  This FAT support is not a file system in itself, it only provides
148c2ecf20Sopenharmony_ci	  the foundation for the other file systems. You will have to say Y or
158c2ecf20Sopenharmony_ci	  M to at least one of "MSDOS fs support" or "VFAT fs support" in
168c2ecf20Sopenharmony_ci	  order to make use of it.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	  Another way to read and write MSDOS floppies and hard drive
198c2ecf20Sopenharmony_ci	  partitions from within Linux (but not transparently) is with the
208c2ecf20Sopenharmony_ci	  mtools ("man mtools") program suite. You don't need to say Y here in
218c2ecf20Sopenharmony_ci	  order to do that.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	  If you need to move large files on floppies between a DOS and a
248c2ecf20Sopenharmony_ci	  Linux box, say Y here, mount the floppy under Linux with an MSDOS
258c2ecf20Sopenharmony_ci	  file system and use GNU tar's M option. GNU tar is a program
268c2ecf20Sopenharmony_ci	  available for Unix and DOS ("man tar" or "info tar").
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	  The FAT support will enlarge your kernel by about 37 KB. If unsure,
298c2ecf20Sopenharmony_ci	  say Y.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  To compile this as a module, choose M here: the module will be called
328c2ecf20Sopenharmony_ci	  fat.  Note that if you compile the FAT support as a module, you
338c2ecf20Sopenharmony_ci	  cannot compile any of the FAT-based file systems into the kernel
348c2ecf20Sopenharmony_ci	  -- they will have to be modules as well.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig MSDOS_FS
378c2ecf20Sopenharmony_ci	tristate "MSDOS fs support"
388c2ecf20Sopenharmony_ci	select FAT_FS
398c2ecf20Sopenharmony_ci	help
408c2ecf20Sopenharmony_ci	  This allows you to mount MSDOS partitions of your hard drive (unless
418c2ecf20Sopenharmony_ci	  they are compressed; to access compressed MSDOS partitions under
428c2ecf20Sopenharmony_ci	  Linux, you can either use the DOS emulator DOSEMU, described in the
438c2ecf20Sopenharmony_ci	  DOSEMU-HOWTO, available from
448c2ecf20Sopenharmony_ci	  <https://www.tldp.org/docs.html#howto>, or try dmsdosfs in
458c2ecf20Sopenharmony_ci	  <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
468c2ecf20Sopenharmony_ci	  intend to use dosemu with a non-compressed MSDOS partition, say Y
478c2ecf20Sopenharmony_ci	  here) and MSDOS floppies. This means that file access becomes
488c2ecf20Sopenharmony_ci	  transparent, i.e. the MSDOS files look and behave just like all
498c2ecf20Sopenharmony_ci	  other Unix files.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	  If you have Windows 95 or Windows NT installed on your MSDOS
528c2ecf20Sopenharmony_ci	  partitions, you should use the VFAT file system (say Y to "VFAT fs
538c2ecf20Sopenharmony_ci	  support" below), or you will not be able to see the long filenames
548c2ecf20Sopenharmony_ci	  generated by Windows 95 / Windows NT.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  This option will enlarge your kernel by about 7 KB. If unsure,
578c2ecf20Sopenharmony_ci	  answer Y. This will only work if you said Y to "DOS FAT fs support"
588c2ecf20Sopenharmony_ci	  as well. To compile this as a module, choose M here: the module will
598c2ecf20Sopenharmony_ci	  be called msdos.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciconfig VFAT_FS
628c2ecf20Sopenharmony_ci	tristate "VFAT (Windows-95) fs support"
638c2ecf20Sopenharmony_ci	select FAT_FS
648c2ecf20Sopenharmony_ci	help
658c2ecf20Sopenharmony_ci	  This option provides support for normal Windows file systems with
668c2ecf20Sopenharmony_ci	  long filenames.  That includes non-compressed FAT-based file systems
678c2ecf20Sopenharmony_ci	  used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
688c2ecf20Sopenharmony_ci	  programs from the mtools package.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	  The VFAT support enlarges your kernel by about 10 KB and it only
718c2ecf20Sopenharmony_ci	  works if you said Y to the "DOS FAT fs support" above.  Please read
728c2ecf20Sopenharmony_ci	  the file <file:Documentation/filesystems/vfat.rst> for details.  If
738c2ecf20Sopenharmony_ci	  unsure, say Y.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci	  To compile this as a module, choose M here: the module will be called
768c2ecf20Sopenharmony_ci	  vfat.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciconfig FAT_DEFAULT_CODEPAGE
798c2ecf20Sopenharmony_ci	int "Default codepage for FAT"
808c2ecf20Sopenharmony_ci	depends on MSDOS_FS || VFAT_FS
818c2ecf20Sopenharmony_ci	default 437
828c2ecf20Sopenharmony_ci	help
838c2ecf20Sopenharmony_ci	  This option should be set to the codepage of your FAT filesystems.
848c2ecf20Sopenharmony_ci	  It can be overridden with the "codepage" mount option.
858c2ecf20Sopenharmony_ci	  See <file:Documentation/filesystems/vfat.rst> for more information.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciconfig FAT_DEFAULT_IOCHARSET
888c2ecf20Sopenharmony_ci	string "Default iocharset for FAT"
898c2ecf20Sopenharmony_ci	depends on VFAT_FS
908c2ecf20Sopenharmony_ci	default "iso8859-1"
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Set this to the default input/output character set you'd
938c2ecf20Sopenharmony_ci	  like FAT to use. It should probably match the character set
948c2ecf20Sopenharmony_ci	  that most of your FAT filesystems use, and can be overridden
958c2ecf20Sopenharmony_ci	  with the "iocharset" mount option for FAT filesystems.
968c2ecf20Sopenharmony_ci	  Note that "utf8" is not recommended for FAT filesystems.
978c2ecf20Sopenharmony_ci	  If unsure, you shouldn't set "utf8" here - select the next option
988c2ecf20Sopenharmony_ci	  instead if you would like to use UTF-8 encoded file names by default.
998c2ecf20Sopenharmony_ci	  See <file:Documentation/filesystems/vfat.rst> for more information.
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci	  Enable any character sets you need in File Systems/Native Language
1028c2ecf20Sopenharmony_ci	  Support.
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciconfig FAT_DEFAULT_UTF8
1058c2ecf20Sopenharmony_ci	bool "Enable FAT UTF-8 option by default"
1068c2ecf20Sopenharmony_ci	depends on VFAT_FS
1078c2ecf20Sopenharmony_ci	default n
1088c2ecf20Sopenharmony_ci	help
1098c2ecf20Sopenharmony_ci	  Set this if you would like to have "utf8" mount option set
1108c2ecf20Sopenharmony_ci	  by default when mounting FAT filesystems.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci	  Even if you say Y here can always disable UTF-8 for
1138c2ecf20Sopenharmony_ci	  particular mount by adding "utf8=0" to mount options.
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci	  Say Y if you use UTF-8 encoding for file names, N otherwise.
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci	  See <file:Documentation/filesystems/vfat.rst> for more information.
118