/[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.85 - (show annotations) (download) (as text)
Sat Oct 21 01:13:51 2006 UTC (8 years, 2 months ago) by nightmorph
Branch: MAIN
Changes since 1.84: +8 -3 lines
File MIME type: application/xml
additional note for users to thoroughly read net.example when trying advanced configuration, thanks to Weeve for reporting via IRC

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

  ViewVC Help
Powered by ViewVC 1.1.20