/[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.96 - (hide annotations) (download) (as text)
Fri Feb 29 15:54:59 2008 UTC (6 years, 4 months ago) by swift
Branch: MAIN
Changes since 1.95: +2 -2 lines
File MIME type: application/xml
Simple fixes, no content change

1 swift 1.18 <?xml version='1.0' encoding='UTF-8'?>
2     <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3    
4 swift 1.4 <!-- The content of this document is licensed under the CC-BY-SA license -->
5 fox2mike 1.68 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6 swift 1.4
7 swift 1.96 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.95 2007/08/01 18:12:47 swift Exp $ -->
8 swift 1.8
9 swift 1.2 <sections>
10 swift 1.50
11 neysx 1.86 <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 swift 1.95 <version>8.3</version>
18     <date>2007-08-01</date>
19 swift 1.50
20 swift 1.1 <section>
21     <title>Filesystem Information</title>
22 swift 1.3 <subsection>
23     <title>What is fstab?</title>
24 swift 1.1 <body>
25    
26     <p>
27 swift 1.3 Under Linux, all partitions used by the system must be listed in
28 neysx 1.79 <path>/etc/fstab</path>. This file contains the mount points of those partitions
29 swift 1.3 (where they are seen in the file system structure), how they should be mounted
30 neysx 1.45 and with what special options (automatically or not, whether users can mount
31     them or not, etc.)
32 swift 1.1 </p>
33    
34     </body>
35 swift 1.3 </subsection>
36     <subsection>
37     <title>Creating /etc/fstab</title>
38     <body>
39    
40     <p>
41 swift 1.17 <path>/etc/fstab</path> uses a special syntax. Every line consists of six
42 swift 1.9 fields, separated by whitespace (space(s), tabs or a mixture). Each field has
43 swift 1.3 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 neysx 1.79 The second field shows the <b>mount point</b> at which the partition should be
53 swift 1.3 mounted
54     </li>
55     <li>
56     The third field shows the <b>filesystem</b> used by the partition
57     </li>
58     <li>
59 neysx 1.79 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 swift 1.49 you are encouraged to read the mount man page (<c>man mount</c>) for a full
62 neysx 1.79 listing. Multiple mount options are comma-separated.
63 swift 1.3 </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 swift 1.17 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 neysx 1.45 (or <c>0</c> if a filesystem check isn't necessary).
73 swift 1.3 </li>
74     </ul>
75    
76 neysx 1.79 <impo>
77 nightmorph 1.77 The default <path>/etc/fstab</path> file provided by Gentoo <e>is not a valid
78 nightmorph 1.90 fstab file</e>. You <b>have to create</b> your own <path>/etc/fstab</path>.
79 neysx 1.79 </impo>
80 swift 1.3
81     <pre caption="Opening /etc/fstab">
82     # <i>nano -w /etc/fstab</i>
83     </pre>
84    
85 neysx 1.79 </body>
86     <body test="func:keyval('/boot')">
87    
88 swift 1.3 <p>
89 swift 1.17 Let us take a look at how we write down the options for the <path>/boot</path>
90 neysx 1.79 partition. This is just an example, if you didn't or couldn't create a
91     <path>/boot</path>, don't copy it.
92 swift 1.3 </p>
93    
94 neysx 1.79 <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 swift 1.3 </p>
106    
107     <pre caption="An example /boot line for /etc/fstab">
108 neysx 1.79 <keyval id="/boot"/> /boot ext2 defaults 1 2
109 swift 1.3 </pre>
110    
111     <p>
112 swift 1.35 Some users don't want their <path>/boot</path> partition to be mounted
113 swift 1.43 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 swift 1.35 </p>
117    
118 neysx 1.79 </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 swift 1.95 your CD-ROM drive(s), and of course, if you have other partitions or drives,
124     for those too.
125 neysx 1.79 </p>
126    
127     <p test="func:keyval('arch')='SPARC'">
128     Add the rules that match your partitioning schema and append rules for
129 swift 1.95 <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 neysx 1.79 </p>
132    
133 swift 1.35 <p>
134 neysx 1.79 Now use the <e>example</e> below to create your <path>/etc/fstab</path>:
135 swift 1.3 </p>
136    
137 neysx 1.79 <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 swift 1.3 </pre>
144    
145 neysx 1.79 <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 neysx 1.87 openprom /proc/openprom openpromfs defaults 0 0
169 swift 1.3
170 neysx 1.79 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
171 swift 1.3 </pre>
172    
173 neysx 1.79 <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 swift 1.3
185 neysx 1.79 <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 swift 1.3
189 neysx 1.79 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
190 swift 1.3 </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 neysx 1.79 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 swift 1.3 </p>
203    
204 swift 1.5 <p>
205 neysx 1.34 Double-check your <path>/etc/fstab</path>, save and quit to continue.
206 swift 1.3 </p>
207    
208     </body>
209     </subsection>
210 swift 1.2 </section>
211     <section>
212 swift 1.1 <title>Networking Information</title>
213 swift 1.3 <subsection>
214 nightmorph 1.84 <title>Host name, Domainname, etc</title>
215 swift 1.3 <body>
216    
217     <p>
218 swift 1.33 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 swift 1.3 <c>tux</c> and domain <c>homenetwork</c>.
223     </p>
224    
225 neysx 1.79 <pre caption="Setting the host name">
226 swift 1.66 # <i>nano -w /etc/conf.d/hostname</i>
227    
228 neysx 1.79 <comment>(Set the HOSTNAME variable to your host name)</comment>
229 swift 1.66 HOSTNAME="<i>tux</i>"
230 swift 1.3 </pre>
231    
232 nightmorph 1.84 <p>
233 nightmorph 1.89 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 nightmorph 1.84 </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 nightmorph 1.89 <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 nightmorph 1.84 <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 nightmorph 1.85 <note>
265     For more information on configuring DNS and NIS, please read the examples
266 nightmorph 1.88 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 nightmorph 1.85 </note>
269    
270 swift 1.3 </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 fox2mike 1.67 that the networking you set up in the beginning of the Gentoo installation was
279 swift 1.3 just for the installation. Right now you are going to configure networking for
280     your Gentoo system permanently.
281     </p>
282    
283 fox2mike 1.65 <note>
284     More detailed information about networking, including advanced topics like
285 swift 1.72 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
286 fox2mike 1.65 link="?part=4">Gentoo Network Configuration</uri> section.
287     </note>
288    
289 swift 1.3 <p>
290     All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
291 swift 1.48 a straightforward yet not intuitive syntax if you don't know how to set up
292 neysx 1.69 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 swift 1.3 </p>
296    
297     <p>
298 neysx 1.83 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 neysx 1.69 </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 swift 1.3 </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 swift 1.58 <p>
316 neysx 1.69 You will see the following file:
317 swift 1.58 </p>
318    
319 neysx 1.69 <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 swift 1.58 </pre>
325    
326     <p>
327 neysx 1.69 To enter your own IP address, netmask and gateway, you need
328 swift 1.58 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 swift 1.74 config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
333 nightmorph 1.90 routes_eth0=( "default via 192.168.0.1" )
334 swift 1.58 </pre>
335    
336     <p>
337 neysx 1.69 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 swift 1.58 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 swift 1.3 <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 swift 1.1 <body>
365    
366     <p>
367 neysx 1.45 To have your network interfaces activated at boot, you need to add them to the
368 nightmorph 1.90 default runlevel.
369 swift 1.3 </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 swift 1.1 </p>
380    
381 swift 1.3 <pre caption="Creating extra initscripts">
382     # <i>cd /etc/init.d</i>
383 swift 1.80 # <i>ln -s net.lo net.eth1</i>
384 swift 1.3 # <i>rc-update add net.eth1 default</i>
385     </pre>
386    
387 swift 1.1 </body>
388 swift 1.3 </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 neysx 1.79 <path>/etc/hosts</path> and helps in resolving host names to IP addresses for
396 neysx 1.78 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 swift 1.3 </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 neysx 1.78 <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 swift 1.22 192.168.0.5 jenny.homenetwork jenny
412     192.168.0.6 benny.homenetwork benny
413 swift 1.3 </pre>
414    
415     <p>
416     Save and exit the editor to continue.
417     </p>
418    
419 neysx 1.79 <p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
420 swift 1.3 If you don't have PCMCIA, you can now continue with <uri
421 neysx 1.79 link="#sysinfo">System Information</uri>. PCMCIA-users should read the
422 swift 1.3 following topic on PCMCIA.
423     </p>
424    
425     </body>
426     </subsection>
427 neysx 1.79 <subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
428 swift 1.3 <title>Optional: Get PCMCIA Working</title>
429     <body>
430    
431     <p>
432 nightmorph 1.90 PCMCIA users should first install the <c>pcmciautils</c> package.
433 swift 1.3 </p>
434    
435 nightmorph 1.90 <pre caption="Installing pcmciautils">
436     # <i>emerge pcmciautils</i>
437 swift 1.3 </pre>
438    
439     </body>
440     </subsection>
441 swift 1.2 </section>
442 neysx 1.79
443     <section id="sysinfo">
444 swift 1.1 <title>System Information</title>
445 swift 1.41 <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 swift 1.1 <body>
462    
463     <p>
464 swift 1.3 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 fox2mike 1.67 When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
474     </p>
475    
476     <p>
477 swift 1.3 As you can see, this file is well commented to help you set up the necessary
478 neysx 1.69 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 fox2mike 1.67 </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 swift 1.16 </p>
495    
496 neysx 1.79 <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 swift 1.16 </note>
501    
502     <p>
503 fox2mike 1.67 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 swift 1.29 </p>
511    
512 fox2mike 1.67 <pre caption="Opening /etc/conf.d/clock">
513     # <i>nano -w /etc/conf.d/clock</i>
514     </pre>
515    
516 swift 1.29 <p>
517 nightmorph 1.82 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 swift 1.61 </p>
520    
521     <p>
522 nightmorph 1.93 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 swift 1.96 <c>TIMEZONE="GMT"</c>.
527 nightmorph 1.93 </p>
528    
529     <p>
530 fox2mike 1.67 When you're finished configuring <path>/etc/conf.d/clock</path>, save and
531     exit.
532 swift 1.59 </p>
533    
534 neysx 1.79 <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 swift 1.59 </p>
538    
539     </body>
540     </subsection>
541 neysx 1.79 <subsection test="func:keyval('arch')='PPC64'">
542 swift 1.59 <title>Configuring the Console</title>
543     <body>
544    
545     <p>
546 neysx 1.79 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 swift 1.59 </p>
549    
550 swift 1.70 <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 swift 1.59 </pre>
554    
555     <p>
556 swift 1.70 You should also take this time to verify that the appropriate console is
557 jkt 1.71 listed in <path>/etc/securetty</path>.
558 swift 1.70 </p>
559    
560     <p>
561 swift 1.59 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
562     System Tools</uri>.
563 swift 1.1 </p>
564    
565     </body>
566 swift 1.41 </subsection>
567 swift 1.1 </section>
568 swift 1.2 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20