/[gentoo]/xml/htdocs/doc/en/gentoo-x86-quickinstall.xml
Gentoo

Diff of /xml/htdocs/doc/en/gentoo-x86-quickinstall.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.39 Revision 1.64
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-x86-quickinstall.xml,v 1.39 2005/07/10 20:27:33 swift Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-x86-quickinstall.xml,v 1.64 2006/10/08 19:38:11 nightmorph Exp $ -->
3 3
4<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 4<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
5 5
6<guide link="/doc/en/gentoo-x86-quickinstall.xml"> 6<guide link="/doc/en/gentoo-x86-quickinstall.xml" lang="en">
7<title>Gentoo Linux x86 Quick Install Guide</title> 7<title>Gentoo Linux x86 Quick Install Guide</title>
8 8
9<author title="Author">
10 <mail link="neysx@gentoo.org">Xavier Neys</mail>
11</author>
9<author title="Author"> 12<author title="Author">
10 <mail link="swift@gentoo.org">Sven Vermeulen</mail> 13 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
11</author> 14</author>
12<author title="Author">Steven Wagner</author> 15<author title="Author">Steven Wagner</author>
13 16
14<abstract> 17<abstract>
15The Quick install guide covers the Gentoo install process in a 18The Quick install guide covers the Gentoo install process in a non-verbose
16non-verbose manner. Users should already have prior experience with 19manner. Its purpose is to allow users to perform a stage3 install in no time.
17installing Gentoo Linux if they want to follow this guide. 20Users should already have prior experience with installing Gentoo Linux if they
21want to follow this guide.
18</abstract> 22</abstract>
19 23
24<!-- The content of this document is licensed under the CC-BY-SA license -->
25<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
20<license/> 26<license/>
21 27
22<version>2.1</version> 28<version>9</version>
23<date>2005-07-10</date> 29<date>2006-10-08</date>
30
31<chapter>
32<title>Introduction</title>
33<section>
34<body>
35
36<p>
37This guide contains all commands you should use to complete a stage3
38installation of Gentoo. You need a connection to the Internet to download the
39stage3 and Portage snapshots.
40</p>
41
42<p>
43Timing output follows all commands that take more than a couple of seconds to
44finish. Commands were timed on an AMD 2000 1.66 Ghz PC with 512 MB of RAM and
45two SATA disks connected to a hardware controller.
46</p>
47
48<pre caption="Test box specs">
49<comment>(The following specs and the timing information should help you determine
50a rough estimate of the time you need to complete your install)</comment>
51
52# <i>grep bogo /proc/cpuinfo</i>
53bogomips : 3337.81
54
55# <i>hdparm -tT /dev/sda</i>
56/dev/sda:
57 Timing cached reads: 1100 MB in 2.00 seconds = 549.97 MB/sec
58 Timing buffered disk reads: 224 MB in 3.01 seconds = 74.36 MB/sec
59
60# <i>grep MemTotal /proc/meminfo</i>
61MemTotal: 509248 kB
62</pre>
63
64</body>
65</section>
66</chapter>
24 67
25<chapter> 68<chapter>
26<title>Quick Install Guide</title> 69<title>Quick Install Guide</title>
27<section> 70<section>
28<title>Installation Media</title> 71<title>Installation Media</title>
29<body> 72<body>
30 73
31<p> 74<p>
32Download a CD from one of our <uri link="/main/en/mirrors.xml">mirrors</uri>. 75Download a CD from one of our <uri link="/main/en/mirrors.xml">mirrors</uri>.
33You can find the ISOs in 76You can find the minimal CD ISO in
34<path>releases/&lt;architecture&gt;/&lt;release&gt;/installcd</path>. The 77<path>releases/x86/&lt;release&gt;/installcd</path> or the LiveCD ISO in
78<path>releases/x86/&lt;release&gt;/livecd</path>. The <e>minimal</e>
35<e>minimal</e> installation cd is only useful for internet-based installations; 79installation CD is only useful for Internet-based installations. You can use
36with the <e>universal</e> installation cd you can perform a networkless 80the <e>LiveCD</e> to perform a networkless installation as documented in the
37installation as well. 81<uri link="/doc/en/handbook/2006.1/handbook-x86.xml">2006.1 x86 installation
38</p> 82handbook</uri>. The minimal CD is recommended.
39
40<p> 83</p>
84
85<p>
41<uri link="/doc/en/faq.xml#isoburning">Burn</uri> the CD and boot it. Press 86<uri link="/doc/en/faq.xml#isoburning">Burn</uri> the CD and boot it.
87</p>
88
89</body>
90</section>
91<section>
92<title>Booting the CD</title>
93<body>
94
95<p>
96Press
42<c>F2</c> at the boot screen to find out what boot options exist. Once booted, 97<c>F2</c> at the boot screen to find out what boot options exist. You can
43you need to start the <c>pcmcia</c> init script if you need PCMCIA support. 98either start <c>gentoo</c> or <c>gentoo-nofb</c>, the latter disables the
44</p> 99framebuffer. If you booted the LiveCD, don't forget to add the <c>nox</c>
45 100option to prevent the X graphical environment from starting. Several options
101allow to enable or disable some features. If all goes well, your hardware will
102be detected and all modules will be loaded. If the kernel fails to boot
103properly or if your computer hangs during the boot procedure, you may have to
104experiment with different configurations. The safest way is probably to use the
105<c>nodetect</c> option and then load required modules explicitly.
46<p> 106</p>
47The installation cds allow you to start an <c>sshd</c> server, add additional 107
48users, run <c>irssi</c> (a command-line chat client) and surf the web using 108<pre caption="Boot the minimal CD">
49<c>lynx</c> or <c>links2</c>. 109Gentoo Linux Installation LiveCD http://www.gentoo.org
110Enter to Boot; F1 for kernels F2 for options.
111boot: <i>gentoo-nofb</i>
112 <comment>(or in case of problems)</comment>
113boot: <i>gentoo-nofb nodetect</i>
114</pre>
115
116</body>
117</section>
118<section>
119<title>Optional: loading modules</title>
120<body>
121
50</p> 122<p>
123If you used the <c>nodetect</c> option, once booted, load the required modules.
124You need to enable networking and have access to your disks. The <c>lspci</c>
125command can help you identify your hardware.
126</p>
127
128<pre caption="Load required modules">
129livecd root # <i>lspci</i>
130<comment>(Use lspci's output to identify required modules)</comment>
131
132<comment>(The following is an example, adapt it to your hardware)</comment>
133livecd root # <i>modprobe 3w-9xxx</i>
134livecd root # <i>modprobe r8169</i>
135</pre>
51 136
52</body> 137</body>
53</section> 138</section>
54<section> 139<section>
55<title>Network Configuration</title> 140<title>Network Configuration</title>
57 142
58<p> 143<p>
59If your network does not work already, you can use <c>net-setup</c> to configure 144If your network does not work already, you can use <c>net-setup</c> to configure
60your network. You might need to load support for your network card using 145your network. You might need to load support for your network card using
61<c>modprobe</c> prior to the configuration. If you have ADSL, use 146<c>modprobe</c> prior to the configuration. If you have ADSL, use
62<c>adsl-setup</c> and <c>adsl-start</c>. For PPTP support, first edit 147<c>pppoe-setup</c> and <c>pppoe-start</c>. For PPTP support, first edit
63<path>/etc/ppp/chap-secrets</path> and <path>/etc/ppp/options.pptp</path> and 148<path>/etc/ppp/chap-secrets</path> and <path>/etc/ppp/options.pptp</path> and
64then use <c>pptp &lt;server&nbsp;ip&gt;</c>. 149then use <c>pptp &lt;server&nbsp;ip&gt;</c>.
65</p> 150</p>
66 151
67<p> 152<p>
68For wireless access, use <c>iwconfig</c> to set the wireless parameters and then 153For wireless access, use <c>iwconfig</c> to set the wireless parameters and then
69use eiter <c>net-setup</c> again or run <c>ifconfig</c>, <c>dhcpcd</c> and/or 154use either <c>net-setup</c> again or run <c>ifconfig</c>, <c>dhcpcd</c> and/or
70<c>route</c> manually. 155<c>route</c> manually.
71</p> 156</p>
72 157
73<p> 158<p>
74If you are behind a proxy, do not forget to initialise your system using 159If you are behind a proxy, do not forget to initialize your system using
75<c>export http_proxy</c>, <c>ftp_proxy</c> and <c>RSYNC_PROXY</c>. 160<c>export http_proxy</c>, <c>ftp_proxy</c> and <c>RSYNC_PROXY</c>.
76</p> 161</p>
77 162
163<pre caption="Configure networking the guided way">
164livecd root # <i>net-setup eth0</i>
165</pre>
166
167<p>
168Alternatively, you can start networking manually. The following example assigns
169the IP address 192.168.1.10 to your PC and defines 192.168.1.1 as your router
170and name server.
171</p>
172
173<pre caption="Configure networking the manual way">
174livecd root # <i>ifconfig eth0 192.168.1.10/24</i>
175livecd root # <i>route add default gw 192.168.1.1</i>
176livecd root # <i>echo nameserver 192.168.1.1 &gt; /etc/resolv.conf</i>
177</pre>
178
179<p>
180The installation CD allows you to start an <c>sshd</c> server, add additional
181users, run <c>irssi</c> (a command-line chat client) and surf the web using
182<c>lynx</c> or <c>links</c>.
183</p>
184
185</body>
186</section>
187<section>
188<title>Optional: connect to your new box over ssh</title>
189<body>
190
191<p>
192The most interesting feature is of course <c>sshd</c>. You can start it and
193then connect from another machine and cut and paste commands from this guide.
194</p>
195
196<pre caption="Start sshd">
197livecd root # <i>time /etc/init.d/sshd start</i>
198 * Generating hostkey ...
199<comment>(sshd generates the key and displays more output)</comment>
200 * starting sshd ... [ok]
201
202real 0m13.688s
203user 0m9.420s
204sys 0m0.090s
205</pre>
206
207<p>
208Now, set the root password on the liveCD so that you can connect to it from
209another PC. Please note that allowing root to connect over ssh is not
210recommended under normal circumstances. If you can't trust your local network,
211use a long and complex password, you should use it only once as it will
212disappear after your first reboot.
213</p>
214
215<pre caption="Set the root password">
216livecd root # <i>passwd</i>
217New UNIX password: <comment>type_a_password</comment>
218Retype new UNIX password: <comment>type_a_password</comment>
219passwd: password updated successfully
220</pre>
221
222<p>
223Now, you can start a terminal on another PC and connect to your new box, follow
224the rest of this guide in another window, and cut and paste commands.
225</p>
226
227<pre caption="Connect to your new box from another PC">
228<comment>(Use the IP address of your new box)</comment>
229$ <i>ssh root@192.168.1.10</i>
230The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
231RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
232Are you sure you want to continue connecting (yes/no)? <i>yes</i>
233Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
234Password: <comment>type_the_password</comment>
235</pre>
236
78</body> 237</body>
79</section> 238</section>
80<section> 239<section>
81<title>Preparing the Disks</title> 240<title>Preparing the Disks</title>
82<body> 241<body>
83 242
84<p> 243<p>
85Use <c>fdisk</c> or <c>cfdisk</c> to create your partition layout. You need at 244Use <c>fdisk</c> or <c>cfdisk</c> to create your partition layout. You need at
86least a swap partition (type 82) and one Linux partition (type 83). 245least a swap partition (type 82) and one Linux partition (type 83). The
246following scenario creates a <path>/boot</path>, a swap and a main partition
247as used in our handbook. The device name is likely to be either
248<path>/dev/sda</path> for a SATA or SCSI disk, or <path>/dev/hda</path> for an
249IDE disk.
250</p>
251
252<pre caption="Create the partitions">
253livecd ~ # <i>fdisk /dev/sda</i>
254
255<comment>(The rest of this guide uses the following partitioning scheme)</comment>
256livecd ~ # <i>fdisk -l /dev/sda</i>
257
258Disk /dev/sda: 599.9 GB, 599978409984 bytes
259255 heads, 63 sectors/track, 72943 cylinders
260Units = cylinders of 16065 * 512 = 8225280 bytes
261
262 Device Boot Start End Blocks Id System
263/dev/sda1 1 12 96358+ 83 Linux
264/dev/sda2 13 110 787185 82 Linux swap / Solaris
265/dev/sda3 111 72943 585031072+ 83 Linux
87</p> 266</pre>
88 267
89<p> 268<p>
90Use <c>mke2fs</c>, <c>mke2fs -j</c>, <c>mkreiserfs</c>, <c>mkfs.xfs</c> and 269Use <c>mke2fs</c>, <c>mke2fs -j</c>, <c>mkreiserfs</c>, <c>mkfs.xfs</c> and
91<c>mkfs.jfs</c> to create file systems on your Linux partitions. Initialise your 270<c>mkfs.jfs</c> to create file systems on your Linux partitions. Initialize your
92swap partition using <c>mkswap</c> and <c>swapon</c>. 271swap partition using <c>mkswap</c> and <c>swapon</c>.
93</p> 272</p>
273
274<pre caption="Create the file systems and activate swap">
275<comment>(ext2 is all you need on the /boot partition)</comment>
276livecd ~ # <i>mke2fs /dev/sda1</i>
277
278<comment>(Let's use ext3 on the main partition)</comment>
279livecd ~ # <i>mke2fs -j /dev/sda3</i>
280
281<comment>(Create and activate swap)</comment>
282livecd ~ # <i>mkswap /dev/sda2 &amp;&amp; swapon /dev/sda2</i>
283</pre>
94 284
95<p> 285<p>
96Mount the freshly created file systems on <path>/mnt/gentoo</path>. Create 286Mount the freshly created file systems on <path>/mnt/gentoo</path>. Create
97directories for the other mount points (like <path>/mnt/gentoo/boot</path>) if 287directories for the other mount points (like <path>/mnt/gentoo/boot</path>) if
98you need them. 288you need them and mount them too.
289</p>
290
291<pre caption="Mount the file systems">
292livecd ~ # <i>mount /dev/sda3 /mnt/gentoo</i>
293livecd ~ # <i>mkdir /mnt/gentoo/boot</i>
294livecd ~ # <i>mount /dev/sda1 /mnt/gentoo/boot</i>
99</p> 295</pre>
100 296
101</body> 297</body>
102</section> 298</section>
103<section> 299<section>
104<title>Setting Up The Stage</title> 300<title>Setting Up The Stage</title>
105<body> 301<body>
106 302
107<p> 303<p>
108First make sure your date is set correctly using <c>date MMDDhhmmYYYY</c>. Next, 304First make sure your date and time is set correctly using <c>date
109download a stage from one of our <uri link="/main/en/mirrors.xml">mirrors</uri> 305MMDDhhmmYYYY</c>. Use UTC time.
110or use the one available on the installation CD
111(<path>/mnt/cdrom/stages</path>). Go to <path>/mnt/gentoo</path> and unpack the
112stage using <c>tar&nbsp;-xvjpf&nbsp;&lt;stage&nbsp;tarball&gt;</c>.
113</p>
114
115<p> 306</p>
116Install a Portage snapshot if you are performing a networkless installation: go 307
117to <path>/mnt/gentoo/usr</path> and run 308<pre caption="Set the date and UTC time">
118<c>tar&nbsp;-xvjf&nbsp;/mnt/cdrom/snapshots/&lt;snapshot&gt;</c>. Other users 309<comment>(Check the clock)</comment>
119can download a portage snapshot and install it likewise. 310livecd ~ # <i>date</i>
311Mon Mar 6 00:14:13 UTC 2006
312
313<comment>(Set the current date and time if required)</comment>
314livecd ~ # <i>date 030600162006</i> <comment>(Format is MMDDhhmmYYYY)</comment>
315Mon Mar 6 00:16:00 UTC 2006
316</pre>
317
120</p> 318<p>
121 319Next, download a stage from one of our <uri
320link="/main/en/mirrors.xml">mirrors</uri>. Go to <path>/mnt/gentoo</path> and
321unpack the stage using <c>tar xjpf &lt;stage3 tarball&gt;</c>.
122<p> 322</p>
123Edit <path>/mnt/gentoo/etc/make.conf</path> to suit your needs (USE flag, CFLAGS 323
124and CXXFLAGS). You can use the <c>nano</c> editor for this. 324<pre caption="Download a stage3 archive">
325livecd ~ # <i>cd /mnt/gentoo</i>
326livecd gentoo # <i>links http://www.gentoo.org/main/en/mirrors.xml</i>
327<comment>(Pick a mirror, move to the releases/x86/current/stages directory
328highlight the stage3 of your choice, probably stage3-i686-2006.1.tar.bz2
329and press D to download it)</comment>
330
331<comment>(<b>Or</b> download it directly with wget without choosing a nearby mirror)</comment>
332livecd ~ # <i>cd /mnt/gentoo</i>
333livecd gentoo # <i>wget http://gentoo.osuosl.org/releases/x86/current/stages/stage3-i686-2006.1.tar.bz2</i>
334</pre>
335
336<pre caption="Unpack the stage3 archive">
337livecd gentoo # <i>time tar xjpf stage3*</i>
338
339real 1m13.157s
340user 1m2.920s
341sys 0m7.230s
342</pre>
343
125</p> 344<p>
345Install the latest Portage snapshot. Proceed as for the stage3 archive: choose
346a nearby mirror from our <uri link="/main/en/mirrors.xml">list</uri>, download
347the latest snapshot and unpack it.
348</p>
126 349
350<pre caption="Download the latest Portage snapshot">
351livecd gentoo # <i>cd /mnt/gentoo/usr</i>
352livecd usr # <i>links http://www.gentoo.org/main/en/mirrors.xml</i>
353<comment>(Pick a mirror, move to the snapshots/ directory,
354highlight <b>portage-latest.tar.bz2</b> and press D to download it)</comment>
355
356<comment>(<b>Or</b> download it directly with wget without choosing a nearby mirror)</comment>
357livecd gentoo # <i>cd /mnt/gentoo/usr</i>
358livecd usr # <i>wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2</i>
359</pre>
360
361<pre caption="Unpack the Portage snapshot">
362livecd usr # <i>time tar xjf portage*</i>
363
364real 0m51.523s
365user 0m28.680s
366sys 0m12.840s
367</pre>
368
127</body> 369</body>
128</section>
129<section> 370</section>
130<title>Installing the Gentoo Base System</title> 371<section>
372<title>Chrooting</title>
373<body>
374
375<p>
376Mount the <path>/proc</path> file system, copy over the
377<path>/etc/resolv.conf</path> file, then chroot into your Gentoo environment.
378</p>
379
380<pre caption="Chroot">
381livecd usr # <i>cd /</i>
382livecd / # <i>mount -t proc proc /mnt/gentoo/proc</i>
383livecd / # <i>cp -L /etc/resolv.conf /mnt/gentoo/etc/</i>
384livecd / # <i>chroot /mnt/gentoo /bin/bash</i>
385livecd / # <i>env-update &amp;&amp; source /etc/profile</i>
386>>> Regenerating /etc/ld.so.cache...
387</pre>
388
131<body> 389</body>
390</section>
391<section>
392<title>Set your timezone</title>
393<body>
132 394
133<p>
134Mount the <path>/proc</path> file system first and then chroot into your Gentoo
135environment.
136</p> 395<p>
137 396Set your time zone information by copying the correct file from
138<pre caption="Preparing and chrooting"> 397<path>/usr/share/zoneinfo</path> over the <path>/etc/localtime</path> file.
139# <i>mount -t proc none /mnt/gentoo/proc</i>
140# <i>chroot /mnt/gentoo /bin/bash</i>
141# <i>env-update</i> &amp;&amp; <i>source /etc/profile</i>
142</pre>
143
144<p> 398</p>
145If you are not running a networkless installation, issue <c>emerge --sync</c> to 399
146update your Portage tree. 400<pre caption="Copy your timezone file">
401<comment>(Using Brussels as an example)</comment>
402livecd / # <i>cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime</i>
403livecd / # <i>date</i>
404Wed Mar 8 00:46:05 CET 2006
405</pre>
406
407</body>
408</section>
409<section>
410<title>Set your host and domain name</title>
411<body>
412
147</p> 413<p>
148 414Set your host name in <path>/etc/conf.d/hostname</path> and
415<path>/etc/hosts</path>. In the following example, we use <c>mybox</c> as host
416name and <c>at.myplace</c> as domain name. You can either edit the config
417files with <c>nano</c> or use the following commands:
149<p> 418</p>
150Next, make sure <path>/etc/make.profile</path> points to the right profile. The
151default one should suffice for most users; subprofiles are available for
152different kernels (like <path>2.4/</path> for 2.4-kernel based profiles). Change
153the profile using <c>ln -sf</c>.
154</p>
155 419
156<ul> 420<pre caption="Set host and domain name">
157 <li> 421livecd / # <i>cd /etc</i>
158 Bootstrapping (not available for networkless installations) happens using 422livecd etc # <i>echo "127.0.0.1 mybox.at.myplace mybox localhost" > hosts</i>
159 <c>scripts/bootstrap.sh</c> in the <path>/usr/portage</path> directory. 423livecd etc # <i>sed -i -e 's/HOSTNAME.*/HOSTNAME="mybox"/' conf.d/hostname</i>
160 </li> 424<comment>(Use defined host name and check)</comment>
161 <li> 425livecd etc # <i>hostname mybox</i>
162 System installation (not available for networkless installations) happens 426livecd etc # <i>hostname -f</i>
163 using <c>emerge&nbsp;-e&nbsp;system</c> (or <c>-N</c> if you haven't 427mybox.at.myplace
164 altered the default CFLAGS/CXXFLAGS).
165 </li>
166</ul>
167
168<p>
169Stage3 users (except those performing a networkless installation) need to
170upgrade the baselayout package:
171</p>
172
173<pre caption="Upgrading baselayout">
174# <i>CONFIG_PROTECT="-*" emerge baselayout</i>
175</pre> 428</pre>
176 429
177</body> 430</body>
178</section> 431</section>
179<section> 432<section>
180<title>Kernel Configuration</title> 433<title>Kernel Configuration</title>
181<body> 434<body>
182 435
183<p> 436<p>
184Set your time zone information by changing the <path>/etc/localtime</path> 437Install a kernel source (usually <c>gentoo-sources</c> or
185symbolic link to the correct location in <path>/usr/share/zoneinfo</path> using 438<c>vanilla-sources</c>), configure it, compile it and copy the
186<c>ln -sf</c>. 439<path>arch/i386/boot/bzImage</path> file to <path>/boot</path>.
187</p>
188
189<p> 440</p>
190Install a kernel source (<c>gentoo-sources</c> and <c>vanilla-sources</c> are 441
191available for networkless installations) and configure it using <c>make 442<pre caption="Install a kernel source, compile it and install the kernel">
192menuconfig</c> followed by <c>make&nbsp;&amp;&amp;make&nbsp;modules_install</c> 443livecd etc # <i>time emerge gentoo-sources</i>
193inside <path>/usr/src/linux</path>. Copy the <path>arch/i386/bzImage</path> file 444
194over to <path>/boot</path>. You can also <c>emerge&nbsp;genkernel</c> 445real 2m51.435s
195and use <c>genkernel&nbsp;--udev&nbsp;all</c>. 446user 0m58.220s
447sys 0m29.890s
448livecd etc # <i>cd /usr/src/linux</i>
449livecd linux # <i>make menuconfig</i>
450<comment>(Configure your kernel)</comment>
451livecd linux # <i>time make -j2</i>
452
453<comment>(Elapsed time depends highly on the options you selected)</comment>
454real 3m51.962s
455user 3m27.060s
456sys 0m24.310s
457
458livecd linux # <i>make modules_install</i>
459livecd linux # <i>cp arch/i386/boot/bzImage /boot/kernel</i>
196</p> 460</pre>
197 461
198<p>
199Genkernel users will need to <c>emerge&nbsp;coldplug</c> and
200<c>rc-update&nbsp;add&nbsp;coldplug&nbsp;default</c>.
201</p>
202
203</body> 462</body>
204</section>
205<section> 463</section>
464<section>
206<title>Configuring the System</title> 465<title>Configure the system</title>
207<body> 466<body>
208 467
209<p> 468<p>
210Edit your <path>/etc/fstab</path>; an example follows: 469Edit your <path>/etc/fstab</path> and replace <c>BOOT</c>, <c>ROOT</c> and
470<c>SWAP</c> with the actual partition names. Don't forget to check that the
471file systems match your installation.
211</p> 472</p>
212 473
213<pre caption="Example fstab"> 474<pre caption="Example fstab">
475livecd linux # <i>cd /etc</i>
476livecd etc # <i>nano -w fstab</i>
214/dev/hda1 /boot ext2 defaults,noatime 1 2 477/dev/<i>sda1</i> /boot ext2 noauto,noatime 1 2
478/dev/<i>sda3</i> / ext3 noatime 0 1
215/dev/hda2 none swap sw 0 0 479/dev/<i>sda2</i> none swap sw 0 0
216/dev/hda3 / ext3 noatime 0 1
217none /proc proc defaults 0 0
218none /dev/shm tmpfs nodev,nosuid,noexec 0 0
219/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
220</pre> 480</pre>
221 481
222<p> 482<p>
223Edit <path>/etc/conf.d/hostname</path> and <path>/etc/conf.d/domainname</path>, 483Configure your network in <path>/etc/conf.d/net</path>. Add the <c>net.eth0</c>
224run <c>rc-update&nbsp;add&nbsp;domainname&nbsp;default</c> and edit
225<path>/etc/conf.d/net</path> and <path>/etc/resolv.conf</path> to configure your network. Add the <c>net.eth0</c>
226initscript to the default runlevel. If you have multiple NICs, symlink them 484init script to the default run level. If you have multiple NICs, symlink them
227to the <c>net.eth0</c> init script and add them to the default runlevel as well. 485to the <c>net.eth0</c> init script and add them to the default run level as
228</p> 486well. Either edit <path>/etc/conf.d/net</path> with <c>nano</c> or use the
229 487following commands:
230<p> 488</p>
231Edit <path>/etc/hosts</path>; examples are given below: 489
490<pre caption="Configure networking">
491livecd etc # <i>cd conf.d</i>
492livecd conf.d # <i>echo 'config_eth0=( "192.168.1.10/24" )' >> net</i>
493livecd conf.d # <i>echo 'routes_eth0=( "default via 192.168.1.1" )' >> net</i>
494livecd conf.d # <i>rc-update add net.eth0 default</i>
495<comment>(If you compiled your network card driver as a module,
496add it to /etc/modules.autoload.d/kernel-2.6)</comment>
497livecd conf.d # <i>echo r8169 >> /etc/modules.autoload.d/kernel-2.6</i>
498<comment>(If you want to reconnect via ssh after you have rebooted your new box:)</comment>
499livecd conf.d # <i>rc-update add sshd default</i>
232</p> 500</pre>
233 501
234<pre caption="Example /etc/hosts"> 502<note>
235<comment>(For static IPs)</comment>
236127.0.0.1 localhost
237192.168.0.5 jenny.homenetwork jenny
238192.168.0.6 benny.homenetwork benny
239192.168.0.7 tux.homenetwork tux
240
241<comment>(For a dynamic IP)</comment>
242127.0.0.1 localhost.homenetwork tux localhost
243</pre>
244
245<p>
246Emerge <c>pcmcia-cs</c> and add it to the default runlevel if you need it. 503Emerge <c>pcmcia-cs</c> and add it to the default run level if you need it.
247</p> 504</note>
248 505
249<p> 506<p>
250Set the root password using <c>passwd</c>. 507Set the root password using <c>passwd</c>.
251</p> 508</p>
252 509
510<pre caption="Set the root password">
511livecd conf.d # <i>passwd</i>
512New UNIX password: <comment>type_the_password</comment>
513Retype new UNIX password: <comment>type_the_password_again</comment>
514passwd: password updated successfully
515</pre>
516
253<p> 517<p>
254Set the necessary system configuration in <path>/etc/rc.conf</path>, 518Check the system configuration in <path>/etc/rc.conf</path>,
255<path>/etc/conf.d/rc</path>, <path>/etc/conf.d/keymaps</path>, 519<path>/etc/conf.d/rc</path>, <path>/etc/conf.d/keymaps</path>,
256<path>/etc/conf.d/clock</path>. 520<path>/etc/conf.d/clock</path> and edit any of those files if required.
521</p>
522
523<pre caption="Optional: edit some config files">
524livecd conf.d # <i>nano -w /etc/rc.conf</i>
525livecd conf.d # <i>nano -w /etc/conf.d/rc</i>
526livecd conf.d # <i>nano -w /etc/conf.d/keymaps</i>
527livecd conf.d # <i>nano -w /etc/conf.d/clock</i>
257</p> 528</pre>
258 529
259</body> 530</body>
260</section> 531</section>
261<section> 532<section>
262<title>Installing System Tools</title> 533<title>Installing System Tools</title>
263<body> 534<body>
264 535
265<p> 536<p>
2662.4 kernel users need to <c>emerge&nbsp;--unmerge&nbsp;udev</c> and 537Install a system logger like <c>syslog-ng</c> and a cron daemon like
267<c>emerge&nbsp;devfsd</c>. 538<c>vixie-cron</c>, and add them to the default run level.
268</p>
269
270<p> 539</p>
271Install a system logger like <c>syslog-ng</c> and add it to the default 540
272run level. Do the same for a cron daemon like <c>vixie-cron</c> (optional). 541<note>
542Cron daemons depend on an MTA. <c>mail-mta/ssmtp</c> will be pulled in as a
543dependency. If you want to use a more advanced MTA, you might want to install
544it now. If you are in a hurry, let ssmtp be installed and remove it later when
545you install the MTA of your choice.
546</note>
547
548<pre caption="Install a syslogger and a cron daemon">
549livecd conf.d # <i>time emerge syslog-ng vixie-cron</i>
550
551real 1m52.699s
552user 1m1.630s
553sys 0m35.220s
554livecd conf.d # <i>rc-update add syslog-ng default</i>
555livecd conf.d # <i>rc-update add vixie-cron default</i>
273</p> 556</pre>
274 557
275<p> 558<p>
276Install the necessary file system tools (<c>xfsprogs</c>, <c>reiserfsprogs</c> 559Install the necessary file system tools (<c>xfsprogs</c>, <c>reiserfsprogs</c>
277or <c>jfsutils</c>) and networking tools (<c>dhcpcd</c> or <c>rp-pppoe</c>). 560or <c>jfsutils</c>) and networking tools (<c>dhcpcd</c> or <c>rp-pppoe</c>) if
561you need any.
562</p>
563
564<pre caption="Install extra tools if required">
565livecd conf.d # <i>emerge xfsprogs</i> <comment>(If you use the XFS file system)</comment>
566livecd conf.d # <i>emerge jfsutils</i> <comment>(If you use the JFS file system)</comment>
567livecd conf.d # <i>emerge reiserfsprogs</i> <comment>(If you use the Reiser file system)</comment>
568livecd conf.d # <i>emerge dhcpcd</i> <comment>(If you need a DHCP client)</comment>
569livecd conf.d # <i>USE="-X" emerge rp-pppoe</i> <comment>(If you need PPPoE ADSL connectivity)</comment>
278</p> 570</pre>
279 571
280</body> 572</body>
281</section> 573</section>
282<section> 574<section>
283<title>Configuring the Bootloader</title> 575<title>Configuring the Bootloader</title>
284<body> 576<body>
285 577
286<p> 578<p>
287Emerge <c>grub</c> or <c>lilo</c>. Edit <path>/boot/grub/grub.conf</path> or 579Emerge <c>grub</c> or <c>lilo</c>. Configure either
288<path>/etc/lilo.conf</path> to your likings. Below you will find an example for 580<path>/boot/grub/grub.conf</path> or <path>/etc/lilo.conf</path> and install
289each. 581the bootloader you have emerged.
582</p>
583
290</p> 584<p>
585<b>1. Using grub</b>
586</p>
587
588<pre caption="Emerge grub and edit its configuration file">
589livecd conf.d # <i>time emerge grub</i>
590
591real 1m8.634s
592user 0m39.460s
593sys 0m15.280s
594livecd conf.d # <i>nano -w /boot/grub/grub.conf</i>
595</pre>
291 596
292<pre caption="Example grub.conf"> 597<pre caption="Example grub.conf">
293default 0 598default 0
294timeout 30 599timeout 10
295splashimage=(hd0,0)/grub/splash.xpm.gz
296 600
297<comment># genkernel users</comment> 601title=Gentoo
298title=Gentoo Linux 2.6.11-r3
299root (hd0,0) 602root (hd0,0)
300kernel /kernel-2.6.11-gentoo-r3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev 603kernel /boot/kernel root=/dev/sda3
301initrd /initrd-2.6.11-gentoo-r3 604</pre>
302 605
303<comment># non-genkernel users (no initrd)</comment> 606<pre caption="Install grub">
304title=Gentoo Linux 2.6.11 r3 607livecd conf.d # <i>grub</i>
305root (hd0,0) 608Probing devices to guess BIOS drives. This may take a long time.
306kernel /kernel-2.6.11-gentoo-r3 root=/dev/hda3
307 609
308<comment># Only in case you want to dual-boot</comment> 610grub> <i>root (hd0,0)</i>
309title=Windows XP 611 Filesystem type is ext2fs, partition type 0x83
310root (hd0,5) 612
311makeactive 613grub> <i>setup (hd0)</i>
312chainloader +1 614 Checking if "/boot/grub/stage1" exists... yes
615 Checking if "/boot/grub/stage2" exists... yes
616 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
617 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
618succeeded
619 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
620grub/menu.lst"... succeeded
621Done.
622
623grub> <i>quit</i>
624</pre>
625
626<p>
627Now, proceed with the <uri link="#reboot">rebooting section</uri>.
628</p>
629
630<p>
631<b>2. Using lilo</b>
632</p>
633
634<pre caption="Emerge lilo and edit its configuration file">
635livecd conf.d # <i>time emerge lilo</i>
636
637real 0m47.016s
638user 0m22.770s
639sys 0m5.980s
640livecd conf.d # <i>nano -w /etc/lilo.conf</i>
313</pre> 641</pre>
314 642
315<pre caption="Example lilo.conf"> 643<pre caption="Example lilo.conf">
316boot=/dev/hda 644boot=/dev/sda
317prompt 645prompt
318timeout=50 646timeout=50
319default=gentoo 647default=gentoo
320 648
321<comment># For non-genkernel users</comment> 649image=/boot/kernel
322image=/boot/kernel-2.6.11-gentoo-r3
323 label=gentoo 650 label=Gentoo
324 read-only 651 read-only
325 root=/dev/hda3 652 root=/dev/sda3
326
327<comment># For genkernel users</comment>
328image=/boot/kernel-2.6.11-gentoo-r3
329 label=gentoo
330 read-only
331 root=/dev/ram0
332 append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
333 initrd=/boot/initrd-2.6.11-gentoo-r3
334
335<comment># For dual-booting</comment>
336other=/dev/hda6
337 label=windows
338</pre> 653</pre>
339 654
340<p> 655<pre caption="Install lilo">
341GRUB users need to install GRUB in the MBR using 656livecd conf.d # <i>lilo</i>
342<c>grub-install&nbsp;/dev/hda</c> after copying <path>/proc/mounts</path> to 657Added Gentoo *
343<path>/etc/mtab</path>. LILO users need to run <c>/sbin/lilo</c>. 658</pre>
659
660</body>
661</section>
662<section id="reboot">
663<title>Reboot</title>
664<body>
665
344</p> 666<p>
345
346<p>
347Exit the chrooted environment, unmount all file systems and reboot. 667Exit the chrooted environment, unmount all file systems and reboot:
668</p>
669
670<pre caption="Reboot">
671livecd conf.d # <i>exit</i>
672livecd / # <i>umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo</i>
673livecd / # <i>reboot</i>
674<comment>(Don't forget to remove the CD)</comment>
348</p> 675</pre>
349 676
350</body> 677</body>
351</section>
352<section> 678</section>
679<section id="after-reboot">
353<title>Finalizing the Installation</title> 680<title>Finalizing the Installation</title>
354<body> 681<body>
355 682
683<note>
684The <b>total</b> elapsed time between the display of the boot prompt on the
685minimal CD and the display of the login prompt after the reboot was
686<b>00:42:31</b> on our test box. Yes, less than one hour! Note that this time
687also includes the stage3, Portage snapshot and several packages download time
688and the time spent configuring the kernel.
689</note>
690
356<p> 691<p>
357Log in as <c>root</c>, then add one or more users for day-to-day use using 692Log in as <c>root</c>, then add one or more users for daily use with
358<c>useradd&nbsp;-m&nbsp;-G&nbsp;&lt;groups&gt;&nbsp;&lt;username&gt;</c>. 693<c>useradd</c>.
359</p>
360
361<p> 694</p>
362If you performed a networkless installation, mount the packages CD at 695
363<path>/mnt/cdrom</path> and <c>export&nbsp;PKGDIR="/mnt/cdrom"</c> after which 696<pre caption="Connect to your new box from another PC">
364you can <c>emerge&nbsp;-k&nbsp;&lt;package&gt;</c> to install additional 697<comment>(Clean up your known_hosts file because your new box
365software like <c>kde</c>. 698has generated a new definitive hostkey)</comment>
699$ <i>nano -w ~/.ssh/known_hosts</i>
700<comment>(Look for the IP of your new PC and delete the line,
701then save the file and exit nano)</comment>
702
703<comment>(Use the IP address of your new box)</comment>
704$ <i>ssh root@192.168.1.10</i>
705The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
706RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
707Are you sure you want to continue connecting (yes/no)? <i>yes</i>
708Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
709Password: <comment>type_the_password</comment>
366</p> 710</pre>
367 711
368<p> 712<pre caption="Add a new user">
369Thanks for installing Gentoo! 713mybox ~ # <i>adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m john</i>
714mybox ~ # <i>passwd john</i>
715New UNIX password: <comment>Set John's password</comment>
716Retype new UNIX password: <comment>Type John's password again</comment>
717passwd: password updated successfully
370</p> 718</pre>
371 719
372</body> 720</body>
721</section>
373</section> 722<section>
723<title>Last configuration touches</title>
724<body>
725
726<p>
727Start by selecting nearby mirrors either by defining the <c>RSYNC</c> and
728<c>GENTOO_MIRRORS</c> variables in <path>/etc/make.conf</path> or by using
729<c>mirrorselect</c>. You can also define the number of concurrent compilation
730processes at this point.
731</p>
732
733<pre caption="Use mirrorselect and set MAKEOPTS">
734mybox ~ # <i>emerge mirrorselect</i>
735mybox ~ # <i>mirrorselect -i -o >> /etc/make.conf</i>
736mybox ~ # <i>mirrorselect -i -r -o >> /etc/make.conf</i>
737<comment>(Usually, (the number of processors + 1) is a good value)</comment>
738mybox ~ # <i>echo 'MAKEOPTS="-j2"' >> /etc/make.conf</i>
739</pre>
740
741<p>
742Now is a good time to enable or disable some USE flags. Run <c>emerge -vpe
743world</c> to list all currently installed packages and their enabled and
744disabled USE flags. Either edit <path>/etc/make.conf</path> or use the
745following command to define the USE variable:
746</p>
747
748<pre caption="View USE flags in use and enable or disable some">
749mybox ~ # <i>emerge -vpe world</i>
750<comment>(Portage displays the packages and their USE flags, as an example, let's
751disable ipv6 and fortran, and enable userlocales and unicode)</comment>
752mybox ~ # <i>echo 'USE="nptl nptlonly -ipv6 -fortran userlocales unicode"' >> /etc/make.conf</i>
753</pre>
754
755<p>
756If you enabled the <c>userlocales</c> USE flag for versions of glibc that still
757support it, you should edit <path>/etc/locales.build</path> and define the
758locales you want to build.
759</p>
760
761<p>
762Later versions of glibc ignore the userlocales USE flag and use
763<path>/etc/locale.gen</path> instead. If you are upgrading glibc to such a
764version, you should create <path>/etc/locale.gen</path> <e>and remove</e>
765<path>/etc/locales.build</path>. Check the output of <c>emerge -vpe world</c>
766to know whether glibc supports the userlocales USE flag.
767</p>
768
769<pre caption="Define locales">
770mybox ~ # <i>cd /etc</i>
771<comment>(For versions of glibc with the userlocales USE flag)</comment>
772mybox etc # <i>nano -w locales.build</i>
773
774<comment>(For recent versions of glibc, convert locales.build)</comment>
775mybox etc # <i>grep '^[^#].*' locales.build | sed 's:/: :' >locale.gen</i>
776mybox etc # <i>rm locales.build</i>
777mybox etc # <i>nano -w locale.gen</i>
778</pre>
779
780<p>
781Last but not least, you may want to alter the <c>CFLAGS</c> variable in your
782<path>/etc/make.conf</path> to optimise the code to your specific needs. Please
783note that using a long list of flags is rarely needed and can even lead to a
784broken system. It is recommended to specify the processor type in the
785<c>march</c> option and stick to <c>-O2 -pipe</c>.
786</p>
787
788<p>
789You may also want to switch to <b>~x86</b>. You should only do this if you can
790deal with the odd broken ebuild or package. If you'd rather keep your system
791stable, don't add the <c>ACCEPT_KEYWORDS</c> variable. Adding
792<c>FEATURES="parallel-fetch ccache"</c> is also a good idea.
793</p>
794
795<pre caption="Last edit of make.conf">
796mybox etc # <i>nano -w make.conf</i>
797<comment>(Set -march to your CPU type in CFLAGS)</comment>
798CFLAGS="-O2 -march=<i>athlon-xp</i> -pipe"
799<comment>(Add the following line)</comment>
800FEATURES="parallel-fetch ccache"
801<comment>(Only add the following if you know what you're doing)</comment>
802ACCEPT_KEYWORDS="~x86"
803</pre>
804
805<p>
806You might want to recompile your whole system twice to make full use of your
807latest configuration changes. It would take quite a long time to complete and
808yield minimal speed benefits. You can let your system optimise itself gradually
809over time when new versions of packages are released. However, recompiling is
810a still good idea from the standpoint of maintaining system consistency. Please
811see the <uri link="/doc/en/gcc-upgrading.xml">Gentoo GCC Upgrading Guide</uri>
812for a discussion on the benefits of ensuring a consistently built system and
813world.
814</p>
815
816<p>
817Recompiling only the packages that have already been updated since the release
818or that are affected by your new USE flags will take enough time. You might
819also have to remove packages that block your upgrade. Look for "[blocks
820<brite>B</brite> ]" in the output of <c>emerge -vpuD --newuse world</c> and
821use <c>emerge -C</c> to remove them.
822</p>
823
824<pre caption="Update your packages">
825<comment>(Install ccache)</comment>
826mybox etc # <i>emerge ccache</i>
827
828<comment>(Please note that the switch to ~x86 causes many packages to be upgraded)</comment>
829mybox etc # <i>emerge -vpuD --newuse world</i>
830<comment>(Take a good look at the package list and their USE flags,
831remove blocking packages if any, and start the lengthy process)</comment>
832mybox etc # <i>time emerge -vuD --newuse world</i>
833<comment>(79 packages have been (re)compiled)</comment>
834
835real 180m13.276s
836user 121m22.905s
837sys 36m31.472s
838
839<comment>(Remerge libtool to avoid further potential problems)</comment>
840mybox etc # <i>emerge libtool</i>
841
842<comment>(Update config files, make sure you <b>do not</b> let etc-update
843update config files you have edited)</comment>
844mybox etc # <i>etc-update</i>
845
846<comment>(If perl has been updated, you should run the perl-cleaner script)</comment>
847mybox etc # <i>time perl-cleaner all</i>
848real 1m6.495s
849user 0m42.699s
850sys 0m10.641s
851
852<comment>(In case of a major upgrade of python, you should run the python-updater script)</comment>
853mybox etc # <i>python-updater</i>
854</pre>
855
856</body>
857</section>
858<section>
859<title>What to do next</title>
860<body>
861
862<p>
863Depending on what your new Gentoo machine is supposed to do, you will probably
864want to install server applications or a desktop system. Just as an example,
865<c>emerge gnome</c> and <c>emerge kde</c> have been timed on the ~x86 system
866installed as describe above. Both have been installed from the same starting
867point.
868</p>
869
870<p>
871You should check our <uri link="/doc/en/">documentation index</uri> to find out
872how to install and configure the applications of your choice.
873</p>
874
875<impo>
876The following is only an example. It is in no way meant as a recommended setup.
877</impo>
878
879<pre caption="Emerge GNOME">
880mybox etc # <i>emerge -vp gnome</i>
881<comment>(Look at the list of packages and their USE flags,
882then edit make.conf if required.</comment>
883mybox etc # <i>nano -w /etc/make.conf</i>
884<comment>(The following USE flags have been defined)</comment>
885USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
886 -kde -qt3 -qt4 -arts -eds -esd gnome gstreamer gtk -xmms firefox"
887
888mybox etc # <i>time emerge gnome</i>
889<comment>(326 packages have been emerged)</comment>
890
891real 520m44.532s
892user 339m21.144s
893sys 146m22.337s
894</pre>
895
896<pre caption="Emerge KDE">
897mybox etc # <i>emerge -vp kde-meta</i>
898<comment>(Look at the list of packages and their USE flags,
899then edit make.conf if required.</comment>
900mybox etc # <i>nano -w /etc/make.conf</i>
901<comment>The following USE flags have been defined)</comment>
902USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
903 kde qt3 qt4 -arts -eds -esd -gnome -gstreamer -gtk -xmms -firefox"
904
905mybox etc # <i>time emerge kde-meta</i>
906<comment>(391 packages have been emerged)</comment>
907
908real 1171m25.318s
909user 851m26.393s
910sys 281m45.629s
911</pre>
912
913</body>
914</section>
374</chapter> 915</chapter>
375</guide> 916</guide>

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.64

  ViewVC Help
Powered by ViewVC 1.1.20