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