Index: chapter08/fstab.xml
===================================================================
--- chapter08/fstab.xml	(revision 6856842567d8c1bc18478a65e6c5268ec1f92f0f)
+++ chapter08/fstab.xml	(revision 46a2e9c7d603a2a160f8de8741a7750de935d848)
@@ -1,17 +1,22 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
 ]>
+
 <sect1 id="ch-bootable-fstab">
-<title>Creating the /etc/fstab File</title>
-<?dbhtml filename="fstab.html"?>
+  <?dbhtml filename="fstab.html"?>
 
-<indexterm zone="ch-bootable-fstab"><primary sortas="e-/etc/fstab">/etc/fstab</primary></indexterm>
+  <title>Creating the /etc/fstab File</title>
 
-<para>The <filename>/etc/fstab</filename> file is used by some programs to
-determine where file systems are to be mounted by default, in which order, and
-which must be checked (for integrity errors) prior to mounting. Create a new
-file systems table like this:</para>
+  <indexterm zone="ch-bootable-fstab">
+    <primary sortas="e-/etc/fstab">/etc/fstab</primary>
+  </indexterm>
+
+  <para>The <filename>/etc/fstab</filename> file is used by some programs to
+  determine where file systems are to be mounted by default, in which order, and
+  which must be checked (for integrity errors) prior to mounting. Create a new
+  file systems table like this:</para>
 
 <screen><userinput>cat &gt; /etc/fstab &lt;&lt; "EOF"
@@ -30,35 +35,73 @@
 EOF</userinput></screen>
 
-<para>Replace <replaceable>[xxx]</replaceable>,
-<replaceable>[yyy]</replaceable>, and <replaceable>[fff]</replaceable>
-with the values appropriate for the system, for example, <filename
-class="partition">hda2</filename>, <filename
-class="partition">hda5</filename>, and <systemitem
-class="filesystem">ext2</systemitem>. For details on the six
-fields in this file, see <command>man 5 fstab</command>.</para>
+  <para>Replace <replaceable>[xxx]</replaceable>,
+  <replaceable>[yyy]</replaceable>, and <replaceable>[fff]</replaceable>
+  with the values appropriate for the system, for example, <filename
+  class="partition">hda2</filename>, <filename
+  class="partition">hda5</filename>, and <systemitem
+  class="filesystem">ext2</systemitem>. For details on the six
+  fields in this file, see <command>man 5 fstab</command>.</para>
 
-<para>The <filename class="directory">/dev/shm</filename> mount point
-for <systemitem class="filesystem">tmpfs</systemitem> is included to
-allow enabling POSIX-shared memory. The kernel must have the required
-support built into it for this to work (more about this is in the next
-section). Please note that very little software currently uses
-POSIX-shared memory.  Therefore, consider the <filename
-class="directory">/dev/shm</filename> mount point optional. For more
-information, see
-<filename>Documentation/filesystems/tmpfs.txt</filename> in the kernel
-source tree.</para>
+  <para>The <filename class="directory">/dev/shm</filename> mount point
+  for <systemitem class="filesystem">tmpfs</systemitem> is included to
+  allow enabling POSIX-shared memory. The kernel must have the required
+  support built into it for this to work (more about this is in the next
+  section). Please note that very little software currently uses
+  POSIX-shared memory.  Therefore, consider the <filename
+  class="directory">/dev/shm</filename> mount point optional. For more
+  information, see
+  <filename>Documentation/filesystems/tmpfs.txt</filename> in the kernel
+  source tree.</para>
 
-<para>There are other lines which may be added to the
-<filename>/etc/fstab</filename> file. One example is a line for USB
-devices:</para>
+  <para>There are other lines which may be added to the
+  <filename>/etc/fstab</filename> file. One example is a line for USB
+  devices:</para>
 
 <screen>usbfs        /proc/bus/usb usbfs   devgid=14,devmode=0660 0 0 </screen>
 
-<para>This option will only work if <quote>Support for Host-side USB</quote> and
-<quote>USB device filesystem</quote> are configured in the kernel. If
-<quote>Support for Host-side USB</quote> is compiled as a module, then
-<filename>usbcore</filename> must be listed in
-<filename>/etc/sysconfig/modules</filename>.</para>
+  <para>This option will only work if <quote>Support for Host-side USB</quote>
+  and <quote>USB device filesystem</quote> are configured in the kernel. If
+  <quote>Support for Host-side USB</quote> is compiled as a module, then
+  <filename>usbcore</filename> must be listed in
+  <filename>/etc/sysconfig/modules</filename>.</para>
+
+  <para>Filesystems with MS-DOS or Windows origin (i.e.: vfat, ntfs, smbfs, cifs,
+  iso9660, udf) need the <quote>iocharset</quote> mount option in order for
+  non-ASCII characters in file names to be interpreted properly. The value
+  of this option should be the same as the character set of your locale,
+  adjusted in such a way that the kernel understands it. This works if the
+  relevant character set definition (found under File systems -&gt;
+  Native Language Support) has been compiled into the kernel
+  or built as a module. The <quote>codepage</quote> option is also needed for
+  vfat and smbfs filesystems. It
+  should be set to the codepage number used under MS-DOS in your country. E.g.,
+  in order to mount USB flash drives, a ru_RU.KOI8-R user would need the
+  following line in <filename>/etc/fstab</filename>:</para>
+
+<screen>/dev/sda1    /media/flash vfat noauto,user,quiet,showexec,iocharset=koi8r,codepage=866 0 0</screen>
+
+  <para>The corresponding line for ru_RU.UTF-8 users is:</para>
+
+<screen>/dev/sda1    /media/flash vfat noauto,user,quiet,showexec,iocharset=utf8,codepage=866 0 0</screen>
+
+  <note><para>In the latter case, the kernel emits the following message:</para>
+
+<screen><computeroutput>FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!</computeroutput></screen>
+
+  <para>This negative recommendation should be ignored, since all other values
+  of the <quote>iocharset</quote> option result in wrong display of filenames in
+  UTF-8 locales.</para></note>
+
+  <para>It is also possible to specify default codepage and iocharset values for
+  some filesystems during kernel configuration. The relevant parameters
+  are named
+  <quote>Default NLS Option</quote> (CONFIG_NLS_DEFAULT),
+  <quote>Default Remote NLS Option</quote> (CONFIG_SMB_NLS_DEFAULT),
+  <quote>Default codepage for FAT</quote> (CONFIG_FAT_DEFAULT_CODEPAGE), and
+  <quote>Default iocharset for FAT</quote> (CONFIG_FAT_DEFAULT_IOCHARSET).
+  There is no way to specify these settings for the
+  ntfs filesystem at kernel compilation time.</para>
+  <!-- Personally, I find it more foolproof to always specify the iocharset and
+  codepage in /etc/fstab for MS-based filesystems - Alexander E. Patrakov -->
 
 </sect1>
-
