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