/[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.65 - (hide annotations) (download) (as text)
Sat Jun 11 19:45:37 2005 UTC (9 years, 5 months ago) by fox2mike
Branch: MAIN
Changes since 1.64: +8 -2 lines
File MIME type: application/xml
Adding a link to the Gentoo Network Config section. Patch by Jan Kundrat (jkt)

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     <!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
6    
7 fox2mike 1.65 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.64 2005/06/11 18:25:09 fox2mike Exp $ -->
8 swift 1.8
9 swift 1.2 <sections>
10 swift 1.50
11 fox2mike 1.65 <version>2.7</version>
12 swift 1.63 <date>2005-06-11</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     # <i>echo tux &gt; /etc/hostname</i>
185     </pre>
186    
187     <p>
188     Second we set the domainname:
189     </p>
190    
191     <pre caption="Setting the domainname">
192     # <i>echo homenetwork &gt; /etc/dnsdomainname</i>
193     </pre>
194    
195     <p>
196     If you have a NIS domain (if you don't know what that is, then you don't have
197     one), you need to define that one too:
198     </p>
199    
200     <pre caption="Setting the NIS domainname">
201     # <i>echo nis.homenetwork &gt; /etc/nisdomainname</i>
202 swift 1.12 </pre>
203    
204     <p>
205     Now add the <c>domainname</c> script to the default runlevel:
206     </p>
207    
208     <pre caption="Adding domainname to the default runlevel">
209     # <i>rc-update add domainname default</i>
210 swift 1.3 </pre>
211    
212     </body>
213     </subsection>
214     <subsection>
215     <title>Configuring your Network</title>
216     <body>
217    
218     <p>
219     Before you get that "Hey, we've had that already"-feeling, you should remember
220 swift 1.27 that the networking you set up in the beginning of the gentoo installation was
221 swift 1.3 just for the installation. Right now you are going to configure networking for
222     your Gentoo system permanently.
223     </p>
224    
225 fox2mike 1.65 <note>
226     More detailed information about networking, including advanced topics like
227     bonding, bridging, 802.11q VLANs or wireless networking is covered in the <uri
228     link="?part=4">Gentoo Network Configuration</uri> section.
229     </note>
230    
231 swift 1.3 <p>
232     All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
233 swift 1.48 a straightforward yet not intuitive syntax if you don't know how to set up
234 swift 1.3 networking manually. But don't fear, we'll explain everything :)
235     </p>
236    
237     <p>
238     First open <path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c>
239     is used in this example):
240     </p>
241    
242     <pre caption="Opening /etc/conf.d/net for editing">
243     # <i>nano -w /etc/conf.d/net</i>
244     </pre>
245    
246 swift 1.58 <p>
247     The first variable you'll find is called <c>config_eth0</c>. As you can probably
248     imagine, this variable configured the eth0 network interface. If the interface
249 swift 1.63 needs to automatically obtain an IP address through DHCP, you should set it
250     like so:
251 swift 1.58 </p>
252    
253 fox2mike 1.64 <pre caption="Automatically obtaining an IP address for eth0">
254 swift 1.58 config_eth0=( "dhcp" )
255     </pre>
256    
257     <p>
258     However, if you have to enter your own IP address, netmask and gateway, you need
259     to set both <c>config_eth0</c> and <c>routes_eth0</c>:
260     </p>
261    
262     <pre caption="Manually setting IP information for eth0">
263     config_eth0=( "192.168.0.2 netmask 255.255.255.0" )
264     routes_eth0=( "default gw 192.168.0.1" )
265     </pre>
266    
267     <p>
268     If you have several network interfaces repeat the above steps for
269     <c>config_eth1</c>, <c>config_eth2</c>, etc.
270     </p>
271    
272 swift 1.3 <p>
273     Now save the configuration and exit to continue.
274     </p>
275    
276     </body>
277     </subsection>
278     <subsection>
279     <title>Automatically Start Networking at Boot</title>
280 swift 1.1 <body>
281    
282     <p>
283 neysx 1.45 To have your network interfaces activated at boot, you need to add them to the
284 swift 1.3 default runlevel. If you have PCMCIA interfaces you should skip this action as
285     the PCMCIA interfaces are started by the PCMCIA init script.
286     </p>
287    
288     <pre caption="Adding net.eth0 to the default runlevel">
289     # <i>rc-update add net.eth0 default</i>
290     </pre>
291    
292     <p>
293     If you have several network interfaces, you need to create the appropriate
294     <path>net.eth1</path>, <path>net.eth2</path> etc. initscripts for those. You can
295     use <c>ln</c> to do this:
296 swift 1.1 </p>
297    
298 swift 1.3 <pre caption="Creating extra initscripts">
299     # <i>cd /etc/init.d</i>
300     # <i>ln -s net.eth0 net.eth1</i>
301     # <i>rc-update add net.eth1 default</i>
302     </pre>
303    
304 swift 1.1 </body>
305 swift 1.3 </subsection>
306     <subsection>
307     <title>Writing Down Network Information</title>
308     <body>
309    
310     <p>
311     You now need to inform Linux about your network. This is defined in
312     <path>/etc/hosts</path> and helps in resolving hostnames to IP addresses
313     for hosts that aren't resolved by your nameserver. For instance, if your
314     internal network consists of three PCs called <c>jenny</c> (192.168.0.5),
315 swift 1.14 <c>benny</c> (192.168.0.6) and <c>tux</c> (192.168.0.7 - this system) you would
316 swift 1.3 open <path>/etc/hosts</path> and fill in the values:
317     </p>
318    
319     <pre caption="Opening /etc/hosts">
320     # <i>nano -w /etc/hosts</i>
321     </pre>
322    
323     <pre caption="Filling in the networking information">
324 swift 1.14 127.0.0.1 localhost
325 swift 1.22 192.168.0.5 jenny.homenetwork jenny
326     192.168.0.6 benny.homenetwork benny
327     192.168.0.7 tux.homenetwork tux
328 swift 1.3 </pre>
329    
330     <p>
331     If your system is the only system (or the nameservers handle all name
332 swift 1.39 resolution) a single line is sufficient. For instance, if you want to call your
333 swift 1.53 system <c>tux</c>:
334 swift 1.3 </p>
335    
336     <pre caption="/etc/hosts for lonely or fully integrated PCs">
337 swift 1.53 127.0.0.1 localhost tux
338 swift 1.3 </pre>
339    
340     <p>
341     Save and exit the editor to continue.
342     </p>
343    
344     <p>
345     If you don't have PCMCIA, you can now continue with <uri
346 swift 1.20 link="#doc_chap3">System Information</uri>. PCMCIA-users should read the
347 swift 1.3 following topic on PCMCIA.
348     </p>
349    
350     </body>
351     </subsection>
352     <subsection>
353     <title>Optional: Get PCMCIA Working</title>
354     <body>
355    
356 swift 1.31 <note>
357     pcmcia-cs is only available for x86, amd64 and ppc platforms.
358     </note>
359    
360 swift 1.3 <p>
361 swift 1.46 PCMCIA-users should first install the <c>pcmcia-cs</c> package. This also
362     includes users who will be working with a 2.6 kernel (even though they won't be
363     using the PCMCIA drivers from this package). The <c>USE="-X"</c> is necessary
364     to avoid installing xorg-x11 at this moment:
365 swift 1.3 </p>
366    
367     <pre caption="Installing pcmcia-cs">
368 swift 1.30 # <i>USE="-X" emerge pcmcia-cs</i>
369 swift 1.3 </pre>
370    
371     <p>
372 swift 1.19 When <c>pcmcia-cs</c> is installed, add <c>pcmcia</c> to the <e>default</e>
373 swift 1.3 runlevel:
374     </p>
375    
376 swift 1.19 <pre caption="Adding pcmcia to the default runlevel">
377     # <i>rc-update add pcmcia default</i>
378 swift 1.3 </pre>
379    
380     </body>
381     </subsection>
382 swift 1.2 </section>
383     <section>
384 swift 1.1 <title>System Information</title>
385 swift 1.41 <subsection>
386     <title>Root Password</title>
387     <body>
388    
389     <p>
390     First we set the root password by typing:
391     </p>
392    
393     <pre caption="Setting the root password">
394     # <i>passwd</i>
395     </pre>
396    
397     <p>
398     If you want root to be able to log on through the serial console, add
399     <c>tts/0</c> to <path>/etc/securetty</path>:
400     </p>
401    
402     <pre caption="Adding tts/0 to /etc/securetty">
403     # <i>echo "tts/0" &gt;&gt; /etc/securetty</i>
404     </pre>
405    
406     </body>
407     </subsection>
408     <subsection>
409     <title>System Information</title>
410 swift 1.1 <body>
411    
412     <p>
413 swift 1.3 Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration.
414     Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :)
415     </p>
416    
417     <pre caption="Opening /etc/rc.conf">
418     # <i>nano -w /etc/rc.conf</i>
419     </pre>
420    
421     <p>
422     As you can see, this file is well commented to help you set up the necessary
423 swift 1.16 configuration variables. Take special care with the <c>KEYMAP</c> setting: if
424     you select the wrong <c>KEYMAP</c> you will get weird results when typing on
425     your keyboard.
426     </p>
427    
428     <note>
429 swift 1.32 Users of USB-based <b>SPARC</b> systems and <b>SPARC</b> clones might need to
430     select an i386 keymap (such as "us") instead of "sunkeymap".
431 swift 1.16 </note>
432    
433     <p>
434 swift 1.32 <b>PPC</b> uses x86 keymaps on most systems. Users who want to be able to use
435     ADB keymaps on boot have to enable ADB keycode sendings in their kernel and have
436     to set a mac/ppc keymap in <path>rc.conf</path>.
437 swift 1.29 </p>
438    
439     <p>
440 swift 1.61 If your hardware clock is not using UTC, you need to add <c>CLOCK="local"</c> to
441     the file. Otherwise you will notice some clock skew.
442     </p>
443    
444     <p>
445 swift 1.59 When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
446     </p>
447    
448     <p>
449     If you are not installing Gentoo on an IBM POWER5 or JS20 system, continue with
450     <uri link="?part=1&amp;chap=9">Installing Necessary System Tools</uri>.
451     </p>
452    
453     </body>
454     </subsection>
455     <subsection>
456     <title>Configuring the Console</title>
457     <body>
458    
459     <note>
460     The following section applies to the IBM POWER5 and JS20 hardware platforms.
461     </note>
462    
463     <p>
464 neysx 1.60 If you are running Gentoo in an LPAR or on a JS20 blade, you must uncomment
465 swift 1.59 the hvc line in /etc/inittab for the virtual console to spawn a login prompt.
466     </p>
467    
468     <pre caption="Enabling hvc support in /etc/inittab">
469     hvc:12345:respawn:/sbin/agetty -nl /bin/bashlogin 9600 hvc0 vt220
470     </pre>
471    
472     <p>
473     You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
474     System Tools</uri>.
475 swift 1.1 </p>
476    
477     </body>
478 swift 1.41 </subsection>
479 swift 1.1 </section>
480 swift 1.2 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20