^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 FAT_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) select NLS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) If you want to use one of the FAT-based file systems (the MS-DOS and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) VFAT (Windows 95) file systems), then you must say Y or M here
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) to include FAT support. You will then be able to mount partitions or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) diskettes with FAT-based file systems and transparently access the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) files on them, i.e. MSDOS files will look and behave just like all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) other Unix files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) This FAT support is not a file system in itself, it only provides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) the foundation for the other file systems. You will have to say Y or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) M to at least one of "MSDOS fs support" or "VFAT fs support" in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) order to make use of it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Another way to read and write MSDOS floppies and hard drive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) partitions from within Linux (but not transparently) is with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) mtools ("man mtools") program suite. You don't need to say Y here in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) order to do that.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) If you need to move large files on floppies between a DOS and a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) Linux box, say Y here, mount the floppy under Linux with an MSDOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) file system and use GNU tar's M option. GNU tar is a program
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) available for Unix and DOS ("man tar" or "info tar").
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) The FAT support will enlarge your kernel by about 37 KB. If unsure,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) To compile this as a module, choose M here: the module will be called
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) fat. Note that if you compile the FAT support as a module, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) cannot compile any of the FAT-based file systems into the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) -- they will have to be modules as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) config MSDOS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) tristate "MSDOS fs support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) select FAT_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) This allows you to mount MSDOS partitions of your hard drive (unless
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) they are compressed; to access compressed MSDOS partitions under
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Linux, you can either use the DOS emulator DOSEMU, described in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) DOSEMU-HOWTO, available from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) <https://www.tldp.org/docs.html#howto>, or try dmsdosfs in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) intend to use dosemu with a non-compressed MSDOS partition, say Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) here) and MSDOS floppies. This means that file access becomes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) transparent, i.e. the MSDOS files look and behave just like all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) other Unix files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) If you have Windows 95 or Windows NT installed on your MSDOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) partitions, you should use the VFAT file system (say Y to "VFAT fs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) support" below), or you will not be able to see the long filenames
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) generated by Windows 95 / Windows NT.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) This option will enlarge your kernel by about 7 KB. If unsure,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) answer Y. This will only work if you said Y to "DOS FAT fs support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) as well. To compile this as a module, choose M here: the module will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) be called msdos.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) config VFAT_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) tristate "VFAT (Windows-95) fs support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) select FAT_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) This option provides support for normal Windows file systems with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) long filenames. That includes non-compressed FAT-based file systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) programs from the mtools package.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) The VFAT support enlarges your kernel by about 10 KB and it only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) works if you said Y to the "DOS FAT fs support" above. Please read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) the file <file:Documentation/filesystems/vfat.rst> for details. If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) To compile this as a module, choose M here: the module will be called
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) vfat.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) config FAT_DEFAULT_CODEPAGE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) int "Default codepage for FAT"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) depends on MSDOS_FS || VFAT_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) default 437
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) This option should be set to the codepage of your FAT filesystems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) It can be overridden with the "codepage" mount option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) See <file:Documentation/filesystems/vfat.rst> for more information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) config FAT_DEFAULT_IOCHARSET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) string "Default iocharset for FAT"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) depends on VFAT_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) default "iso8859-1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) Set this to the default input/output character set you'd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) like FAT to use. It should probably match the character set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) that most of your FAT filesystems use, and can be overridden
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) with the "iocharset" mount option for FAT filesystems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) Note that "utf8" is not recommended for FAT filesystems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) If unsure, you shouldn't set "utf8" here - select the next option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) instead if you would like to use UTF-8 encoded file names by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) See <file:Documentation/filesystems/vfat.rst> for more information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) Enable any character sets you need in File Systems/Native Language
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) Support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) config FAT_DEFAULT_UTF8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) bool "Enable FAT UTF-8 option by default"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) depends on VFAT_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Set this if you would like to have "utf8" mount option set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) by default when mounting FAT filesystems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) Even if you say Y here can always disable UTF-8 for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) particular mount by adding "utf8=0" to mount options.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) Say Y if you use UTF-8 encoding for file names, N otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) See <file:Documentation/filesystems/vfat.rst> for more information.