Removed redundencies in ncurses.
[linux_from_scratch.git] / chapter08 / fstab.xml
blobdd43c414bf6535849391a341a9acee6631f7ea43
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-bootable-fstab">
9   <?dbhtml filename="fstab.html"?>
11   <title>Creating the /etc/fstab File</title>
13   <indexterm zone="ch-bootable-fstab">
14     <primary sortas="e-/etc/fstab">/etc/fstab</primary>
15   </indexterm>
17   <para>The <filename>/etc/fstab</filename> file is used by some programs to
18   determine where file systems are to be mounted by default, in which order, and
19   which must be checked (for integrity errors) prior to mounting. Create a new
20   file systems table like this:</para>
22 <screen><userinput>cat &gt; /etc/fstab &lt;&lt; "EOF"
23 <literal># Begin /etc/fstab
25 # file system  mount-point  type   options         dump  fsck
26 #                                                        order
28 /dev/<replaceable>&lt;xxx&gt;</replaceable>     /            <replaceable>&lt;fff&gt;</replaceable>  defaults        1     1
29 /dev/<replaceable>&lt;yyy&gt;</replaceable>     swap         swap   pri=1           0     0
30 proc           /proc        proc   defaults        0     0
31 sysfs          /sys         sysfs  defaults        0     0
32 devpts         /dev/pts     devpts gid=4,mode=620  0     0
33 tmpfs          /dev/shm     tmpfs  defaults        0     0
34 # End /etc/fstab</literal>
35 EOF</userinput></screen>
37   <para>Replace <replaceable>&lt;xxx&gt;</replaceable>,
38   <replaceable>&lt;yyy&gt;</replaceable>, and <replaceable>&lt;fff&gt;</replaceable>
39   with the values appropriate for the system, for example, <filename
40   class="partition">hda2</filename>, <filename
41   class="partition">hda5</filename>, and <systemitem
42   class="filesystem">ext3</systemitem>. For details on the six
43   fields in this file, see <command>man 5 fstab</command>.</para>
45   <para>The <filename class="directory">/dev/shm</filename> mount point
46   for <systemitem class="filesystem">tmpfs</systemitem> is included to
47   allow enabling POSIX-shared memory. The kernel must have the required
48   support built into it for this to work (more about this is in the next
49   section). Please note that very little software currently uses
50   POSIX-shared memory.  Therefore, consider the <filename
51   class="directory">/dev/shm</filename> mount point optional. For more
52   information, see
53   <filename>Documentation/filesystems/tmpfs.txt</filename> in the kernel
54   source tree.</para>
56   <para>Filesystems with MS-DOS or Windows origin (i.e.: vfat, ntfs, smbfs, cifs,
57   iso9660, udf) need the <quote>iocharset</quote> mount option in order for
58   non-ASCII characters in file names to be interpreted properly. The value
59   of this option should be the same as the character set of your locale,
60   adjusted in such a way that the kernel understands it. This works if the
61   relevant character set definition (found under File systems -&gt;
62   Native Language Support) has been compiled into the kernel
63   or built as a module. The <quote>codepage</quote> option is also needed for
64   vfat and smbfs filesystems. It should be set to the codepage number used
65   under MS-DOS in your country. E.g., in order to mount USB flash drives, a
66   ru_RU.KOI8-R user would need the following in the options portion of its
67   mount line in <filename>/etc/fstab</filename>:</para>
69 <screen><literal>noauto,user,quiet,showexec,iocharset=koi8r,codepage=866</literal></screen>
71   <para>The corresponding options fragment for ru_RU.UTF-8 users is:</para>
73 <screen><literal>noauto,user,quiet,showexec,iocharset=utf8,codepage=866</literal></screen>
75   <note>
76     <para>In the latter case, the kernel emits the following message:</para>
78 <screen><computeroutput>FAT: utf8 is not a recommended IO charset for FAT filesystems,
79     filesystem will be case sensitive!</computeroutput></screen>
81     <para>This negative recommendation should be ignored, since all other values
82     of the <quote>iocharset</quote> option result in wrong display of filenames in
83     UTF-8 locales.</para>
84   </note>
86   <para>It is also possible to specify default codepage and iocharset values for
87   some filesystems during kernel configuration. The relevant parameters
88   are named
89   <quote>Default NLS Option</quote> (<option>CONFIG_NLS_DEFAULT)</option>,
90   <quote>Default Remote NLS Option</quote> (<option>CONFIG_SMB_NLS_DEFAULT</option>),
91   <quote>Default codepage for FAT</quote> (<option>CONFIG_FAT_DEFAULT_CODEPAGE</option>), and
92   <quote>Default iocharset for FAT</quote> (<option>CONFIG_FAT_DEFAULT_IOCHARSET</option>).
93   There is no way to specify these settings for the
94   ntfs filesystem at kernel compilation time.</para>
95   <!-- Personally, I find it more foolproof to always specify the iocharset and
96   codepage in /etc/fstab for MS-based filesystems - Alexander E. Patrakov -->
98   <para>It is possible to make the ext3 filesystem reliable across power
99   failures for some hard disk types.  To do this, add the
100   <option>barrier=1</option> mount option to the appropriate entry in
101   <filename>/etc/fstab</filename>.  To check if the disk drive supports
102   this option, run 
103   <ulink url="http://www.linuxfromscratch.org/blfs/view/cvs/general/hdparm.html">hdparm</ulink>
104   on the applicable disk drive.  For example, if:</para>
106 <screen role="nodump"><userinput>hdparm -I /dev/sda | grep NCQ</userinput></screen>
108   <para>returns non-empty output, the option is supported.</para>
110   <para>Note: Logical Volume Management (LVM) based partitions cannot use the
111   <option>barrier</option> option.</para>
113 </sect1>