/[gentoo]/xml/htdocs/doc/en/handbook/hb-install-config.xml
Gentoo

Diff of /xml/htdocs/doc/en/handbook/hb-install-config.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 Revision 1.88
1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3
4<!-- The content of this document is licensed under the CC-BY-SA license -->
5<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6
7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.88 2006/11/28 07:40:38 nightmorph Exp $ -->
8
1<sections> 9<sections>
2<section>
3<title>Timezone</title>
4<body>
5 10
6<p> 11<abstract>
7<path>/etc/localtime</path>. 12You need to edit some important configuration files. In this chapter
8</p> 13you receive an overview of these files and an explanation on how to
14proceed.
15</abstract>
9 16
10</body> 17<version>7.6</version>
11</section> 18<date>2006-11-27</date>
19
12<section> 20<section>
13<title>Filesystem Information</title> 21<title>Filesystem Information</title>
14<body> 22<subsection>
15 23<title>What is fstab?</title>
16<p>
17<path>/etc/fstab</path>
18</p>
19
20</body> 24<body>
25
26<p>
27Under Linux, all partitions used by the system must be listed in
28<path>/etc/fstab</path>. This file contains the mount points of those partitions
29(where they are seen in the file system structure), how they should be mounted
30and with what special options (automatically or not, whether users can mount
31them or not, etc.)
32</p>
33
34</body>
35</subsection>
36<subsection>
37<title>Creating /etc/fstab</title>
38<body>
39
40<p>
41<path>/etc/fstab</path> uses a special syntax. Every line consists of six
42fields, separated by whitespace (space(s), tabs or a mixture). Each field has
43its own meaning:
44</p>
45
46<ul>
47<li>
48 The first field shows the <b>partition</b> described (the path to the device
49 file)
50</li>
51<li>
52 The second field shows the <b>mount point</b> at which the partition should be
53 mounted
54</li>
55<li>
56 The third field shows the <b>filesystem</b> used by the partition
57</li>
58<li>
59 The fourth field shows the <b>mount options</b> used by <c>mount</c> when it
60 wants to mount the partition. As every filesystem has its own mount options,
61 you are encouraged to read the mount man page (<c>man mount</c>) for a full
62 listing. Multiple mount options are comma-separated.
63</li>
64<li>
65 The fifth field is used by <c>dump</c> to determine if the partition needs to
66 be <b>dump</b>ed or not. You can generally leave this as <c>0</c> (zero).
67</li>
68<li>
69 The sixth field is used by <c>fsck</c> to determine the order in which
70 filesystems should be <b>check</b>ed if the system wasn't shut down properly.
71 The root filesystem should have <c>1</c> while the rest should have <c>2</c>
72 (or <c>0</c> if a filesystem check isn't necessary).
73</li>
74</ul>
75
76<impo>
77The default <path>/etc/fstab</path> file provided by Gentoo <e>is not a valid
78fstab file</e>, You <b>have to create</b> your own <path>/etc/fstab</path>.
79</impo>
80
81<pre caption="Opening /etc/fstab">
82# <i>nano -w /etc/fstab</i>
83</pre>
84
85</body>
86<body test="func:keyval('/boot')">
87
88<p>
89Let us take a look at how we write down the options for the <path>/boot</path>
90partition. This is just an example, if you didn't or couldn't create a
91<path>/boot</path>, don't copy it.
92</p>
93
94<p test="contains(func:keyval('/boot'), '/dev/hd')">
95In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is
96usually the <path><keyval id="/boot"/></path> partition (or
97<path>/dev/sda*</path> if you use SCSI or SATA drives), with <c>ext2</c> as
98filesystem. It needs to be checked during boot, so we would write down:
99</p>
100
101<p test="contains(func:keyval('/boot'), '/dev/sd')">
102In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is
103usually the <path><keyval id="/boot"/></path> partition, with <c>ext2</c> as
104filesystem. It needs to be checked during boot, so we would write down:
105</p>
106
107<pre caption="An example /boot line for /etc/fstab">
108<keyval id="/boot"/> /boot ext2 defaults 1 2
109</pre>
110
111<p>
112Some users don't want their <path>/boot</path> partition to be mounted
113automatically to improve their system's security. Those people should
114substitute <c>defaults</c> with <c>noauto</c>. This does mean that you need to
115manually mount this partition every time you want to use it.
116</p>
117
118</body>
119<body>
120
121<p test="not(func:keyval('arch')='SPARC')">
122Add the rules that match your partitioning scheme and append rules for
123<path>/proc</path>, <c>tmpfs</c>, for your CD-ROM drive(s), and of course, if
124you have other partitions or drives, for those too.
125</p>
126
127<p test="func:keyval('arch')='SPARC'">
128Add the rules that match your partitioning schema and append rules for
129<path>/proc/openprom</path>, <path>/proc</path>, <c>tmpfs</c> , for your CD-ROM
130drive(s), and of course, if you have other partitions or drives, for those too.
131</p>
132
133<p>
134Now use the <e>example</e> below to create your <path>/etc/fstab</path>:
135</p>
136
137<pre caption="A full /etc/fstab example" test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86'">
138<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2
139/dev/hda2 none swap sw 0 0
140/dev/hda3 / ext3 noatime 0 1
141
142proc /proc proc defaults 0 0
143shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
144
145/dev/cdrom /mnt/cdrom auto noauto,user 0 0
146</pre>
147
148<pre caption="A full /etc/fstab example" test="func:keyval('arch')='HPPA'">
149<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2
150/dev/sda3 none swap sw 0 0
151/dev/sda4 / ext3 noatime 0 1
152
153proc /proc proc defaults 0 0
154shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
155
156/dev/cdrom /mnt/cdrom auto noauto,user 0 0
157</pre>
158
159<pre caption="A full /etc/fstab example" test="func:keyval('arch')='Alpha' or func:keyval('arch')='MIPS'">
160<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2
161/dev/sda2 none swap sw 0 0
162/dev/sda3 / ext3 noatime 0 1
163
164proc /proc proc defaults 0 0
165shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
166
167/dev/cdrom /mnt/cdrom auto noauto,user 0 0
168</pre>
169
170<pre caption="A full /etc/fstab example" test="func:keyval('arch')='SPARC'">
171/dev/sda1 / ext3 noatime 0 1
172/dev/sda2 none swap sw 0 0
173/dev/sda4 /usr ext3 noatime 0 2
174/dev/sda5 /var ext3 noatime 0 2
175/dev/sda6 /home ext3 noatime 0 2
176
177openprom /proc/openprom openpromfs defaults 0 0
178proc /proc proc defaults 0 0
179shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
180
181/dev/cdrom /mnt/cdrom auto noauto,user 0 0
182</pre>
183
184<note test="func:keyval('arch')='PPC'">
185There are important variations between PPC machine types. Please make sure you
186adapt the following example to your system.
187</note>
188
189<pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC'">
190/dev/hda4 / ext3 noatime 0 1
191/dev/hda3 none swap sw 0 0
192
193proc /proc proc defaults 0 0
194shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
195
196/dev/cdrom /mnt/cdrom auto noauto,user 0 0
197</pre>
198
199<pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC64'">
200/dev/sda4 / ext3 noatime 0 1
201/dev/sda3 none swap sw 0 0
202
203proc /proc proc defaults 0 0
204shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
205
206/dev/cdrom /mnt/cdrom auto noauto,user 0 0
207</pre>
208
209<p>
210<c>auto</c> makes <c>mount</c> guess for the filesystem (recommended for
211removable media as they can be created with one of many filesystems) and
212<c>user</c> makes it possible for non-root users to mount the CD.
213</p>
214
215<p>
216To improve performance, most users would want to add the <c>noatime</c>
217mount option, which results in a faster system since access times
218aren't registered (you don't need those generally anyway).
219</p>
220
221<p>
222Double-check your <path>/etc/fstab</path>, save and quit to continue.
223</p>
224
225</body>
226</subsection>
21</section> 227</section>
22<section> 228<section>
23<title>Networking Information</title> 229<title>Networking Information</title>
24<body> 230<subsection>
25 231<title>Host name, Domainname, etc</title>
26<p>
27<path>/etc/conf.d/net</path>, <c>rc-update add net.eth0</c>,
28PCMCIA-information etc.
29</p>
30
31</body> 232<body>
233
234<p>
235One of the choices the user has to make is name his/her PC. This seems to be
236quite easy, but <e>lots</e> of users are having difficulties finding the
237appropriate name for their Linux-pc. To speed things up, know that any name you
238choose can be changed afterwards. For all we care, you can just call your system
239<c>tux</c> and domain <c>homenetwork</c>.
240</p>
241
242<pre caption="Setting the host name">
243# <i>nano -w /etc/conf.d/hostname</i>
244
245<comment>(Set the HOSTNAME variable to your host name)</comment>
246HOSTNAME="<i>tux</i>"
247</pre>
248
249<p>
250Second we set the domainname in <path>/etc/conf.d/net</path>:
251</p>
252
253<pre caption="Setting the domainname">
254# <i>nano -w /etc/conf.d/net</i>
255
256<comment>(Set the dns_domain variable to your domain name)</comment>
257dns_domain_lo="<i>homenetwork</i>"
258</pre>
259
260<p>
261If you have a NIS domain (if you don't know what that is, then you don't have
262one), you need to define that one too:
263</p>
264
265<pre caption="Setting the NIS domainname">
266# <i>nano -w /etc/conf.d/net</i>
267
268<comment>(Set the nis_domain variable to your NIS domain name)</comment>
269nis_domain_lo="<i>my-nisdomain</i>"
270</pre>
271
272<note>
273For more information on configuring DNS and NIS, please read the examples
274provided in <path>/etc/conf.d/net.example</path>. Also, you may want to emerge
275<c>resolvconf-gentoo</c> to help manage your DNS/NIS setup.
276</note>
277
278</body>
279</subsection>
280<subsection>
281<title>Configuring your Network</title>
282<body>
283
284<p>
285Before you get that "Hey, we've had that already"-feeling, you should remember
286that the networking you set up in the beginning of the Gentoo installation was
287just for the installation. Right now you are going to configure networking for
288your Gentoo system permanently.
289</p>
290
291<note>
292More detailed information about networking, including advanced topics like
293bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
294link="?part=4">Gentoo Network Configuration</uri> section.
295</note>
296
297<p>
298All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
299a straightforward yet not intuitive syntax if you don't know how to set up
300networking manually. But don't fear, we'll explain everything. A fully
301commented example that covers many different configurations is available in
302<path>/etc/conf.d/net.example</path>.
303</p>
304
305<p>
306DHCP is used by default. For DHCP to work, you will need to install a DHCP
307client. This is described later in <uri
308link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
309Tools</uri>. Do not forget to install a DHCP client.
310</p>
311
312<p>
313If you need to configure your network connection either because you need
314specific DHCP options or because you do not use DHCP at all, open
315<path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
316this example):
317</p>
318
319<pre caption="Opening /etc/conf.d/net for editing">
320# <i>nano -w /etc/conf.d/net</i>
321</pre>
322
323<p>
324You will see the following file:
325</p>
326
327<pre caption="Default /etc/conf.d/net">
328# This blank configuration will automatically use DHCP for any net.*
329# scripts in /etc/init.d. To create a more complete configuration,
330# please review /etc/conf.d/net.example and save your configuration
331# in /etc/conf.d/net (this file :]!).
332</pre>
333
334<p>
335To enter your own IP address, netmask and gateway, you need
336to set both <c>config_eth0</c> and <c>routes_eth0</c>:
337</p>
338
339<pre caption="Manually setting IP information for eth0">
340config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
341routes_eth0=( "default gw 192.168.0.1" )
342</pre>
343
344<p>
345To use DHCP and add specific DHCP options, define <c>config_eth0</c> and
346<c>dhcp_eth0</c>:
347</p>
348
349<pre caption="Automatically obtaining an IP address for eth0">
350config_eth0=( "dhcp" )
351dhcp_eth0="nodns nontp nonis"
352</pre>
353
354<p>
355Please read <path>/etc/conf.d/net.example</path> for a list of all available
356options.
357</p>
358
359<p>
360If you have several network interfaces repeat the above steps for
361<c>config_eth1</c>, <c>config_eth2</c>, etc.
362</p>
363
364<p>
365Now save the configuration and exit to continue.
366</p>
367
368</body>
369</subsection>
370<subsection>
371<title>Automatically Start Networking at Boot</title>
372<body>
373
374<p>
375To have your network interfaces activated at boot, you need to add them to the
376default runlevel. If you have PCMCIA interfaces you should skip this action as
377the PCMCIA interfaces are started by the PCMCIA init script.
378</p>
379
380<pre caption="Adding net.eth0 to the default runlevel">
381# <i>rc-update add net.eth0 default</i>
382</pre>
383
384<p>
385If you have several network interfaces, you need to create the appropriate
386<path>net.eth1</path>, <path>net.eth2</path> etc. initscripts for those. You can
387use <c>ln</c> to do this:
388</p>
389
390<pre caption="Creating extra initscripts">
391# <i>cd /etc/init.d</i>
392# <i>ln -s net.lo net.eth1</i>
393# <i>rc-update add net.eth1 default</i>
394</pre>
395
396</body>
397</subsection>
398<subsection>
399<title>Writing Down Network Information</title>
400<body>
401
402<p>
403You now need to inform Linux about your network. This is defined in
404<path>/etc/hosts</path> and helps in resolving host names to IP addresses for
405hosts that aren't resolved by your nameserver. You need to define your system.
406You may also want to define other systems on your network if you don't want to
407set up your own internal DNS system.
408</p>
409
410<pre caption="Opening /etc/hosts">
411# <i>nano -w /etc/hosts</i>
412</pre>
413
414<pre caption="Filling in the networking information">
415<comment>(This defines the current system)</comment>
416127.0.0.1 tux.homenetwork tux localhost
417
418<comment>(Define extra systems on your network,
419they need to have a static IP to be defined this way.)</comment>
420192.168.0.5 jenny.homenetwork jenny
421192.168.0.6 benny.homenetwork benny
422</pre>
423
424<p>
425Save and exit the editor to continue.
426</p>
427
428<p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
429If you don't have PCMCIA, you can now continue with <uri
430link="#sysinfo">System Information</uri>. PCMCIA-users should read the
431following topic on PCMCIA.
432</p>
433
434</body>
435</subsection>
436<subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
437<title>Optional: Get PCMCIA Working</title>
438<body>
439
440<p>
441PCMCIA-users should first install the <c>pcmcia-cs</c> package. This also
442includes users who will be working with a 2.6 kernel (even though they won't be
443using the PCMCIA drivers from this package). The <c>USE="-X"</c> is necessary
444to avoid installing xorg-x11 at this moment:
445</p>
446
447<pre caption="Installing pcmcia-cs">
448# <i>USE="-X" emerge pcmcia-cs</i>
449</pre>
450
451<p>
452When <c>pcmcia-cs</c> is installed, add <c>pcmcia</c> to the <e>default</e>
453runlevel:
454</p>
455
456<pre caption="Adding pcmcia to the default runlevel">
457# <i>rc-update add pcmcia default</i>
458</pre>
459
460</body>
461</subsection>
32</section> 462</section>
33<section> 463
464<section id="sysinfo">
34<title>System Information</title> 465<title>System Information</title>
35<body> 466<subsection>
36 467<title>Root Password</title>
37<p>
38<path>/etc/rc.conf</path>
39</p>
40
41</body> 468<body>
469
470<p>
471First we set the root password by typing:
472</p>
473
474<pre caption="Setting the root password">
475# <i>passwd</i>
476</pre>
477
478<p>
479If you want root to be able to log on through the serial console, add
480<c>tts/0</c> to <path>/etc/securetty</path>:
481</p>
482
483<pre caption="Adding tts/0 to /etc/securetty">
484# <i>echo "tts/0" &gt;&gt; /etc/securetty</i>
485</pre>
486
487</body>
488</subsection>
489<subsection>
490<title>System Information</title>
491<body>
492
493<p>
494Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration.
495Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :)
496</p>
497
498<pre caption="Opening /etc/rc.conf">
499# <i>nano -w /etc/rc.conf</i>
500</pre>
501
502<p>
503When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
504</p>
505
506<p>
507As you can see, this file is well commented to help you set up the necessary
508configuration variables. You can configure your system to use unicode and
509define your default editor and your display manager (like gdm or kdm).
510</p>
511
512<p>
513Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
514Edit it to configure your keyboard.
515</p>
516
517<pre caption="Opening /etc/conf.d/keymaps">
518# <i>nano -w /etc/conf.d/keymaps</i>
519</pre>
520
521<p>
522Take special care with the <c>KEYMAP</c> variable. If you select the wrong
523<c>KEYMAP</c>, you will get weird results when typing on your keyboard.
524</p>
525
526<note test="func:keyval('arch')='SPARC'">
527Users of USB-based SPARC systems and SPARC clones might need to select an i386
528keymap (such as "us") instead of "sunkeymap".
529</note>
530
531<note test="substring(func:keyval('arch'),1,3)='PPC'">
532PPC uses x86 keymaps on most systems. Users who want to be able to use ADB
533keymaps on boot have to enable ADB keycode sendings in their kernel and have to
534set a mac/ppc keymap in <path>/etc/conf.d/keymaps</path>.
535</note>
536
537<p>
538When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
539exit.
540</p>
541
542<p>
543Gentoo uses <path>/etc/conf.d/clock</path> to set clock options. Edit it
544according to your needs.
545</p>
546
547<pre caption="Opening /etc/conf.d/clock">
548# <i>nano -w /etc/conf.d/clock</i>
549</pre>
550
551<p>
552If your hardware clock is not using UTC, you need to add <c>CLOCK="local"</c>
553to the file. Otherwise you will notice some clock skew.
554</p>
555
556<p>
557When you're finished configuring <path>/etc/conf.d/clock</path>, save and
558exit.
559</p>
560
561<p test="not(func:keyval('arch')='PPC64')">
562Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
563Tools</uri>.
564</p>
565
566</body>
567</subsection>
568<subsection test="func:keyval('arch')='PPC64'">
569<title>Configuring the Console</title>
570<body>
571
572<p>
573If you are using a virtual console, you must uncomment the appropriate line in
574<path>/etc/inittab</path> for the virtual console to spawn a login prompt.
575</p>
576
577<pre caption="Enabling hvc or hvsi support in /etc/inittab">
578hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
579hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
580</pre>
581
582<p>
583You should also take this time to verify that the appropriate console is
584listed in <path>/etc/securetty</path>.
585</p>
586
587<p>
588You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
589System Tools</uri>.
590</p>
591
592</body>
593</subsection>
42</section> 594</section>
43</sections> 595</sections>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.88

  ViewVC Help
Powered by ViewVC 1.1.20