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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.86 - (show annotations) (download) (as text)
Sat Oct 28 09:17:54 2006 UTC (7 years, 5 months ago) by neysx
Branch: MAIN
Changes since 1.85: +7 -1 lines
File MIME type: application/xml
Moved chapter abstracts into shared chapters
No content change, hence no bump

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.85 2006/10/21 01:13:51 nightmorph Exp $ -->
8
9 <sections>
10
11 <abstract>
12 You need to edit some important configuration files. In this chapter
13 you receive an overview of these files and an explanation on how to
14 proceed.
15 </abstract>
16
17 <version>7.4</version>
18 <date>2006-10-20</date>
19
20 <section>
21 <title>Filesystem Information</title>
22 <subsection>
23 <title>What is fstab?</title>
24 <body>
25
26 <p>
27 Under 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
30 and with what special options (automatically or not, whether users can mount
31 them 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
42 fields, separated by whitespace (space(s), tabs or a mixture). Each field has
43 its 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>
77 The default <path>/etc/fstab</path> file provided by Gentoo <e>is not a valid
78 fstab 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>
89 Let us take a look at how we write down the options for the <path>/boot</path>
90 partition. 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')">
95 In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is
96 usually 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
98 filesystem. It needs to be checked during boot, so we would write down:
99 </p>
100
101 <p test="contains(func:keyval('/boot'), '/dev/sd')">
102 In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is
103 usually the <path><keyval id="/boot"/></path> partition, with <c>ext2</c> as
104 filesystem. 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>
112 Some users don't want their <path>/boot</path> partition to be mounted
113 automatically to improve their system's security. Those people should
114 substitute <c>defaults</c> with <c>noauto</c>. This does mean that you need to
115 manually 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')">
122 Add 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
124 you have other partitions or drives, for those too.
125 </p>
126
127 <p test="func:keyval('arch')='SPARC'">
128 Add 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
130 drive(s), and of course, if you have other partitions or drives, for those too.
131 </p>
132
133 <p>
134 Now 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
142 none /proc proc defaults 0 0
143 none /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
153 none /proc proc defaults 0 0
154 none /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
164 none /proc proc defaults 0 0
165 none /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
177 none /proc/openprom openpromfs defaults 0 0
178 none /proc proc defaults 0 0
179 none /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'">
185 There are important variations between PPC machine types. Please make sure you
186 adapt 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
193 none /proc proc defaults 0 0
194 none /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
203 none /proc proc defaults 0 0
204 none /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
211 removable 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>
216 To improve performance, most users would want to add the <c>noatime</c>
217 mount option, which results in a faster system since access times
218 aren't registered (you don't need those generally anyway).
219 </p>
220
221 <p>
222 Double-check your <path>/etc/fstab</path>, save and quit to continue.
223 </p>
224
225 </body>
226 </subsection>
227 </section>
228 <section>
229 <title>Networking Information</title>
230 <subsection>
231 <title>Host name, Domainname, etc</title>
232 <body>
233
234 <p>
235 One of the choices the user has to make is name his/her PC. This seems to be
236 quite easy, but <e>lots</e> of users are having difficulties finding the
237 appropriate name for their Linux-pc. To speed things up, know that any name you
238 choose 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>
246 HOSTNAME="<i>tux</i>"
247 </pre>
248
249 <p>
250 Second 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>
257 dns_domain_lo="<i>homenetwork</i>"
258 </pre>
259
260 <p>
261 If you have a NIS domain (if you don't know what that is, then you don't have
262 one), 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>
269 nis_domain_lo="<i>my-nisdomain</i>"
270 </pre>
271
272 <note>
273 For more information on configuring DNS and NIS, please read the examples
274 provided in <path>/etc/conf.d/net.example</path>.
275 </note>
276
277 </body>
278 </subsection>
279 <subsection>
280 <title>Configuring your Network</title>
281 <body>
282
283 <p>
284 Before you get that "Hey, we've had that already"-feeling, you should remember
285 that the networking you set up in the beginning of the Gentoo installation was
286 just for the installation. Right now you are going to configure networking for
287 your Gentoo system permanently.
288 </p>
289
290 <note>
291 More detailed information about networking, including advanced topics like
292 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
293 link="?part=4">Gentoo Network Configuration</uri> section.
294 </note>
295
296 <p>
297 All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
298 a straightforward yet not intuitive syntax if you don't know how to set up
299 networking manually. But don't fear, we'll explain everything. A fully
300 commented example that covers many different configurations is available in
301 <path>/etc/conf.d/net.example</path>.
302 </p>
303
304 <p>
305 DHCP is used by default. For DHCP to work, you will need to install a DHCP
306 client. This is described later in <uri
307 link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
308 Tools</uri>. Do not forget to install a DHCP client.
309 </p>
310
311 <p>
312 If you need to configure your network connection either because you need
313 specific DHCP options or because you do not use DHCP at all, open
314 <path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
315 this example):
316 </p>
317
318 <pre caption="Opening /etc/conf.d/net for editing">
319 # <i>nano -w /etc/conf.d/net</i>
320 </pre>
321
322 <p>
323 You will see the following file:
324 </p>
325
326 <pre caption="Default /etc/conf.d/net">
327 # This blank configuration will automatically use DHCP for any net.*
328 # scripts in /etc/init.d. To create a more complete configuration,
329 # please review /etc/conf.d/net.example and save your configuration
330 # in /etc/conf.d/net (this file :]!).
331 </pre>
332
333 <p>
334 To enter your own IP address, netmask and gateway, you need
335 to set both <c>config_eth0</c> and <c>routes_eth0</c>:
336 </p>
337
338 <pre caption="Manually setting IP information for eth0">
339 config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
340 routes_eth0=( "default gw 192.168.0.1" )
341 </pre>
342
343 <p>
344 To use DHCP and add specific DHCP options, define <c>config_eth0</c> and
345 <c>dhcp_eth0</c>:
346 </p>
347
348 <pre caption="Automatically obtaining an IP address for eth0">
349 config_eth0=( "dhcp" )
350 dhcp_eth0="nodns nontp nonis"
351 </pre>
352
353 <p>
354 Please read <path>/etc/conf.d/net.example</path> for a list of all available
355 options.
356 </p>
357
358 <p>
359 If you have several network interfaces repeat the above steps for
360 <c>config_eth1</c>, <c>config_eth2</c>, etc.
361 </p>
362
363 <p>
364 Now save the configuration and exit to continue.
365 </p>
366
367 </body>
368 </subsection>
369 <subsection>
370 <title>Automatically Start Networking at Boot</title>
371 <body>
372
373 <p>
374 To have your network interfaces activated at boot, you need to add them to the
375 default runlevel. If you have PCMCIA interfaces you should skip this action as
376 the PCMCIA interfaces are started by the PCMCIA init script.
377 </p>
378
379 <pre caption="Adding net.eth0 to the default runlevel">
380 # <i>rc-update add net.eth0 default</i>
381 </pre>
382
383 <p>
384 If you have several network interfaces, you need to create the appropriate
385 <path>net.eth1</path>, <path>net.eth2</path> etc. initscripts for those. You can
386 use <c>ln</c> to do this:
387 </p>
388
389 <pre caption="Creating extra initscripts">
390 # <i>cd /etc/init.d</i>
391 # <i>ln -s net.lo net.eth1</i>
392 # <i>rc-update add net.eth1 default</i>
393 </pre>
394
395 </body>
396 </subsection>
397 <subsection>
398 <title>Writing Down Network Information</title>
399 <body>
400
401 <p>
402 You now need to inform Linux about your network. This is defined in
403 <path>/etc/hosts</path> and helps in resolving host names to IP addresses for
404 hosts that aren't resolved by your nameserver. You need to define your system.
405 You may also want to define other systems on your network if you don't want to
406 set up your own internal DNS system.
407 </p>
408
409 <pre caption="Opening /etc/hosts">
410 # <i>nano -w /etc/hosts</i>
411 </pre>
412
413 <pre caption="Filling in the networking information">
414 <comment>(This defines the current system)</comment>
415 127.0.0.1 tux.homenetwork tux localhost
416
417 <comment>(Define extra systems on your network,
418 they need to have a static IP to be defined this way.)</comment>
419 192.168.0.5 jenny.homenetwork jenny
420 192.168.0.6 benny.homenetwork benny
421 </pre>
422
423 <p>
424 Save and exit the editor to continue.
425 </p>
426
427 <p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
428 If you don't have PCMCIA, you can now continue with <uri
429 link="#sysinfo">System Information</uri>. PCMCIA-users should read the
430 following topic on PCMCIA.
431 </p>
432
433 </body>
434 </subsection>
435 <subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
436 <title>Optional: Get PCMCIA Working</title>
437 <body>
438
439 <p>
440 PCMCIA-users should first install the <c>pcmcia-cs</c> package. This also
441 includes users who will be working with a 2.6 kernel (even though they won't be
442 using the PCMCIA drivers from this package). The <c>USE="-X"</c> is necessary
443 to avoid installing xorg-x11 at this moment:
444 </p>
445
446 <pre caption="Installing pcmcia-cs">
447 # <i>USE="-X" emerge pcmcia-cs</i>
448 </pre>
449
450 <p>
451 When <c>pcmcia-cs</c> is installed, add <c>pcmcia</c> to the <e>default</e>
452 runlevel:
453 </p>
454
455 <pre caption="Adding pcmcia to the default runlevel">
456 # <i>rc-update add pcmcia default</i>
457 </pre>
458
459 </body>
460 </subsection>
461 </section>
462
463 <section id="sysinfo">
464 <title>System Information</title>
465 <subsection>
466 <title>Root Password</title>
467 <body>
468
469 <p>
470 First we set the root password by typing:
471 </p>
472
473 <pre caption="Setting the root password">
474 # <i>passwd</i>
475 </pre>
476
477 <p>
478 If you want root to be able to log on through the serial console, add
479 <c>tts/0</c> to <path>/etc/securetty</path>:
480 </p>
481
482 <pre caption="Adding tts/0 to /etc/securetty">
483 # <i>echo "tts/0" &gt;&gt; /etc/securetty</i>
484 </pre>
485
486 </body>
487 </subsection>
488 <subsection>
489 <title>System Information</title>
490 <body>
491
492 <p>
493 Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration.
494 Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :)
495 </p>
496
497 <pre caption="Opening /etc/rc.conf">
498 # <i>nano -w /etc/rc.conf</i>
499 </pre>
500
501 <p>
502 When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
503 </p>
504
505 <p>
506 As you can see, this file is well commented to help you set up the necessary
507 configuration variables. You can configure your system to use unicode and
508 define your default editor and your display manager (like gdm or kdm).
509 </p>
510
511 <p>
512 Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
513 Edit it to configure your keyboard.
514 </p>
515
516 <pre caption="Opening /etc/conf.d/keymaps">
517 # <i>nano -w /etc/conf.d/keymaps</i>
518 </pre>
519
520 <p>
521 Take special care with the <c>KEYMAP</c> variable. If you select the wrong
522 <c>KEYMAP</c>, you will get weird results when typing on your keyboard.
523 </p>
524
525 <note test="func:keyval('arch')='SPARC'">
526 Users of USB-based SPARC systems and SPARC clones might need to select an i386
527 keymap (such as "us") instead of "sunkeymap".
528 </note>
529
530 <note test="substring(func:keyval('arch'),1,3)='PPC'">
531 PPC uses x86 keymaps on most systems. Users who want to be able to use ADB
532 keymaps on boot have to enable ADB keycode sendings in their kernel and have to
533 set a mac/ppc keymap in <path>/etc/conf.d/keymaps</path>.
534 </note>
535
536 <p>
537 When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
538 exit.
539 </p>
540
541 <p>
542 Gentoo uses <path>/etc/conf.d/clock</path> to set clock options. Edit it
543 according to your needs.
544 </p>
545
546 <pre caption="Opening /etc/conf.d/clock">
547 # <i>nano -w /etc/conf.d/clock</i>
548 </pre>
549
550 <p>
551 If your hardware clock is not using UTC, you need to add <c>CLOCK="local"</c>
552 to the file. Otherwise you will notice some clock skew.
553 </p>
554
555 <p>
556 When you're finished configuring <path>/etc/conf.d/clock</path>, save and
557 exit.
558 </p>
559
560 <p test="not(func:keyval('arch')='PPC64')">
561 Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
562 Tools</uri>.
563 </p>
564
565 </body>
566 </subsection>
567 <subsection test="func:keyval('arch')='PPC64'">
568 <title>Configuring the Console</title>
569 <body>
570
571 <p>
572 If you are using a virtual console, you must uncomment the appropriate line in
573 <path>/etc/inittab</path> for the virtual console to spawn a login prompt.
574 </p>
575
576 <pre caption="Enabling hvc or hvsi support in /etc/inittab">
577 hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
578 hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
579 </pre>
580
581 <p>
582 You should also take this time to verify that the appropriate console is
583 listed in <path>/etc/securetty</path>.
584 </p>
585
586 <p>
587 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
588 System Tools</uri>.
589 </p>
590
591 </body>
592 </subsection>
593 </section>
594 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20