0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config FAT_FS
0003 tristate
0004 select NLS
0005 help
0006 If you want to use one of the FAT-based file systems (the MS-DOS and
0007 VFAT (Windows 95) file systems), then you must say Y or M here
0008 to include FAT support. You will then be able to mount partitions or
0009 diskettes with FAT-based file systems and transparently access the
0010 files on them, i.e. MSDOS files will look and behave just like all
0011 other Unix files.
0012
0013 This FAT support is not a file system in itself, it only provides
0014 the foundation for the other file systems. You will have to say Y or
0015 M to at least one of "MSDOS fs support" or "VFAT fs support" in
0016 order to make use of it.
0017
0018 Another way to read and write MSDOS floppies and hard drive
0019 partitions from within Linux (but not transparently) is with the
0020 mtools ("man mtools") program suite. You don't need to say Y here in
0021 order to do that.
0022
0023 If you need to move large files on floppies between a DOS and a
0024 Linux box, say Y here, mount the floppy under Linux with an MSDOS
0025 file system and use GNU tar's M option. GNU tar is a program
0026 available for Unix and DOS ("man tar" or "info tar").
0027
0028 The FAT support will enlarge your kernel by about 37 KB. If unsure,
0029 say Y.
0030
0031 To compile this as a module, choose M here: the module will be called
0032 fat. Note that if you compile the FAT support as a module, you
0033 cannot compile any of the FAT-based file systems into the kernel
0034 -- they will have to be modules as well.
0035
0036 config MSDOS_FS
0037 tristate "MSDOS fs support"
0038 select FAT_FS
0039 help
0040 This allows you to mount MSDOS partitions of your hard drive (unless
0041 they are compressed; to access compressed MSDOS partitions under
0042 Linux, you can either use the DOS emulator DOSEMU, described in the
0043 DOSEMU-HOWTO, available from
0044 <https://www.tldp.org/docs.html#howto>, or try dmsdosfs in
0045 <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
0046 intend to use dosemu with a non-compressed MSDOS partition, say Y
0047 here) and MSDOS floppies. This means that file access becomes
0048 transparent, i.e. the MSDOS files look and behave just like all
0049 other Unix files.
0050
0051 If you have Windows 95 or Windows NT installed on your MSDOS
0052 partitions, you should use the VFAT file system (say Y to "VFAT fs
0053 support" below), or you will not be able to see the long filenames
0054 generated by Windows 95 / Windows NT.
0055
0056 This option will enlarge your kernel by about 7 KB. If unsure,
0057 answer Y. This will only work if you said Y to "DOS FAT fs support"
0058 as well. To compile this as a module, choose M here: the module will
0059 be called msdos.
0060
0061 config VFAT_FS
0062 tristate "VFAT (Windows-95) fs support"
0063 select FAT_FS
0064 help
0065 This option provides support for normal Windows file systems with
0066 long filenames. That includes non-compressed FAT-based file systems
0067 used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
0068 programs from the mtools package.
0069
0070 The VFAT support enlarges your kernel by about 10 KB and it only
0071 works if you said Y to the "DOS FAT fs support" above. Please read
0072 the file <file:Documentation/filesystems/vfat.rst> for details. If
0073 unsure, say Y.
0074
0075 To compile this as a module, choose M here: the module will be called
0076 vfat.
0077
0078 config FAT_DEFAULT_CODEPAGE
0079 int "Default codepage for FAT"
0080 depends on FAT_FS
0081 default 437
0082 help
0083 This option should be set to the codepage of your FAT filesystems.
0084 It can be overridden with the "codepage" mount option.
0085 See <file:Documentation/filesystems/vfat.rst> for more information.
0086
0087 config FAT_DEFAULT_IOCHARSET
0088 string "Default iocharset for FAT"
0089 depends on VFAT_FS
0090 default "iso8859-1"
0091 help
0092 Set this to the default input/output character set you'd
0093 like FAT to use. It should probably match the character set
0094 that most of your FAT filesystems use, and can be overridden
0095 with the "iocharset" mount option for FAT filesystems.
0096 Note that "utf8" is not recommended for FAT filesystems.
0097 If unsure, you shouldn't set "utf8" here - select the next option
0098 instead if you would like to use UTF-8 encoded file names by default.
0099 See <file:Documentation/filesystems/vfat.rst> for more information.
0100
0101 Enable any character sets you need in File Systems/Native Language
0102 Support.
0103
0104 config FAT_DEFAULT_UTF8
0105 bool "Enable FAT UTF-8 option by default"
0106 depends on VFAT_FS
0107 default n
0108 help
0109 Set this if you would like to have "utf8" mount option set
0110 by default when mounting FAT filesystems.
0111
0112 Even if you say Y here can always disable UTF-8 for
0113 particular mount by adding "utf8=0" to mount options.
0114
0115 Say Y if you use UTF-8 encoding for file names, N otherwise.
0116
0117 See <file:Documentation/filesystems/vfat.rst> for more information.
0118
0119 config FAT_KUNIT_TEST
0120 tristate "Unit Tests for FAT filesystems" if !KUNIT_ALL_TESTS
0121 depends on KUNIT && FAT_FS
0122 default KUNIT_ALL_TESTS
0123 help
0124 This builds the FAT KUnit tests
0125
0126 For more information on KUnit and unit tests in general, please refer
0127 to the KUnit documentation in Documentation/dev-tools/kunit
0128
0129 If unsure, say N