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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.69 - (hide annotations) (download) (as text)
Mon Feb 26 08:58:04 2007 UTC (7 years, 9 months ago) by nightmorph
Branch: MAIN
Changes since 1.68: +5 -6 lines
File MIME type: application/xml
further vanilla-sources removals as it's unsupported

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

  ViewVC Help
Powered by ViewVC 1.1.20