/[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.71 - (hide annotations) (download) (as text)
Sat Aug 13 21:03:21 2005 UTC (9 years ago) by jkt
Branch: MAIN
Changes since 1.70: +4 -4 lines
File MIME type: application/xml
/etc/securetty should be inside <path>s

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

  ViewVC Help
Powered by ViewVC 1.1.20