/[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.75 - (hide annotations) (download) (as text)
Mon Feb 27 00:55:34 2006 UTC (8 years, 6 months ago) by fox2mike
Branch: MAIN
Changes since 1.74: +5 -4 lines
File MIME type: application/xml
Handbook for 2006.0, "Chuck Norris can divide by zero"

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 fox2mike 1.75 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/hb-install-config.xml,v 1.19 2006/02/26 17:38:31 josejx Exp $ -->
8 swift 1.8
9 swift 1.2 <sections>
10 swift 1.50
11 fox2mike 1.75 <version>2.17</version>
12     <date>2006-02-27</date>
13 swift 1.50
14 swift 1.1 <section>
15     <title>Filesystem Information</title>
16 swift 1.3 <subsection>
17     <title>What is fstab?</title>
18 swift 1.1 <body>
19    
20     <p>
21 swift 1.3 Under Linux, all partitions used by the system must be listed in
22     <path>/etc/fstab</path>. This file contains the mountpoints of those partitions
23     (where they are seen in the file system structure), how they should be mounted
24 neysx 1.45 and with what special options (automatically or not, whether users can mount
25     them or not, etc.)
26 swift 1.1 </p>
27    
28     </body>
29 swift 1.3 </subsection>
30     <subsection>
31     <title>Creating /etc/fstab</title>
32     <body>
33    
34     <p>
35 swift 1.17 <path>/etc/fstab</path> uses a special syntax. Every line consists of six
36 swift 1.9 fields, separated by whitespace (space(s), tabs or a mixture). Each field has
37 swift 1.3 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>mountpoint</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>mountoptions</b> used by <c>mount</c> when it
54     wants to mount the partition. As every filesystem has its own mountoptions,
55 swift 1.49 you are encouraged to read the mount man page (<c>man mount</c>) for a full
56 swift 1.9 listing. Multiple mountoptions are comma-separated.
57 swift 1.3 </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 swift 1.17 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 neysx 1.45 (or <c>0</c> if a filesystem check isn't necessary).
67 swift 1.3 </li>
68     </ul>
69    
70     <p>
71 swift 1.44 The default <path>/etc/fstab</path> file provided by Gentoo <e>is no valid fstab
72     file</e>, so start <c>nano</c> (or your favorite editor) to create your
73 swift 1.3 <path>/etc/fstab</path>:
74     </p>
75    
76     <pre caption="Opening /etc/fstab">
77     # <i>nano -w /etc/fstab</i>
78     </pre>
79    
80     <p>
81 swift 1.17 Let us take a look at how we write down the options for the <path>/boot</path>
82 swift 1.3 partition. This is just an example, so if your architecture doesn't require a
83 fox2mike 1.75 <path>/boot</path> partition (such as Apple <b>PPC</b> machines), don't copy it
84     verbatim.
85 swift 1.3 </p>
86    
87     <p>
88     In our default x86 partitioning example <path>/boot</path> is the
89 swift 1.35 <path>/dev/hda1</path> partition, with <c>ext2</c> as filesystem.
90     It needs to be checked during boot, so we would write down:
91 swift 1.3 </p>
92    
93     <pre caption="An example /boot line for /etc/fstab">
94 swift 1.35 /dev/hda1 /boot ext2 defaults 1 2
95 swift 1.3 </pre>
96    
97     <p>
98 swift 1.35 Some users don't want their <path>/boot</path> partition to be mounted
99 swift 1.43 automatically to improve their system's security. Those people should
100     substitute <c>defaults</c> with <c>noauto</c>. This does mean that you need to
101     manually mount this partition every time you want to use it.
102 swift 1.35 </p>
103    
104     <p>
105 swift 1.3 Now, to improve performance, most users would want to add the <c>noatime</c>
106 swift 1.27 option as mountoption, which results in a faster system since access times
107 swift 1.3 aren't registered (you don't need those generally anyway):
108     </p>
109    
110     <pre caption="An improved /boot line for /etc/fstab">
111 swift 1.43 /dev/hda1 /boot ext2 defaults,noatime 1 2
112 swift 1.3 </pre>
113    
114     <p>
115     If we continue with this, we would end up with the following three lines (for
116     <path>/boot</path>, <path>/</path> and the swap partition):
117     </p>
118    
119     <pre caption="Three /etc/fstab lines">
120 swift 1.43 /dev/hda1 /boot ext2 defaults,noatime 1 2
121 swift 1.3 /dev/hda2 none swap sw 0 0
122     /dev/hda3 / ext3 noatime 0 1
123     </pre>
124    
125     <p>
126     To finish up, you should add a rule for <path>/proc</path>, <c>tmpfs</c>
127 swift 1.7 (required) and for your CD-ROM drive (and of course, if you have other
128 swift 1.3 partitions or drives, for those too):
129     </p>
130    
131     <pre caption="A full /etc/fstab example">
132 swift 1.54 /dev/hda1 /boot ext2 defaults,noatime 1 2
133 vapier 1.47 /dev/hda2 none swap sw 0 0
134     /dev/hda3 / ext3 noatime 0 1
135 swift 1.3
136 vapier 1.47 none /proc proc defaults 0 0
137     none /dev/shm tmpfs nodev,nosuid,noexec 0 0
138 swift 1.3
139     /dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
140     </pre>
141    
142     <p>
143     <c>auto</c> makes <c>mount</c> guess for the filesystem (recommended for
144     removable media as they can be created with one of many filesystems) and
145     <c>user</c> makes it possible for non-root users to mount the CD.
146     </p>
147    
148     <p>
149     Now use the above example to create your <path>/etc/fstab</path>. If you are a
150 swift 1.32 <b>SPARC</b>-user, you should add the following line to your
151     <path>/etc/fstab</path>
152 swift 1.3 too:
153     </p>
154    
155     <pre caption="Adding openprom filesystem to /etc/fstab">
156 swift 1.5 none /proc/openprom openpromfs defaults 0 0
157     </pre>
158    
159     <p>
160 neysx 1.34 Double-check your <path>/etc/fstab</path>, save and quit to continue.
161 swift 1.3 </p>
162    
163     </body>
164     </subsection>
165 swift 1.2 </section>
166     <section>
167 swift 1.1 <title>Networking Information</title>
168 swift 1.3 <subsection>
169     <title>Hostname, Domainname etc.</title>
170     <body>
171    
172     <p>
173 swift 1.33 One of the choices the user has to make is name his/her PC. This seems to be
174     quite easy, but <e>lots</e> of users are having difficulties finding the
175     appropriate name for their Linux-pc. To speed things up, know that any name you
176     choose can be changed afterwards. For all we care, you can just call your system
177 swift 1.3 <c>tux</c> and domain <c>homenetwork</c>.
178     </p>
179    
180     <p>
181     We use these values in the next examples. First we set the hostname:
182     </p>
183    
184     <pre caption="Setting the hostname">
185 swift 1.66 # <i>nano -w /etc/conf.d/hostname</i>
186    
187     <comment>(Set the HOSTNAME variable to your hostname)</comment>
188     HOSTNAME="<i>tux</i>"
189 swift 1.3 </pre>
190    
191     <p>
192     Second we set the domainname:
193     </p>
194    
195     <pre caption="Setting the domainname">
196 swift 1.66 # <i>nano -w /etc/conf.d/domainname</i>
197    
198     <comment>(Set the DNSDOMAIN variable to your domain name)</comment>
199     DNSDOMAIN="<i>homenetwork</i>"
200 swift 1.3 </pre>
201    
202     <p>
203     If you have a NIS domain (if you don't know what that is, then you don't have
204     one), you need to define that one too:
205     </p>
206    
207     <pre caption="Setting the NIS domainname">
208 swift 1.66 # <i>nano -w /etc/conf.d/domainname</i>
209    
210     <comment>(Set the NISDOMAIN variable to your NIS domain name)</comment>
211     NISDOMAIN="<i>my-nisdomain</i>"
212 swift 1.12 </pre>
213    
214     <p>
215     Now add the <c>domainname</c> script to the default runlevel:
216     </p>
217    
218     <pre caption="Adding domainname to the default runlevel">
219     # <i>rc-update add domainname default</i>
220 swift 1.3 </pre>
221    
222     </body>
223     </subsection>
224     <subsection>
225     <title>Configuring your Network</title>
226     <body>
227    
228     <p>
229     Before you get that "Hey, we've had that already"-feeling, you should remember
230 fox2mike 1.67 that the networking you set up in the beginning of the Gentoo installation was
231 swift 1.3 just for the installation. Right now you are going to configure networking for
232     your Gentoo system permanently.
233     </p>
234    
235 fox2mike 1.65 <note>
236     More detailed information about networking, including advanced topics like
237 swift 1.72 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
238 fox2mike 1.65 link="?part=4">Gentoo Network Configuration</uri> section.
239     </note>
240    
241 swift 1.3 <p>
242     All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
243 swift 1.48 a straightforward yet not intuitive syntax if you don't know how to set up
244 neysx 1.69 networking manually. But don't fear, we'll explain everything. A fully
245     commented example that covers many different configurations is available in
246     <path>/etc/conf.d/net.example</path>.
247 swift 1.3 </p>
248    
249     <p>
250 neysx 1.69 DHCP is used by default and does not require any further configuration.
251     </p>
252    
253     <p>
254     If you need to configure your network connection either because you need
255     specific DHCP options or because you do not use DHCP at all, open
256     <path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
257     this example):
258 swift 1.3 </p>
259    
260     <pre caption="Opening /etc/conf.d/net for editing">
261     # <i>nano -w /etc/conf.d/net</i>
262     </pre>
263    
264 swift 1.58 <p>
265 neysx 1.69 You will see the following file:
266 swift 1.58 </p>
267    
268 neysx 1.69 <pre caption="Default /etc/conf.d/net">
269     # This blank configuration will automatically use DHCP for any net.*
270     # scripts in /etc/init.d. To create a more complete configuration,
271     # please review /etc/conf.d/net.example and save your configuration
272     # in /etc/conf.d/net (this file :]!).
273 swift 1.58 </pre>
274    
275     <p>
276 neysx 1.69 To enter your own IP address, netmask and gateway, you need
277 swift 1.58 to set both <c>config_eth0</c> and <c>routes_eth0</c>:
278     </p>
279    
280     <pre caption="Manually setting IP information for eth0">
281 swift 1.74 config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
282 swift 1.58 routes_eth0=( "default gw 192.168.0.1" )
283     </pre>
284    
285     <p>
286 neysx 1.69 To use DHCP and add specific DHCP options, define <c>config_eth0</c> and
287     <c>dhcp_eth0</c>:
288     </p>
289    
290     <pre caption="Automatically obtaining an IP address for eth0">
291     config_eth0=( "dhcp" )
292     dhcp_eth0="nodns nontp nonis"
293     </pre>
294    
295     <p>
296     Please read <path>/etc/conf.d/net.example</path> for a list of all available
297     options.
298     </p>
299    
300     <p>
301 swift 1.58 If you have several network interfaces repeat the above steps for
302     <c>config_eth1</c>, <c>config_eth2</c>, etc.
303     </p>
304    
305 swift 1.3 <p>
306     Now save the configuration and exit to continue.
307     </p>
308    
309     </body>
310     </subsection>
311     <subsection>
312     <title>Automatically Start Networking at Boot</title>
313 swift 1.1 <body>
314    
315     <p>
316 neysx 1.45 To have your network interfaces activated at boot, you need to add them to the
317 swift 1.3 default runlevel. If you have PCMCIA interfaces you should skip this action as
318     the PCMCIA interfaces are started by the PCMCIA init script.
319     </p>
320    
321     <pre caption="Adding net.eth0 to the default runlevel">
322     # <i>rc-update add net.eth0 default</i>
323     </pre>
324    
325     <p>
326     If you have several network interfaces, you need to create the appropriate
327     <path>net.eth1</path>, <path>net.eth2</path> etc. initscripts for those. You can
328     use <c>ln</c> to do this:
329 swift 1.1 </p>
330    
331 swift 1.3 <pre caption="Creating extra initscripts">
332     # <i>cd /etc/init.d</i>
333     # <i>ln -s net.eth0 net.eth1</i>
334     # <i>rc-update add net.eth1 default</i>
335     </pre>
336    
337 swift 1.1 </body>
338 swift 1.3 </subsection>
339     <subsection>
340     <title>Writing Down Network Information</title>
341     <body>
342    
343     <p>
344     You now need to inform Linux about your network. This is defined in
345     <path>/etc/hosts</path> and helps in resolving hostnames to IP addresses
346     for hosts that aren't resolved by your nameserver. For instance, if your
347     internal network consists of three PCs called <c>jenny</c> (192.168.0.5),
348 swift 1.14 <c>benny</c> (192.168.0.6) and <c>tux</c> (192.168.0.7 - this system) you would
349 swift 1.3 open <path>/etc/hosts</path> and fill in the values:
350     </p>
351    
352     <pre caption="Opening /etc/hosts">
353     # <i>nano -w /etc/hosts</i>
354     </pre>
355    
356     <pre caption="Filling in the networking information">
357 swift 1.14 127.0.0.1 localhost
358 swift 1.22 192.168.0.5 jenny.homenetwork jenny
359     192.168.0.6 benny.homenetwork benny
360     192.168.0.7 tux.homenetwork tux
361 swift 1.3 </pre>
362    
363     <p>
364     If your system is the only system (or the nameservers handle all name
365 swift 1.39 resolution) a single line is sufficient. For instance, if you want to call your
366 swift 1.53 system <c>tux</c>:
367 swift 1.3 </p>
368    
369     <pre caption="/etc/hosts for lonely or fully integrated PCs">
370 swift 1.53 127.0.0.1 localhost tux
371 swift 1.3 </pre>
372    
373     <p>
374     Save and exit the editor to continue.
375     </p>
376    
377     <p>
378     If you don't have PCMCIA, you can now continue with <uri
379 swift 1.20 link="#doc_chap3">System Information</uri>. PCMCIA-users should read the
380 swift 1.3 following topic on PCMCIA.
381     </p>
382    
383     </body>
384     </subsection>
385     <subsection>
386     <title>Optional: Get PCMCIA Working</title>
387     <body>
388    
389 swift 1.31 <note>
390     pcmcia-cs is only available for x86, amd64 and ppc platforms.
391     </note>
392    
393 swift 1.3 <p>
394 swift 1.46 PCMCIA-users should first install the <c>pcmcia-cs</c> package. This also
395     includes users who will be working with a 2.6 kernel (even though they won't be
396     using the PCMCIA drivers from this package). The <c>USE="-X"</c> is necessary
397     to avoid installing xorg-x11 at this moment:
398 swift 1.3 </p>
399    
400     <pre caption="Installing pcmcia-cs">
401 swift 1.30 # <i>USE="-X" emerge pcmcia-cs</i>
402 swift 1.3 </pre>
403    
404     <p>
405 swift 1.19 When <c>pcmcia-cs</c> is installed, add <c>pcmcia</c> to the <e>default</e>
406 swift 1.3 runlevel:
407     </p>
408    
409 swift 1.19 <pre caption="Adding pcmcia to the default runlevel">
410     # <i>rc-update add pcmcia default</i>
411 swift 1.3 </pre>
412    
413     </body>
414     </subsection>
415 swift 1.2 </section>
416     <section>
417 swift 1.1 <title>System Information</title>
418 swift 1.41 <subsection>
419     <title>Root Password</title>
420     <body>
421    
422     <p>
423     First we set the root password by typing:
424     </p>
425    
426     <pre caption="Setting the root password">
427     # <i>passwd</i>
428     </pre>
429    
430     <p>
431     If you want root to be able to log on through the serial console, add
432     <c>tts/0</c> to <path>/etc/securetty</path>:
433     </p>
434    
435     <pre caption="Adding tts/0 to /etc/securetty">
436     # <i>echo "tts/0" &gt;&gt; /etc/securetty</i>
437     </pre>
438    
439     </body>
440     </subsection>
441     <subsection>
442     <title>System Information</title>
443 swift 1.1 <body>
444    
445     <p>
446 swift 1.3 Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration.
447     Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :)
448     </p>
449    
450     <pre caption="Opening /etc/rc.conf">
451     # <i>nano -w /etc/rc.conf</i>
452     </pre>
453    
454     <p>
455 fox2mike 1.67 When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
456     </p>
457    
458     <p>
459 swift 1.3 As you can see, this file is well commented to help you set up the necessary
460 neysx 1.69 configuration variables. You can configure your system to use unicode and
461     define your default editor and your display manager (like gdm or kdm).
462 fox2mike 1.67 </p>
463    
464     <p>
465     Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
466     Edit it to configure your keyboard.
467     </p>
468    
469     <pre caption="Opening /etc/conf.d/keymaps">
470     # <i>nano -w /etc/conf.d/keymaps</i>
471     </pre>
472    
473     <p>
474     Take special care with the <c>KEYMAP</c> variable. If you select the wrong
475     <c>KEYMAP</c>, you will get weird results when typing on your keyboard.
476 swift 1.16 </p>
477    
478     <note>
479 swift 1.32 Users of USB-based <b>SPARC</b> systems and <b>SPARC</b> clones might need to
480 swift 1.70 select an i386 keymap (such as "us") instead of "sunkeymap". <b>PPC</b> uses x86
481     keymaps on most systems. Users who want to be able to use ADB keymaps on boot
482     have to enable ADB keycode sendings in their kernel and have to set a mac/ppc
483     keymap in <path>/etc/conf.d/keymaps</path>.
484 swift 1.16 </note>
485    
486     <p>
487 fox2mike 1.67 When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
488     exit.
489     </p>
490    
491     <p>
492     Gentoo uses <path>/etc/conf.d/clock</path> to set clock options. Edit it
493     according to your needs.
494 swift 1.29 </p>
495    
496 fox2mike 1.67 <pre caption="Opening /etc/conf.d/clock">
497     # <i>nano -w /etc/conf.d/clock</i>
498     </pre>
499    
500 swift 1.29 <p>
501 swift 1.61 If your hardware clock is not using UTC, you need to add <c>CLOCK="local"</c> to
502 jkt 1.73 the file. Otherwise you will notice some clock skew. Furthermore, Windows
503     assumes that your hardware clock uses local time, so if you want to dualboot,
504     you should set this variable appropriately, otherwise your clock will go crazy.
505 swift 1.61 </p>
506    
507     <p>
508 fox2mike 1.67 When you're finished configuring <path>/etc/conf.d/clock</path>, save and
509     exit.
510 swift 1.59 </p>
511    
512     <p>
513 swift 1.70 If you are not installing Gentoo on IBM PPC64 hardware, continue with
514 swift 1.59 <uri link="?part=1&amp;chap=9">Installing Necessary System Tools</uri>.
515     </p>
516    
517     </body>
518     </subsection>
519     <subsection>
520     <title>Configuring the Console</title>
521     <body>
522    
523     <note>
524 swift 1.70 The following section applies to the IBM PPC64 hardware platforms.
525 swift 1.59 </note>
526    
527     <p>
528 swift 1.70 If you are running Gentoo on IBM PPC64 hardware and using a virtual console
529     you must uncomment the appropriate line in <path>/etc/inittab</path> for the
530     virtual console to spawn a login prompt.
531 swift 1.59 </p>
532    
533 swift 1.70 <pre caption="Enabling hvc or hvsi support in /etc/inittab">
534     hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
535     hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
536 swift 1.59 </pre>
537    
538     <p>
539 swift 1.70 You should also take this time to verify that the appropriate console is
540 jkt 1.71 listed in <path>/etc/securetty</path>.
541 swift 1.70 </p>
542    
543     <p>
544 swift 1.59 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
545     System Tools</uri>.
546 swift 1.1 </p>
547    
548     </body>
549 swift 1.41 </subsection>
550 swift 1.1 </section>
551 swift 1.2 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20