162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig FAT_FS 362306a36Sopenharmony_ci tristate 462306a36Sopenharmony_ci select BUFFER_HEAD 562306a36Sopenharmony_ci select NLS 662306a36Sopenharmony_ci select LEGACY_DIRECT_IO 762306a36Sopenharmony_ci help 862306a36Sopenharmony_ci If you want to use one of the FAT-based file systems (the MS-DOS and 962306a36Sopenharmony_ci VFAT (Windows 95) file systems), then you must say Y or M here 1062306a36Sopenharmony_ci to include FAT support. You will then be able to mount partitions or 1162306a36Sopenharmony_ci diskettes with FAT-based file systems and transparently access the 1262306a36Sopenharmony_ci files on them, i.e. MSDOS files will look and behave just like all 1362306a36Sopenharmony_ci other Unix files. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci This FAT support is not a file system in itself, it only provides 1662306a36Sopenharmony_ci the foundation for the other file systems. You will have to say Y or 1762306a36Sopenharmony_ci M to at least one of "MSDOS fs support" or "VFAT fs support" in 1862306a36Sopenharmony_ci order to make use of it. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci Another way to read and write MSDOS floppies and hard drive 2162306a36Sopenharmony_ci partitions from within Linux (but not transparently) is with the 2262306a36Sopenharmony_ci mtools ("man mtools") program suite. You don't need to say Y here in 2362306a36Sopenharmony_ci order to do that. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci If you need to move large files on floppies between a DOS and a 2662306a36Sopenharmony_ci Linux box, say Y here, mount the floppy under Linux with an MSDOS 2762306a36Sopenharmony_ci file system and use GNU tar's M option. GNU tar is a program 2862306a36Sopenharmony_ci available for Unix and DOS ("man tar" or "info tar"). 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci The FAT support will enlarge your kernel by about 37 KB. If unsure, 3162306a36Sopenharmony_ci say Y. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci To compile this as a module, choose M here: the module will be called 3462306a36Sopenharmony_ci fat. Note that if you compile the FAT support as a module, you 3562306a36Sopenharmony_ci cannot compile any of the FAT-based file systems into the kernel 3662306a36Sopenharmony_ci -- they will have to be modules as well. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig MSDOS_FS 3962306a36Sopenharmony_ci tristate "MSDOS fs support" 4062306a36Sopenharmony_ci select FAT_FS 4162306a36Sopenharmony_ci help 4262306a36Sopenharmony_ci This allows you to mount MSDOS partitions of your hard drive (unless 4362306a36Sopenharmony_ci they are compressed; to access compressed MSDOS partitions under 4462306a36Sopenharmony_ci Linux, you can either use the DOS emulator DOSEMU, described in the 4562306a36Sopenharmony_ci DOSEMU-HOWTO, available from 4662306a36Sopenharmony_ci <https://www.tldp.org/docs.html#howto>, or try dmsdosfs in 4762306a36Sopenharmony_ci <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you 4862306a36Sopenharmony_ci intend to use dosemu with a non-compressed MSDOS partition, say Y 4962306a36Sopenharmony_ci here) and MSDOS floppies. This means that file access becomes 5062306a36Sopenharmony_ci transparent, i.e. the MSDOS files look and behave just like all 5162306a36Sopenharmony_ci other Unix files. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci If you have Windows 95 or Windows NT installed on your MSDOS 5462306a36Sopenharmony_ci partitions, you should use the VFAT file system (say Y to "VFAT fs 5562306a36Sopenharmony_ci support" below), or you will not be able to see the long filenames 5662306a36Sopenharmony_ci generated by Windows 95 / Windows NT. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci This option will enlarge your kernel by about 7 KB. If unsure, 5962306a36Sopenharmony_ci answer Y. This will only work if you said Y to "DOS FAT fs support" 6062306a36Sopenharmony_ci as well. To compile this as a module, choose M here: the module will 6162306a36Sopenharmony_ci be called msdos. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciconfig VFAT_FS 6462306a36Sopenharmony_ci tristate "VFAT (Windows-95) fs support" 6562306a36Sopenharmony_ci select FAT_FS 6662306a36Sopenharmony_ci help 6762306a36Sopenharmony_ci This option provides support for normal Windows file systems with 6862306a36Sopenharmony_ci long filenames. That includes non-compressed FAT-based file systems 6962306a36Sopenharmony_ci used by Windows 95, Windows 98, Windows NT 4.0, and the Unix 7062306a36Sopenharmony_ci programs from the mtools package. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci The VFAT support enlarges your kernel by about 10 KB and it only 7362306a36Sopenharmony_ci works if you said Y to the "DOS FAT fs support" above. Please read 7462306a36Sopenharmony_ci the file <file:Documentation/filesystems/vfat.rst> for details. If 7562306a36Sopenharmony_ci unsure, say Y. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci To compile this as a module, choose M here: the module will be called 7862306a36Sopenharmony_ci vfat. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciconfig FAT_DEFAULT_CODEPAGE 8162306a36Sopenharmony_ci int "Default codepage for FAT" 8262306a36Sopenharmony_ci depends on FAT_FS 8362306a36Sopenharmony_ci default 437 8462306a36Sopenharmony_ci help 8562306a36Sopenharmony_ci This option should be set to the codepage of your FAT filesystems. 8662306a36Sopenharmony_ci It can be overridden with the "codepage" mount option. 8762306a36Sopenharmony_ci See <file:Documentation/filesystems/vfat.rst> for more information. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ciconfig FAT_DEFAULT_IOCHARSET 9062306a36Sopenharmony_ci string "Default iocharset for FAT" 9162306a36Sopenharmony_ci depends on VFAT_FS 9262306a36Sopenharmony_ci default "iso8859-1" 9362306a36Sopenharmony_ci help 9462306a36Sopenharmony_ci Set this to the default input/output character set you'd 9562306a36Sopenharmony_ci like FAT to use. It should probably match the character set 9662306a36Sopenharmony_ci that most of your FAT filesystems use, and can be overridden 9762306a36Sopenharmony_ci with the "iocharset" mount option for FAT filesystems. 9862306a36Sopenharmony_ci Note that "utf8" is not recommended for FAT filesystems. 9962306a36Sopenharmony_ci If unsure, you shouldn't set "utf8" here - select the next option 10062306a36Sopenharmony_ci instead if you would like to use UTF-8 encoded file names by default. 10162306a36Sopenharmony_ci See <file:Documentation/filesystems/vfat.rst> for more information. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci Enable any character sets you need in File Systems/Native Language 10462306a36Sopenharmony_ci Support. 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ciconfig FAT_DEFAULT_UTF8 10762306a36Sopenharmony_ci bool "Enable FAT UTF-8 option by default" 10862306a36Sopenharmony_ci depends on VFAT_FS 10962306a36Sopenharmony_ci default n 11062306a36Sopenharmony_ci help 11162306a36Sopenharmony_ci Set this if you would like to have "utf8" mount option set 11262306a36Sopenharmony_ci by default when mounting FAT filesystems. 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci Even if you say Y here can always disable UTF-8 for 11562306a36Sopenharmony_ci particular mount by adding "utf8=0" to mount options. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci Say Y if you use UTF-8 encoding for file names, N otherwise. 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci See <file:Documentation/filesystems/vfat.rst> for more information. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciconfig FAT_KUNIT_TEST 12262306a36Sopenharmony_ci tristate "Unit Tests for FAT filesystems" if !KUNIT_ALL_TESTS 12362306a36Sopenharmony_ci depends on KUNIT && FAT_FS 12462306a36Sopenharmony_ci default KUNIT_ALL_TESTS 12562306a36Sopenharmony_ci help 12662306a36Sopenharmony_ci This builds the FAT KUnit tests 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci For more information on KUnit and unit tests in general, please refer 12962306a36Sopenharmony_ci to the KUnit documentation in Documentation/dev-tools/kunit 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci If unsure, say N 132