1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
<?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" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-bootable-fstab">
<?dbhtml filename="fstab.html"?>
<title>Creating the /etc/fstab File</title>
<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 > /etc/fstab << "EOF"
<literal># Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/<replaceable><xxx></replaceable> / <replaceable><fff></replaceable> defaults 1 1
/dev/<replaceable><yyy></replaceable> swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
shm /dev/shm tmpfs defaults 0 0
# End /etc/fstab</literal>
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>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>
<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>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 ->
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>
|