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