/[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.99 - (hide annotations) (download) (as text)
Fri May 2 08:04:23 2008 UTC (6 years, 7 months ago) by nightmorph
Branch: MAIN
Changes since 1.98: +9 -40 lines
File MIME type: application/xml
As announced on the list (http://archives.gentoo.org/gentoo-doc/msg_e721be404c6a5ae8ce5c5bf02f45381c.xml), assume all arches are using the libata framework, so sd* everywhere. includes updating block device and partition descriptions. also added a new included file for boot config (starting sshd, hdparm, etc). synced up several wayward files, including sparc. also changed/dropped usage of some now useless keys, since everyone's using sd*. lots of intensive, invasive changes. and i never even used sed once.

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

  ViewVC Help
Powered by ViewVC 1.1.20