Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1c6ace01 AD |
2 | config FAT_FS |
3 | tristate | |
4 | select NLS | |
9636e650 | 5 | select LEGACY_DIRECT_IO |
1c6ace01 AD |
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 | ||
37 | config 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 | |
4ecfed61 | 45 | <https://www.tldp.org/docs.html#howto>, or try dmsdosfs in |
1c6ace01 AD |
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 | ||
62 | config 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 | |
72ef5e52 | 73 | the file <file:Documentation/filesystems/vfat.rst> for details. If |
1c6ace01 AD |
74 | unsure, say Y. |
75 | ||
76 | To compile this as a module, choose M here: the module will be called | |
77 | vfat. | |
78 | ||
79 | config FAT_DEFAULT_CODEPAGE | |
80 | int "Default codepage for FAT" | |
b0d4adaf | 81 | depends on FAT_FS |
1c6ace01 AD |
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. | |
72ef5e52 | 86 | See <file:Documentation/filesystems/vfat.rst> for more information. |
1c6ace01 AD |
87 | |
88 | config 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. | |
38739380 MS |
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. | |
72ef5e52 | 100 | See <file:Documentation/filesystems/vfat.rst> for more information. |
d29a2e94 AC |
101 | |
102 | Enable any character sets you need in File Systems/Native Language | |
103 | Support. | |
38739380 MS |
104 | |
105 | config 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 | ||
72ef5e52 | 118 | See <file:Documentation/filesystems/vfat.rst> for more information. |
b0d4adaf DG |
119 | |
120 | config 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 |