xref: /linux/fs/fat/Kconfig (revision 4ecfed61de766f4655025a71d79c9a0f4793a3f4)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21c6ace01SAlexey Dobriyanconfig FAT_FS
31c6ace01SAlexey Dobriyan	tristate
41c6ace01SAlexey Dobriyan	select NLS
51c6ace01SAlexey Dobriyan	help
61c6ace01SAlexey Dobriyan	  If you want to use one of the FAT-based file systems (the MS-DOS and
71c6ace01SAlexey Dobriyan	  VFAT (Windows 95) file systems), then you must say Y or M here
81c6ace01SAlexey Dobriyan	  to include FAT support. You will then be able to mount partitions or
91c6ace01SAlexey Dobriyan	  diskettes with FAT-based file systems and transparently access the
101c6ace01SAlexey Dobriyan	  files on them, i.e. MSDOS files will look and behave just like all
111c6ace01SAlexey Dobriyan	  other Unix files.
121c6ace01SAlexey Dobriyan
131c6ace01SAlexey Dobriyan	  This FAT support is not a file system in itself, it only provides
141c6ace01SAlexey Dobriyan	  the foundation for the other file systems. You will have to say Y or
151c6ace01SAlexey Dobriyan	  M to at least one of "MSDOS fs support" or "VFAT fs support" in
161c6ace01SAlexey Dobriyan	  order to make use of it.
171c6ace01SAlexey Dobriyan
181c6ace01SAlexey Dobriyan	  Another way to read and write MSDOS floppies and hard drive
191c6ace01SAlexey Dobriyan	  partitions from within Linux (but not transparently) is with the
201c6ace01SAlexey Dobriyan	  mtools ("man mtools") program suite. You don't need to say Y here in
211c6ace01SAlexey Dobriyan	  order to do that.
221c6ace01SAlexey Dobriyan
231c6ace01SAlexey Dobriyan	  If you need to move large files on floppies between a DOS and a
241c6ace01SAlexey Dobriyan	  Linux box, say Y here, mount the floppy under Linux with an MSDOS
251c6ace01SAlexey Dobriyan	  file system and use GNU tar's M option. GNU tar is a program
261c6ace01SAlexey Dobriyan	  available for Unix and DOS ("man tar" or "info tar").
271c6ace01SAlexey Dobriyan
281c6ace01SAlexey Dobriyan	  The FAT support will enlarge your kernel by about 37 KB. If unsure,
291c6ace01SAlexey Dobriyan	  say Y.
301c6ace01SAlexey Dobriyan
311c6ace01SAlexey Dobriyan	  To compile this as a module, choose M here: the module will be called
321c6ace01SAlexey Dobriyan	  fat.  Note that if you compile the FAT support as a module, you
331c6ace01SAlexey Dobriyan	  cannot compile any of the FAT-based file systems into the kernel
341c6ace01SAlexey Dobriyan	  -- they will have to be modules as well.
351c6ace01SAlexey Dobriyan
361c6ace01SAlexey Dobriyanconfig MSDOS_FS
371c6ace01SAlexey Dobriyan	tristate "MSDOS fs support"
381c6ace01SAlexey Dobriyan	select FAT_FS
391c6ace01SAlexey Dobriyan	help
401c6ace01SAlexey Dobriyan	  This allows you to mount MSDOS partitions of your hard drive (unless
411c6ace01SAlexey Dobriyan	  they are compressed; to access compressed MSDOS partitions under
421c6ace01SAlexey Dobriyan	  Linux, you can either use the DOS emulator DOSEMU, described in the
431c6ace01SAlexey Dobriyan	  DOSEMU-HOWTO, available from
44*4ecfed61SAlexander A. Klimov	  <https://www.tldp.org/docs.html#howto>, or try dmsdosfs in
451c6ace01SAlexey Dobriyan	  <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
461c6ace01SAlexey Dobriyan	  intend to use dosemu with a non-compressed MSDOS partition, say Y
471c6ace01SAlexey Dobriyan	  here) and MSDOS floppies. This means that file access becomes
481c6ace01SAlexey Dobriyan	  transparent, i.e. the MSDOS files look and behave just like all
491c6ace01SAlexey Dobriyan	  other Unix files.
501c6ace01SAlexey Dobriyan
511c6ace01SAlexey Dobriyan	  If you have Windows 95 or Windows NT installed on your MSDOS
521c6ace01SAlexey Dobriyan	  partitions, you should use the VFAT file system (say Y to "VFAT fs
531c6ace01SAlexey Dobriyan	  support" below), or you will not be able to see the long filenames
541c6ace01SAlexey Dobriyan	  generated by Windows 95 / Windows NT.
551c6ace01SAlexey Dobriyan
561c6ace01SAlexey Dobriyan	  This option will enlarge your kernel by about 7 KB. If unsure,
571c6ace01SAlexey Dobriyan	  answer Y. This will only work if you said Y to "DOS FAT fs support"
581c6ace01SAlexey Dobriyan	  as well. To compile this as a module, choose M here: the module will
591c6ace01SAlexey Dobriyan	  be called msdos.
601c6ace01SAlexey Dobriyan
611c6ace01SAlexey Dobriyanconfig VFAT_FS
621c6ace01SAlexey Dobriyan	tristate "VFAT (Windows-95) fs support"
631c6ace01SAlexey Dobriyan	select FAT_FS
641c6ace01SAlexey Dobriyan	help
651c6ace01SAlexey Dobriyan	  This option provides support for normal Windows file systems with
661c6ace01SAlexey Dobriyan	  long filenames.  That includes non-compressed FAT-based file systems
671c6ace01SAlexey Dobriyan	  used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
681c6ace01SAlexey Dobriyan	  programs from the mtools package.
691c6ace01SAlexey Dobriyan
701c6ace01SAlexey Dobriyan	  The VFAT support enlarges your kernel by about 10 KB and it only
711c6ace01SAlexey Dobriyan	  works if you said Y to the "DOS FAT fs support" above.  Please read
7272ef5e52SMauro Carvalho Chehab	  the file <file:Documentation/filesystems/vfat.rst> for details.  If
731c6ace01SAlexey Dobriyan	  unsure, say Y.
741c6ace01SAlexey Dobriyan
751c6ace01SAlexey Dobriyan	  To compile this as a module, choose M here: the module will be called
761c6ace01SAlexey Dobriyan	  vfat.
771c6ace01SAlexey Dobriyan
781c6ace01SAlexey Dobriyanconfig FAT_DEFAULT_CODEPAGE
791c6ace01SAlexey Dobriyan	int "Default codepage for FAT"
801c6ace01SAlexey Dobriyan	depends on MSDOS_FS || VFAT_FS
811c6ace01SAlexey Dobriyan	default 437
821c6ace01SAlexey Dobriyan	help
831c6ace01SAlexey Dobriyan	  This option should be set to the codepage of your FAT filesystems.
841c6ace01SAlexey Dobriyan	  It can be overridden with the "codepage" mount option.
8572ef5e52SMauro Carvalho Chehab	  See <file:Documentation/filesystems/vfat.rst> for more information.
861c6ace01SAlexey Dobriyan
871c6ace01SAlexey Dobriyanconfig FAT_DEFAULT_IOCHARSET
881c6ace01SAlexey Dobriyan	string "Default iocharset for FAT"
891c6ace01SAlexey Dobriyan	depends on VFAT_FS
901c6ace01SAlexey Dobriyan	default "iso8859-1"
911c6ace01SAlexey Dobriyan	help
921c6ace01SAlexey Dobriyan	  Set this to the default input/output character set you'd
931c6ace01SAlexey Dobriyan	  like FAT to use. It should probably match the character set
941c6ace01SAlexey Dobriyan	  that most of your FAT filesystems use, and can be overridden
951c6ace01SAlexey Dobriyan	  with the "iocharset" mount option for FAT filesystems.
961c6ace01SAlexey Dobriyan	  Note that "utf8" is not recommended for FAT filesystems.
9738739380SMaciej S. Szmigiero	  If unsure, you shouldn't set "utf8" here - select the next option
9838739380SMaciej S. Szmigiero	  instead if you would like to use UTF-8 encoded file names by default.
9972ef5e52SMauro Carvalho Chehab	  See <file:Documentation/filesystems/vfat.rst> for more information.
100d29a2e94SAlan Cox
101d29a2e94SAlan Cox	  Enable any character sets you need in File Systems/Native Language
102d29a2e94SAlan Cox	  Support.
10338739380SMaciej S. Szmigiero
10438739380SMaciej S. Szmigieroconfig FAT_DEFAULT_UTF8
10538739380SMaciej S. Szmigiero	bool "Enable FAT UTF-8 option by default"
10638739380SMaciej S. Szmigiero	depends on VFAT_FS
10738739380SMaciej S. Szmigiero	default n
10838739380SMaciej S. Szmigiero	help
10938739380SMaciej S. Szmigiero	  Set this if you would like to have "utf8" mount option set
11038739380SMaciej S. Szmigiero	  by default when mounting FAT filesystems.
11138739380SMaciej S. Szmigiero
11238739380SMaciej S. Szmigiero	  Even if you say Y here can always disable UTF-8 for
11338739380SMaciej S. Szmigiero	  particular mount by adding "utf8=0" to mount options.
11438739380SMaciej S. Szmigiero
11538739380SMaciej S. Szmigiero	  Say Y if you use UTF-8 encoding for file names, N otherwise.
11638739380SMaciej S. Szmigiero
11772ef5e52SMauro Carvalho Chehab	  See <file:Documentation/filesystems/vfat.rst> for more information.
118