/[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.97 - (show annotations) (download) (as text)
Tue Apr 1 08:53:46 2008 UTC (6 years, 3 months ago) by nightmorph
Branch: MAIN
Changes since 1.96: +4 -4 lines
File MIME type: application/xml
release time. note that since this is beta1, the release dir and stage/media names have been adjusted accordingly. also, the handbooks are marked with a disclaimer=draft, so once the final is out, that will be removed and the release names adjusted. in the mean time, these are live. the beta is officially released. no, it's not april fools, but it is april 1st. :)

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/draft/hb-install-config.xml,v 1.29 2008/03/31 21:48:58 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>9.0</version>
18 <date>2008-04-01</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 your CD-ROM drive(s), and of course, if you have other partitions or drives,
124 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>, for your CD-ROM drive(s), and of course, if
130 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 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
143 </pre>
144
145 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='HPPA'">
146 <keyval id="/boot"/> /boot ext2 defaults,noatime 1 2
147 /dev/sda3 none swap sw 0 0
148 /dev/sda4 / ext3 noatime 0 1
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 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
159 </pre>
160
161 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='SPARC'">
162 /dev/sda1 / ext3 noatime 0 1
163 /dev/sda2 none swap sw 0 0
164 /dev/sda4 /usr ext3 noatime 0 2
165 /dev/sda5 /var ext3 noatime 0 2
166 /dev/sda6 /home ext3 noatime 0 2
167
168 openprom /proc/openprom openpromfs defaults 0 0
169
170 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
171 </pre>
172
173 <note test="func:keyval('arch')='PPC'">
174 There are important variations between PPC machine types. Please make sure you
175 adapt the following example to your system.
176 </note>
177
178 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC'">
179 /dev/hda4 / ext3 noatime 0 1
180 /dev/hda3 none swap sw 0 0
181
182 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
183 </pre>
184
185 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC64'">
186 /dev/sda4 / ext3 noatime 0 1
187 /dev/sda3 none swap sw 0 0
188
189 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
190 </pre>
191
192 <p>
193 <c>auto</c> makes <c>mount</c> guess for the filesystem (recommended for
194 removable media as they can be created with one of many filesystems) and
195 <c>user</c> makes it possible for non-root users to mount the CD.
196 </p>
197
198 <p>
199 To improve performance, most users would want to add the <c>noatime</c>
200 mount option, which results in a faster system since access times
201 aren't registered (you don't need those generally anyway).
202 </p>
203
204 <p>
205 Double-check your <path>/etc/fstab</path>, save and quit to continue.
206 </p>
207
208 </body>
209 </subsection>
210 </section>
211 <section>
212 <title>Networking Information</title>
213 <subsection>
214 <title>Host name, Domainname, etc</title>
215 <body>
216
217 <p>
218 One of the choices the user has to make is name his/her PC. This seems to be
219 quite easy, but <e>lots</e> of users are having difficulties finding the
220 appropriate name for their Linux-pc. To speed things up, know that any name you
221 choose can be changed afterwards. For all we care, you can just call your system
222 <c>tux</c> and domain <c>homenetwork</c>.
223 </p>
224
225 <pre caption="Setting the host name">
226 # <i>nano -w /etc/conf.d/hostname</i>
227
228 <comment>(Set the HOSTNAME variable to your host name)</comment>
229 HOSTNAME="<i>tux</i>"
230 </pre>
231
232 <p>
233 Second, <e>if</e> you need a domainname, set it in <path>/etc/conf.d/net</path>.
234 You only need a domain if your ISP or network administrator says so, or if you
235 have a DNS server but not a DHCP server. You don't need to worry about DNS or
236 domainnames if your networking is setup for DHCP.
237 </p>
238
239 <pre caption="Setting the domainname">
240 # <i>nano -w /etc/conf.d/net</i>
241
242 <comment>(Set the dns_domain variable to your domain name)</comment>
243 dns_domain_lo="<i>homenetwork</i>"
244 </pre>
245
246 <note>
247 If you choose not to set a domainname, you can get rid of the "This is
248 hostname.(none)" messages at your login screen by editing
249 <path>/etc/issue</path>. Just delete the string <c>.\O</c> from that file.
250 </note>
251
252 <p>
253 If you have a NIS domain (if you don't know what that is, then you don't have
254 one), you need to define that one too:
255 </p>
256
257 <pre caption="Setting the NIS domainname">
258 # <i>nano -w /etc/conf.d/net</i>
259
260 <comment>(Set the nis_domain variable to your NIS domain name)</comment>
261 nis_domain_lo="<i>my-nisdomain</i>"
262 </pre>
263
264 <note>
265 For more information on configuring DNS and NIS, please read the examples
266 provided in <path>/etc/conf.d/net.example</path>. Also, you may want to emerge
267 <c>resolvconf-gentoo</c> to help manage your DNS/NIS setup.
268 </note>
269
270 </body>
271 </subsection>
272 <subsection>
273 <title>Configuring your Network</title>
274 <body>
275
276 <p>
277 Before you get that "Hey, we've had that already"-feeling, you should remember
278 that the networking you set up in the beginning of the Gentoo installation was
279 just for the installation. Right now you are going to configure networking for
280 your Gentoo system permanently.
281 </p>
282
283 <note>
284 More detailed information about networking, including advanced topics like
285 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
286 link="?part=4">Gentoo Network Configuration</uri> section.
287 </note>
288
289 <p>
290 All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
291 a straightforward yet not intuitive syntax if you don't know how to set up
292 networking manually. But don't fear, we'll explain everything. A fully
293 commented example that covers many different configurations is available in
294 <path>/etc/conf.d/net.example</path>.
295 </p>
296
297 <p>
298 DHCP is used by default. For DHCP to work, you will need to install a DHCP
299 client. This is described later in <uri
300 link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
301 Tools</uri>. Do not forget to install a DHCP client.
302 </p>
303
304 <p>
305 If you need to configure your network connection either because you need
306 specific DHCP options or because you do not use DHCP at all, open
307 <path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
308 this example):
309 </p>
310
311 <pre caption="Opening /etc/conf.d/net for editing">
312 # <i>nano -w /etc/conf.d/net</i>
313 </pre>
314
315 <p>
316 You will see the following file:
317 </p>
318
319 <pre caption="Default /etc/conf.d/net">
320 # This blank configuration will automatically use DHCP for any net.*
321 # scripts in /etc/init.d. To create a more complete configuration,
322 # please review /etc/conf.d/net.example and save your configuration
323 # in /etc/conf.d/net (this file :]!).
324 </pre>
325
326 <p>
327 To enter your own IP address, netmask and gateway, you need
328 to set both <c>config_eth0</c> and <c>routes_eth0</c>:
329 </p>
330
331 <pre caption="Manually setting IP information for eth0">
332 config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
333 routes_eth0=( "default via 192.168.0.1" )
334 </pre>
335
336 <p>
337 To use DHCP and add specific DHCP options, define <c>config_eth0</c> and
338 <c>dhcp_eth0</c>:
339 </p>
340
341 <pre caption="Automatically obtaining an IP address for eth0">
342 config_eth0=( "dhcp" )
343 dhcp_eth0="nodns nontp nonis"
344 </pre>
345
346 <p>
347 Please read <path>/etc/conf.d/net.example</path> for a list of all available
348 options.
349 </p>
350
351 <p>
352 If you have several network interfaces repeat the above steps for
353 <c>config_eth1</c>, <c>config_eth2</c>, etc.
354 </p>
355
356 <p>
357 Now save the configuration and exit to continue.
358 </p>
359
360 </body>
361 </subsection>
362 <subsection>
363 <title>Automatically Start Networking at Boot</title>
364 <body>
365
366 <p>
367 To have your network interfaces activated at boot, you need to add them to the
368 default runlevel.
369 </p>
370
371 <pre caption="Adding net.eth0 to the default runlevel">
372 # <i>rc-update add net.eth0 default</i>
373 </pre>
374
375 <p>
376 If you have several network interfaces, you need to create the appropriate
377 <path>net.eth1</path>, <path>net.eth2</path> etc. initscripts for those. You can
378 use <c>ln</c> to do this:
379 </p>
380
381 <pre caption="Creating extra initscripts">
382 # <i>cd /etc/init.d</i>
383 # <i>ln -s net.lo net.eth1</i>
384 # <i>rc-update add net.eth1 default</i>
385 </pre>
386
387 </body>
388 </subsection>
389 <subsection>
390 <title>Writing Down Network Information</title>
391 <body>
392
393 <p>
394 You now need to inform Linux about your network. This is defined in
395 <path>/etc/hosts</path> and helps in resolving host names to IP addresses for
396 hosts that aren't resolved by your nameserver. You need to define your system.
397 You may also want to define other systems on your network if you don't want to
398 set up your own internal DNS system.
399 </p>
400
401 <pre caption="Opening /etc/hosts">
402 # <i>nano -w /etc/hosts</i>
403 </pre>
404
405 <pre caption="Filling in the networking information">
406 <comment>(This defines the current system)</comment>
407 127.0.0.1 tux.homenetwork tux localhost
408
409 <comment>(Define extra systems on your network,
410 they need to have a static IP to be defined this way.)</comment>
411 192.168.0.5 jenny.homenetwork jenny
412 192.168.0.6 benny.homenetwork benny
413 </pre>
414
415 <p>
416 Save and exit the editor to continue.
417 </p>
418
419 <p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
420 If you don't have PCMCIA, you can now continue with <uri
421 link="#sysinfo">System Information</uri>. PCMCIA-users should read the
422 following topic on PCMCIA.
423 </p>
424
425 </body>
426 </subsection>
427 <subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
428 <title>Optional: Get PCMCIA Working</title>
429 <body>
430
431 <p>
432 PCMCIA users should first install the <c>pcmciautils</c> package.
433 </p>
434
435 <pre caption="Installing pcmciautils">
436 # <i>emerge pcmciautils</i>
437 </pre>
438
439 </body>
440 </subsection>
441 </section>
442
443 <section id="sysinfo">
444 <title>System Information</title>
445 <subsection>
446 <title>Root Password</title>
447 <body>
448
449 <p>
450 First we set the root password by typing:
451 </p>
452
453 <pre caption="Setting the root password">
454 # <i>passwd</i>
455 </pre>
456
457 </body>
458 </subsection>
459 <subsection>
460 <title>System Information</title>
461 <body>
462
463 <p>
464 Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration.
465 Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :)
466 </p>
467
468 <pre caption="Opening /etc/rc.conf">
469 # <i>nano -w /etc/rc.conf</i>
470 </pre>
471
472 <p>
473 When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
474 </p>
475
476 <p>
477 As you can see, this file is well commented to help you set up the necessary
478 configuration variables. You can configure your system to use unicode and
479 define your default editor and your display manager (like gdm or kdm).
480 </p>
481
482 <p>
483 Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
484 Edit it to configure your keyboard.
485 </p>
486
487 <pre caption="Opening /etc/conf.d/keymaps">
488 # <i>nano -w /etc/conf.d/keymaps</i>
489 </pre>
490
491 <p>
492 Take special care with the <c>KEYMAP</c> variable. If you select the wrong
493 <c>KEYMAP</c>, you will get weird results when typing on your keyboard.
494 </p>
495
496 <note test="substring(func:keyval('arch'),1,3)='PPC'">
497 PPC uses x86 keymaps on most systems. Users who want to be able to use ADB
498 keymaps on boot have to enable ADB keycode sendings in their kernel and have to
499 set a mac/ppc keymap in <path>/etc/conf.d/keymaps</path>.
500 </note>
501
502 <p>
503 When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
504 exit.
505 </p>
506
507 <p>
508 Gentoo uses <path>/etc/conf.d/clock</path> to set clock options. Edit it
509 according to your needs.
510 </p>
511
512 <pre caption="Opening /etc/conf.d/clock">
513 # <i>nano -w /etc/conf.d/clock</i>
514 </pre>
515
516 <p>
517 If your hardware clock is not using UTC, you need to add <c>CLOCK="local"</c>
518 to the file. Otherwise you will notice some clock skew.
519 </p>
520
521 <p>
522 You should define the timezone that you previously copied to
523 <path>/etc/localtime</path> so that further upgrades of the
524 <c>sys-libs/timezone-data</c> package can update <path>/etc/localtime</path>
525 automatically. For instance, if you used the GMT timezone, you would add
526 <c>TIMEZONE="GMT"</c>
527 </p>
528
529 <p>
530 When you're finished configuring <path>/etc/conf.d/clock</path>, save and
531 exit.
532 </p>
533
534 <p test="not(func:keyval('arch')='PPC64')">
535 Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
536 Tools</uri>.
537 </p>
538
539 </body>
540 </subsection>
541 <subsection test="func:keyval('arch')='PPC64'">
542 <title>Configuring the Console</title>
543 <body>
544
545 <p>
546 If you are using a virtual console, you must uncomment the appropriate line in
547 <path>/etc/inittab</path> for the virtual console to spawn a login prompt.
548 </p>
549
550 <pre caption="Enabling hvc or hvsi support in /etc/inittab">
551 hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
552 hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
553 </pre>
554
555 <p>
556 You should also take this time to verify that the appropriate console is
557 listed in <path>/etc/securetty</path>.
558 </p>
559
560 <p>
561 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
562 System Tools</uri>.
563 </p>
564
565 </body>
566 </subsection>
567 </section>
568 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20