/[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.15 Revision 1.77
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.15 2004/09/09 11:33:23 swift Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-x86-quickinstall.xml,v 1.77 2007/05/20 20:32:22 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/quickinstall.xml"> 6<guide link="/doc/en/gentoo-x86-quickinstall.xml" lang="en">
7<title>Gentoo Linux Install Reference</title> 7<title>Gentoo Linux x86 Quick Install Guide</title>
8<author title="Author">Steven Wagner</author> 8
9<author title="Editor"> 9<author title="Author">
10 <mail link="neysx@gentoo.org">Xavier Neys</mail>
11</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>
15<author title="Author">Steven Wagner</author>
12 16
13<abstract> 17<abstract>
14The Quick install reference covers all details of the install process in a 18The Quick install guide covers the Gentoo install process in a non-verbose
15non-verbose manner. Users should already have prior experience with 19manner. Its purpose is to allow users to perform a stage3 install in no time.
16installing 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.
17</abstract> 22</abstract>
18 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 -->
19<license/> 26<license/>
20 27
21<version>1.12</version> 28<version>18</version>
22<date>September 09, 2004</date> 29<date>2007-05-08</date>
23 30
24<chapter> 31<chapter>
25<title>Quick Install Reference</title> 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>
26<section> 65</section>
66</chapter>
67
68<chapter>
69<title>Quick Install Guide</title>
70<section>
71<title>Installation Media</title>
72<body>
73
74<p>
75Download a CD from one of our <uri link="/main/en/mirrors.xml">mirrors</uri>.
76You 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>
79installation CD is only useful for Internet-based installations. You can use
80the <e>LiveCD</e> to perform a networkless installation as documented in the
81<uri link="/doc/en/handbook/2007.0/handbook-x86.xml">2007.0 x86 installation
82handbook</uri>. The minimal CD is recommended.
83</p>
84
85<p>
86<uri link="/doc/en/faq.xml#isoburning">Burn</uri> the CD and boot it.
87</p>
88
27<body> 89</body>
90</section>
91<section>
92<title>Booting the CD</title>
93<body>
28 94
29<p>
30The installation ISOs are on the <uri link=
31"http://www.gentoo.org/main/en/mirrors.xml">Gentoo
32Mirrors</uri>. Detailed descriptions of the different CDs are
33available in the <uri link="http://store.gentoo.org">Gentoo
34Store</uri>. A universal CD contains everything you need to install Gentoo Linux
35quickly and without a connection to the Internet. A Package CD is optional and
36contains pre-compiled packages such as KDE, GNOME, OpenOffice,
37Mozilla, Evolution and more.
38</p> 95<p>
39 96Press
97<c>F2</c> at the boot screen to find out what boot options exist. You can
98either start <c>gentoo</c> or <c>gentoo-nofb</c>, the latter disables the
99framebuffer. If you booted the LiveCD, don't forget to add the <c>nox</c>
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.
40<p> 106</p>
41Boot from the Universal CD. Press &lt;F1&gt; and/or &lt;F2&gt; to 107
42see what boot options are available. Press &lt;ENTER&gt; at the bootscreen to 108<pre caption="Boot the minimal CD">
43continue with the default kernel. You'll eventually receive a prompt. 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
44</p> 122<p>
45 123If you used the <c>nodetect</c> option, once booted, load the required modules.
46<pre caption="Beginning settings"> 124You need to enable networking and have access to your disks. The <c>lspci</c>
47# <i>date</i> (Make sure your time and date is correct. If wrong, set it with <i>date MMDDhhmmCCYY</i> ) 125command can help you identify your hardware.
48# <i>modprobe module_name</i> (Optional - Load any necessary modules)
49# <i>net-setup eth0</i> (Configure the network)
50# <i>fdisk /dev/hda</i> (Partition your drive)
51</pre>
52
53<p> 126</p>
54The recommended setup is a 64 meg boot volume with ext2, a swap partition 127
55twice the size of your available RAM, and the rest for your root partition 128<pre caption="Load required modules">
56using ReiserFS. 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>
136
137</body>
138</section>
139<section>
140<title>Network Configuration</title>
141<body>
142
57</p> 143<p>
58 144If your network does not work already, you can use <c>net-setup</c> to configure
145your 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<c>pppoe-setup</c> and <c>pppoe-start</c>. For PPTP support, first edit
148<path>/etc/ppp/chap-secrets</path> and <path>/etc/ppp/options.pptp</path> and
149then use <c>pptp &lt;server&nbsp;ip&gt;</c>.
59<p> 150</p>
60Initialise your partitions using <c>mke2fs</c> (Ext2), <c>mke2fs 151
61-j</c> (Ext3), <c>mkreiserfs</c> (ReiserFS), <c>mkfs.xfs</c> (XFS),
62<c>mkfs.jfs</c> (JFS) and <c>mkswap</c> (swap partition). For instance:
63<c>mke2fs -j /dev/hda3</c>.
64</p> 152<p>
65 153For wireless access, use <c>iwconfig</c> to set the wireless parameters and then
154use either <c>net-setup</c> again or run <c>ifconfig</c>, <c>dhcpcd</c> and/or
155<c>route</c> manually.
66<p> 156</p>
67Continue by mounting the partitions and extracting the appropriate stage 157
68file.
69</p> 158<p>
70 159If you are behind a proxy, do not forget to initialize your system using
71<pre caption="Preparing the Installation"> 160<c>export http_proxy</c>, <c>ftp_proxy</c> and <c>RSYNC_PROXY</c>.
72(Activate the swap partition) # <i>swapon /dev/hdax</i>
73(Mount the root partition) # <i>mount /dev/hdax /mnt/gentoo</i>
74(Create the boot mountpoint) # <i>mkdir /mnt/gentoo/boot</i>
75(Mount the boot partition) # <i>mount /dev/hdax /mnt/gentoo/boot</i>
76(Go to the mountpoint) # <i>cd /mnt/gentoo</i>
77(Extract a stage tarball...) # <i>tar -xvjpf /mnt/cdrom/stages/stage?-*.tar.bz2</i>
78(<comment>or</comment> download the latest tarball...) # <i>links http://www.gentoo.org/main/en/mirrors.xml</i>
79( ... and extract) # <i>tar -xvjpf stage*</i>
80(Optional: unpack a portage tree) # <i>tar -xvjf /mnt/cdrom/snapshots/portage-*.tar.bz2 -C /mnt/gentoo/usr</i>
81(Optional: copy over distfiles) # <i>cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/</i>
82(Select a mirror) # <i>mirrorselect -a -s4 -o | grep -ve '^Netselect' &gt;&gt; /mnt/gentoo/etc/make.conf</i>
83(Copy over nameserver information) # <i>cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf</i>
84(Mount the proc filesystem) # <i>mount -t proc none /mnt/gentoo/proc</i>
85(Chroot into the new environment) # <i>chroot /mnt/gentoo /bin/bash</i>
86(Load the necessary variables) # <i>env-update; source /etc/profile</i>
87(Network-only, non-GRP: update Portage) # <i>emerge sync</i>
88</pre>
89
90<p> 161</p>
91Now we install Gentoo: 162
163<pre caption="Configure networking the guided way">
164livecd root # <i>net-setup eth0</i>
165</pre>
166
92</p> 167<p>
93 168Alternatively, you can start networking manually. The following example assigns
94<pre caption = "Installing Gentoo"> 169the IP address 192.168.1.10 to your PC and defines 192.168.1.1 as your router
95(Change USE, CFLAGS and CXXFLAGS. Stage1 can also change CHOST) # <i>nano -w /etc/make.conf</i> 170and name server.
96(Stage1 only: bootstrap system) # <i>cd /usr/portage; scripts/bootstrap.sh</i>
97(Stage1, Stage2 only: install base system) # <i>emerge system</i>
98</pre>
99
100<p> 171</p>
101Next we set up the necessary information: 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
102</p> 179<p>
103 180The installation CD allows you to start an <c>sshd</c> server, add additional
104<pre caption = "Setting up Configuration Files"> 181users, run <c>irssi</c> (a command-line chat client) and surf the web using
105(Set timezone information) # <i>ln -sf /usr/share/zoneinfo/<comment>&lt;path to time zone file&gt;</comment> /etc/localtime</i> 182<c>lynx</c> or <c>links</c>.
106(Edit fstab file) # <i>nano -w /etc/fstab</i>
107</pre>
108
109<p> 183</p>
110Use the following as a <e>template</e> (don't copy verbatim) for 184
111<path>/etc/fstab</path>: 185</body>
186</section>
187<section>
188<title>Optional: connect to your new box over ssh</title>
189<body>
190
112</p> 191<p>
113 192The most interesting feature is of course <c>sshd</c>. You can start it and
114<pre caption="/etc/fstab"> 193then connect from another machine and cut and paste commands from this guide.
115# &lt;fs&gt; &lt;mountpoint&gt; &lt;type&gt; &lt;opts&gt; &lt;dump/pass&gt;
116/dev/hdax /boot ext2 noauto,noatime 1 2
117/dev/hdax none swap sw 0 0
118/dev/hdax / reiserfs noatime 0 1
119/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
120none /proc proc defaults 0 0
121none /dev/shm tmpfs defaults 0 0
122</pre>
123
124<p> 194</p>
125Continue by installing the Linux kernel: 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
126</p> 207<p>
127 208Now, set the root password on the liveCD so that you can connect to it from
128<pre caption="Installing the Kernel"> 209another PC. Please note that allowing root to connect over ssh is not
129(Install the kernel sources) # <i>emerge <comment>&lt;kernel-package-here&gt;</comment></i> 210recommended under normal circumstances. If you can't trust your local network,
130(Configure your kernel using genkernel...) # <i>emerge genkernel; genkernel --menuconfig all</i> 211use a long and complex password, you should use it only once as it will
131(<comment>or</comment> (1) manually build your kernel) # <i>cd /usr/src/linux; make menuconfig;</i> 212disappear after your first reboot.
132( (2) Include VM fs, /proc fs, /dev fs, /dev fs auto mount at boot)
133( (3) Compile your kernel) # <i>make dep &amp;&amp; make clean bzImage modules modules_install</i>
134( (4) Copy over the kernel) # <i>cp arch/i386/boot/bzImage /boot; cp System.map /boot</i>
135</pre>
136
137<p> 213</p>
138Now install other tools you might want: 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
139</p> 222<p>
140 223Now, you can start a terminal on another PC and connect to your new box, follow
141<pre caption = "Install important system tools"> 224the rest of this guide in another window, and cut and paste commands.
142(Install system logger; choice: sysklogd, metalog, msyslog, syslog-ng) # <i>emerge syslog-ng </i>
143(Have the systemlogger automatically started at boot) # <i>rc-update add syslog-ng default</i>
144(Install cron daemon; choice: vixie-cron, dcron, fcron) # <i>emerge vixie-cron</i>
145(Have the cron daemon automatically started at boot) # <i>rc-update add vixie-cron default</i>
146(genkernel users only: install hotplug) # <i>emerge hotplug</i>
147(genkernel users only: have hotplug automatically started at boot) # <i>rc-update add hotplug default</i>
148(Non-ext2,ext3 users only; choice: reiserfsprogs, xfsprogs, jfsutils) # <i>emerge reiserfsprogs</i>
149(Domain name init script) # <i>rc-update add domainname default</i>
150</pre>
151
152<p> 225</p>
153If you need specialised kernel ebuilds, now is a good time to install them: 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
237</body>
238</section>
239<section>
240<title>Preparing the Disks</title>
241<body>
242
154</p> 243<p>
155 244Use <c>fdisk</c> or <c>cfdisk</c> to create your partition layout. You need at
156<pre caption = "Install Specialised Kernel Ebuilds"> 245least a swap partition (type 82) and one Linux partition (type 83). The
157# <i>emerge pcmcia-cs</i> (or <i>nforce-net</i>, <i>nforce-audio</i>, <i>e100</i>, <i>e1000</i>, <i>ati-drivers</i>, <i>rp-pppoe</i>) 246following scenario creates a <path>/boot</path>, a swap and a main partition
158# <i>VIDEO_CARDS="yourcard" emerge xfree-drm</i> (for ATI Radeon up to 9200, Rage128, Matrox, Voodoo and other cards) 247as used in our handbook. The device name is likely to be either
159</pre> 248<path>/dev/sda</path> for a SATA or SCSI disk, or <path>/dev/hda</path> for an
160 249IDE disk.
161<p> 250</p>
162Finalise the settings for your Gentoo system: 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
266</pre>
267
163</p> 268<p>
164 269Use <c>mke2fs</c>, <c>mke2fs -j</c>, <c>mkreiserfs</c>, <c>mkfs.xfs</c> and
165<pre caption = "Finalise the Configuration Settings"> 270<c>mkfs.jfs</c> to create file systems on your Linux partitions. Initialize your
166(Set root password) # <i>passwd</i> 271swap partition using <c>mkswap</c> and <c>swapon</c>.
167(Create a user) # <i>useradd your_user -m -G users,wheel,audio -s /bin/bash</i>
168(Set password for that user) # <i>passwd your_user</i>
169(Set the system hostname) # <i>echo mymachine &gt; /etc/hostname</i>
170(Set the system domainname) # <i>echo mydomain.com &gt; /etc/dnsdomainname</i>
171(Set the hostsfile, ex:"127.0.0.1 localhost mymachine") # <i>nano -w /etc/hosts</i>
172(Configure basic system settings; follow comments) # <i>nano -w /etc/rc.conf</i>
173</pre>
174
175<pre caption = "Set up Networking">
176(Setup networking; dhcp-users should set iface_eth0="dhcp") # <i>nano -w /etc/conf.d/net</i>
177(List modules to be loaded at startup) # <i>nano -w /etc/modules.autoload.d/kernel-<comment>&lt;version&gt;</comment></i>
178(Non-PCMCIA only: start networking automatically at boot) # <i>rc-update add net.eth0 default</i>
179(Only if you have multiple network interfaces:)
180 (1) Create initscripts for each interface) # <i>ln -s /etc/init.d/net.eth0 /etc/init.d/net.ethx</i>
181 (2) Automatically start at boot if no PCMCIA) # <i>rc-update add net.ethx default</i>
182(PCMCIA only: verify /etc/conf.d/pcmcia and load PCMCIA at boot) # <i>rc-update add pcmcia boot</i>
183</pre>
184
185<p> 272</p>
186Now install a bootloader. 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>
284
187</p> 285<p>
286Mount the freshly created file systems on <path>/mnt/gentoo</path>. Create
287directories for the other mount points (like <path>/mnt/gentoo/boot</path>) if
288you need them and mount them too.
289</p>
188 290
189<pre caption="Install and configure GRUB"> 291<pre caption="Mount the file systems">
190# <i>emerge grub</i> 292livecd ~ # <i>mount /dev/sda3 /mnt/gentoo</i>
191# <i>grub</i> 293livecd ~ # <i>mkdir /mnt/gentoo/boot</i>
192grub&gt; <i>root (hd0,0)</i> 294livecd ~ # <i>mount /dev/sda1 /mnt/gentoo/boot</i>
193grub&gt; <i>setup (hd0)</i> 295</pre>
194grub&gt; <i>quit</i> 296
297</body>
298</section>
299<section>
300<title>Setting Up The Stage</title>
301<body>
302
303<p>
304First make sure your date and time is set correctly using <c>date
305MMDDhhmmYYYY</c>. Use UTC time.
306</p>
307
308<pre caption="Set the date and UTC time">
309<comment>(Check the clock)</comment>
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
318<p>
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>.
322</p>
323
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 highlight the
328stage3 of your choice, probably the i686 stage3 and press D to download it)</comment>
329
330<comment>(<b>Or</b> download it directly with wget without choosing a nearby mirror)</comment>
331livecd ~ # <i>cd /mnt/gentoo</i>
332livecd gentoo # <i>wget ftp://gentoo.osuosl.org/pub/gentoo/releases/x86/current/stages/stage3-i686*tar.bz2</i>
333</pre>
334
335<pre caption="Unpack the stage3 archive">
336livecd gentoo # <i>time tar xjpf stage3*</i>
337
338real 1m13.157s
339user 1m2.920s
340sys 0m7.230s
341</pre>
342
343<p>
344Install the latest Portage snapshot. Proceed as for the stage3 archive: choose
345a nearby mirror from our <uri link="/main/en/mirrors.xml">list</uri>, download
346the latest snapshot and unpack it.
347</p>
348
349<pre caption="Download the latest Portage snapshot">
350livecd gentoo # <i>cd /mnt/gentoo/usr</i>
351livecd usr # <i>links http://www.gentoo.org/main/en/mirrors.xml</i>
352<comment>(Pick a mirror, move to the snapshots/ directory,
353highlight <b>portage-latest.tar.bz2</b> and press D to download it)</comment>
354
355<comment>(<b>Or</b> download it directly with wget without choosing a nearby mirror)</comment>
356livecd gentoo # <i>cd /mnt/gentoo/usr</i>
357livecd usr # <i>wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2</i>
358</pre>
359
360<pre caption="Unpack the Portage snapshot">
361livecd usr # <i>time tar xjf portage*</i>
362
363real 0m51.523s
364user 0m28.680s
365sys 0m12.840s
366</pre>
367
368</body>
369</section>
370<section>
371<title>Chrooting</title>
372<body>
373
374<p>
375Mount the <path>/proc</path> file system, copy over the
376<path>/etc/resolv.conf</path> file, then chroot into your Gentoo environment.
377</p>
378
379<pre caption="Chroot">
380livecd usr # <i>cd /</i>
381livecd / # <i>mount -t proc proc /mnt/gentoo/proc</i>
382livecd / # <i>cp -L /etc/resolv.conf /mnt/gentoo/etc/</i>
383livecd / # <i>chroot /mnt/gentoo /bin/bash</i>
384livecd / # <i>env-update &amp;&amp; source /etc/profile</i>
385>>> Regenerating /etc/ld.so.cache...
386</pre>
387
388</body>
389</section>
390<section>
391<title>Set your time zone</title>
392<body>
393
394<p>
395Set your time zone information by using the correct listing in
396<path>/usr/share/zoneinfo</path>.
397</p>
398
399<pre caption="Setting your timezone">
400livecd / # <i>ls /usr/share/zoneinfo</i>
401<comment>(Using Brussels as an example)</comment>
402livecd / # <i>cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime</i>
403
404livecd / # <i>date</i>
405Wed Mar 8 00:46:05 CET 2006
406</pre>
407
408</body>
409</section>
410<section>
411<title>Set your host and domain name</title>
412<body>
413
414<p>
415Set your host name in <path>/etc/conf.d/hostname</path> and
416<path>/etc/hosts</path>. In the following example, we use <c>mybox</c> as host
417name and <c>at.myplace</c> as domain name. You can either edit the config
418files with <c>nano</c> or use the following commands:
419</p>
420
421<pre caption="Set host and domain name">
422livecd / # <i>cd /etc</i>
423livecd etc # <i>echo "127.0.0.1 mybox.at.myplace mybox localhost" > hosts</i>
424livecd etc # <i>sed -i -e 's/HOSTNAME.*/HOSTNAME="mybox"/' conf.d/hostname</i>
425<comment>(Use defined host name and check)</comment>
426livecd etc # <i>hostname mybox</i>
427livecd etc # <i>hostname -f</i>
428mybox.at.myplace
429</pre>
430
431</body>
432</section>
433<section>
434<title>Kernel Configuration</title>
435<body>
436
437<p>
438Install a kernel source (usually <c>gentoo-sources</c>), configure it, compile
439it and copy the <path>arch/i386/boot/bzImage</path> file to <path>/boot</path>.
440</p>
441
442<pre caption="Install a kernel source, compile it and install the kernel">
443livecd etc # <i>time emerge gentoo-sources</i>
444
445real 2m51.435s
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>
460</pre>
461
462</body>
463</section>
464<section>
465<title>Configure the system</title>
466<body>
467
468<p>
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.
472</p>
473
474<pre caption="Example fstab">
475livecd linux # <i>cd /etc</i>
476livecd etc # <i>nano -w fstab</i>
477/dev/<i>sda1</i> /boot ext2 noauto,noatime 1 2
478/dev/<i>sda3</i> / ext3 noatime 0 1
479/dev/<i>sda2</i> none swap sw 0 0
480</pre>
481
482<p>
483Configure your network in <path>/etc/conf.d/net</path>. Add the <c>net.eth0</c>
484init script to the default run level. If you have multiple NICs, symlink them
485to the <c>net.eth0</c> init script and add them to the default run level as
486well. Either edit <path>/etc/conf.d/net</path> with <c>nano</c> or use the
487following commands:
488</p>
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>
500</pre>
501
502<note>
503Emerge <c>pcmciautils</c> if you need support for PCMCIA cards.
504</note>
505
506<p>
507Set the root password using <c>passwd</c>.
508</p>
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
517<p>
518Edit <path>/etc/conf.d/clock</path> to define the time zone you used
519previously.
520</p>
521
522<pre caption="Edit /etc/conf.d/clock">
523livecd conf.d # <i>nano -w /etc/conf.d/clock</i>
524TIMEZONE="Europe/Brussels"
525</pre>
526
527<p>
528Check the system configuration in <path>/etc/rc.conf</path>,
529<path>/etc/conf.d/rc</path>, <path>/etc/conf.d/keymaps</path> and edit any of
530those files if required.
531</p>
532
533<pre caption="Optional: edit some config files">
534livecd conf.d # <i>nano -w /etc/rc.conf</i>
535livecd conf.d # <i>nano -w /etc/conf.d/rc</i>
536livecd conf.d # <i>nano -w /etc/conf.d/keymaps</i>
537</pre>
538
539</body>
540</section>
541<section>
542<title>Installing System Tools</title>
543<body>
544
545<p>
546Install a system logger like <c>syslog-ng</c> and a cron daemon like
547<c>vixie-cron</c>, and add them to the default run level.
548</p>
549
550<note>
551Cron daemons depend on an MTA. <c>mail-mta/ssmtp</c> will be pulled in as a
552dependency. If you want to use a more advanced MTA, you might want to install
553it now. If you are in a hurry, let ssmtp be installed and remove it later when
554you install the MTA of your choice.
555</note>
556
557<pre caption="Install a syslogger and a cron daemon">
558livecd conf.d # <i>time emerge syslog-ng vixie-cron</i>
559
560real 1m52.699s
561user 1m1.630s
562sys 0m35.220s
563livecd conf.d # <i>rc-update add syslog-ng default</i>
564livecd conf.d # <i>rc-update add vixie-cron default</i>
565</pre>
566
567<p>
568Install the necessary file system tools (<c>xfsprogs</c>, <c>reiserfsprogs</c>
569or <c>jfsutils</c>) and networking tools (<c>dhcpcd</c> or <c>ppp</c>) if you
570need any.
571</p>
572
573<pre caption="Install extra tools if required">
574livecd conf.d # <i>emerge xfsprogs</i> <comment>(If you use the XFS file system)</comment>
575livecd conf.d # <i>emerge jfsutils</i> <comment>(If you use the JFS file system)</comment>
576livecd conf.d # <i>emerge reiserfsprogs</i> <comment>(If you use the Reiser file system)</comment>
577livecd conf.d # <i>emerge dhcpcd</i> <comment>(If you need a DHCP client)</comment>
578livecd conf.d # <i>emerge ppp</i> <comment>(If you need PPPoE ADSL connectivity)</comment>
579</pre>
580
581</body>
582</section>
583<section>
584<title>Configuring the Bootloader</title>
585<body>
586
587<p>
588Emerge <c>grub</c> or <c>lilo</c>. Configure either
589<path>/boot/grub/grub.conf</path> or <path>/etc/lilo.conf</path> and install
590the bootloader you have emerged.
591</p>
592
593<p>
594<b>1. Using grub</b>
595</p>
596
597<pre caption="Emerge grub and edit its configuration file">
598livecd conf.d # <i>time emerge grub</i>
599
600real 1m8.634s
601user 0m39.460s
602sys 0m15.280s
195# <i>nano -w /boot/grub/grub.conf</i> 603livecd conf.d # <i>nano -w /boot/grub/grub.conf</i>
604</pre>
605
606<pre caption="Example grub.conf">
196default 0 607default 0
197timeout 15 608timeout 10
198splashimage=(hd0,0)/grub/splash.xpm.gz
199 609
200title=Gentoo Linux 610title=Gentoo
201 root (hd0,0) 611root (hd0,0)
202 <comment># genkernel users:</comment> 612kernel /boot/kernel root=/dev/sda3
203 kernel /kernel-<comment>&lt;kernel version&gt;</comment> root=/dev/ram0 init=/linuxrc real_root=/dev/hda3 613</pre>
204 initrd /initrd-<comment>&lt;kernel version&gt;</comment> 614
205 <comment># non-genkernel users:</comment> 615<pre caption="Install grub">
206 kernel /kernel-<comment>&lt;kernel version&gt;</comment> root=/dev/hda3 616livecd conf.d # <i>grub</i>
617Probing devices to guess BIOS drives. This may take a long time.
618
619grub> <i>root (hd0,0)</i>
620 Filesystem type is ext2fs, partition type 0x83
621
622grub> <i>setup (hd0)</i>
623 Checking if "/boot/grub/stage1" exists... yes
624 Checking if "/boot/grub/stage2" exists... yes
625 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
626 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
627succeeded
628 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
629grub/menu.lst"... succeeded
630Done.
631
632grub> <i>quit</i>
633</pre>
634
635<p>
636Now, proceed with the <uri link="#reboot">rebooting section</uri>.
207</pre> 637</p>
208 638
209<pre caption="Install and configure LILO"> 639<p>
210# <i>emerge lilo</i> 640<b>2. Using lilo</b>
641</p>
642
643<pre caption="Emerge lilo and edit its configuration file">
644livecd conf.d # <i>time emerge lilo</i>
645
646real 0m47.016s
647user 0m22.770s
648sys 0m5.980s
211# <i>nano -w /etc/lilo.conf</i> 649livecd conf.d # <i>nano -w /etc/lilo.conf</i>
650</pre>
651
652<pre caption="Example lilo.conf">
212boot=/dev/hda 653boot=/dev/sda
213prompt 654prompt
214timeout=50 655timeout=50
215default=gentoo 656default=gentoo
216 657
217image=/boot/kernel-<comment>&lt;kernel version&gt;</comment> 658image=/boot/kernel
218 label=gentoo 659 label=Gentoo
219 read-only 660 read-only
220 <comment># genkernel users:</comment>
221 append="init=/linuxrc real_root=/dev/hda3"
222 root=/dev/ram0
223 initrd=/boot/initrd-<comment>&lt;kernel version&gt;</comment>
224 <comment># non-genkernel users:</comment>
225 root=/dev/hda3 661 root=/dev/sda3
226
227# <i>/sbin/lilo</i>
228</pre>
229
230<p>
231Now unmount all partitions and reboot into your new system:
232</p> 662</pre>
233 663
234<pre caption="Finishing off and installing GUI"> 664<pre caption="Install lilo">
235(Exiting the chroot) # <i>exit; cd /</i> 665livecd conf.d # <i>lilo</i>
236(Unmounting partitions) # <i>umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo</i> 666Added Gentoo *
237(Reboot; Remove the universal CD from the tray) # <i>reboot</i>
238(After booting:)
239(ADSL-users only) # <i>adsl-setup</i>
240(GRP-users only)
241 (1) Mount Package CD # <i>mount /dev/cdrom /mnt/cdrom</i>
242 (2) Copy over packages # <i>mkdir /usr/portage/packages</i>
243 # <i>cp -a /mnt/cdrom/* /usr/portage/packages/</i>
244 (3) Install extra software # <i>USE="bindist" emerge -k xfree gnome kde mozilla openoffice-bin</i>
245 (4) Configure your Xserver # <i>/usr/X11R6/bin/xf86config</i>
246</pre>
247
248<p>
249You can get more information from the <uri
250link="http://www.gentoo.org/doc/en/index.xml">Gentoo
251Documentation</uri>.
252</p> 667</pre>
668
669</body>
670</section>
671<section id="reboot">
672<title>Reboot</title>
253</body> 673<body>
674
675<p>
676Exit the chrooted environment, unmount all file systems and reboot:
677</p>
678
679<pre caption="Reboot">
680livecd conf.d # <i>exit</i>
681livecd / # <i>umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo</i>
682livecd / # <i>reboot</i>
683<comment>(Don't forget to remove the CD)</comment>
684</pre>
685
686</body>
687</section>
688<section id="after-reboot">
689<title>Finalizing the Installation</title>
690<body>
691
692<note>
693The <b>total</b> elapsed time between the display of the boot prompt on the
694minimal CD and the display of the login prompt after the reboot was
695<b>00:42:31</b> on our test box. Yes, less than one hour! Note that this time
696also includes the stage3, Portage snapshot and several packages download time
697and the time spent configuring the kernel.
698</note>
699
700<p>
701Log in as <c>root</c>, then add one or more users for daily use with
702<c>useradd</c>.
703</p>
704
705<pre caption="Connect to your new box from another PC">
706<comment>(Clean up your known_hosts file because your new box
707has generated a new definitive hostkey)</comment>
708$ <i>nano -w ~/.ssh/known_hosts</i>
709<comment>(Look for the IP of your new PC and delete the line,
710then save the file and exit nano)</comment>
711
712<comment>(Use the IP address of your new box)</comment>
713$ <i>ssh root@192.168.1.10</i>
714The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
715RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
716Are you sure you want to continue connecting (yes/no)? <i>yes</i>
717Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
718Password: <comment>type_the_password</comment>
719</pre>
720
721<pre caption="Add a new user">
722mybox ~ # <i>adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m john</i>
723mybox ~ # <i>passwd john</i>
724New UNIX password: <comment>Set John's password</comment>
725Retype new UNIX password: <comment>Type John's password again</comment>
726passwd: password updated successfully
727</pre>
728
729</body>
730</section>
254</section> 731<section>
732<title>Last configuration touches</title>
733<body>
734
735<p>
736Start by selecting nearby mirrors either by defining the <c>RSYNC</c> and
737<c>GENTOO_MIRRORS</c> variables in <path>/etc/make.conf</path> or by using
738<c>mirrorselect</c>. You can also define the number of concurrent compilation
739processes at this point.
740</p>
741
742<pre caption="Use mirrorselect and set MAKEOPTS">
743mybox ~ # <i>emerge mirrorselect</i>
744mybox ~ # <i>mirrorselect -i -o >> /etc/make.conf</i>
745mybox ~ # <i>mirrorselect -i -r -o >> /etc/make.conf</i>
746<comment>(Usually, (the number of processors + 1) is a good value)</comment>
747mybox ~ # <i>echo 'MAKEOPTS="-j2"' >> /etc/make.conf</i>
748</pre>
749
750<p>
751Now is a good time to enable or disable some USE flags. Run <c>emerge -vpe
752world</c> to list all currently installed packages and their enabled and
753disabled USE flags. Either edit <path>/etc/make.conf</path> or use the
754following command to define the USE variable:
755</p>
756
757<pre caption="View USE flags in use and enable or disable some">
758mybox ~ # <i>emerge -vpe world</i>
759<comment>(Portage displays the packages and their USE flags, as an example, let's
760disable ipv6 and fortran, and enable unicode)</comment>
761mybox ~ # <i>echo 'USE="nptl nptlonly -ipv6 -fortran unicode"' >> /etc/make.conf</i>
762</pre>
763
764<p>
765Recent versions of glibc use <path>/etc/locale.gen</path> to define locale
766settings.
767</p>
768
769<pre caption="Define locales">
770mybox ~ # <i>cd /etc</i>
771mybox etc # <i>nano -w locale.gen</i>
772</pre>
773
774<p>
775Last but not least, you may want to alter the <c>CFLAGS</c> variable in your
776<path>/etc/make.conf</path> to optimise the code to your specific needs. Please
777note that using a long list of flags is rarely needed and can even lead to a
778broken system. It is recommended to specify the processor type in the
779<c>march</c> option and stick to <c>-O2 -pipe</c>.
780</p>
781
782<p>
783You may also want to switch to <b>~x86</b>. You should only do this if you can
784deal with the odd broken ebuild or package. If you'd rather keep your system
785stable, don't add the <c>ACCEPT_KEYWORDS</c> variable. Adding
786<c>FEATURES="parallel-fetch ccache"</c> is also a good idea.
787</p>
788
789<pre caption="Last edit of make.conf">
790mybox etc # <i>nano -w make.conf</i>
791<comment>(Set -march to your CPU type in CFLAGS)</comment>
792CFLAGS="-O2 -march=<i>athlon-xp</i> -pipe"
793<comment>(Add the following line)</comment>
794FEATURES="parallel-fetch ccache"
795<comment>(Only add the following if you know what you're doing)</comment>
796ACCEPT_KEYWORDS="~x86"
797</pre>
798
799<p>
800You might want to recompile your whole system twice to make full use of your
801latest configuration changes. It would take quite a long time to complete and
802yield minimal speed benefits. You can let your system optimise itself gradually
803over time when new versions of packages are released. However, recompiling is
804a still good idea from the standpoint of maintaining system consistency. Please
805see the <uri link="/doc/en/gcc-upgrading.xml">Gentoo GCC Upgrading Guide</uri>
806for a discussion on the benefits of ensuring a consistently built system and
807world.
808</p>
809
810<p>
811Recompiling only the packages that have already been updated since the release
812or that are affected by your new USE flags will take enough time. You might
813also have to remove packages that block your upgrade. Look for "[blocks
814<brite>B</brite> ]" in the output of <c>emerge -vpuD --newuse world</c> and
815use <c>emerge -C</c> to remove them.
816</p>
817
818<pre caption="Update your packages">
819<comment>(Install ccache)</comment>
820mybox etc # <i>emerge ccache</i>
821
822<comment>(Please note that the switch to ~x86 causes many packages to be upgraded)</comment>
823mybox etc # <i>emerge -vpuD --newuse world</i>
824<comment>(Take a good look at the package list and their USE flags,
825remove blocking packages if any, and start the lengthy process)</comment>
826mybox etc # <i>time emerge -vuD --newuse world</i>
827<comment>(79 packages have been (re)compiled)</comment>
828
829real 180m13.276s
830user 121m22.905s
831sys 36m31.472s
832
833<comment>(Remerge libtool to avoid further potential problems)</comment>
834mybox etc # <i>emerge libtool</i>
835
836<comment>(Update config files, make sure you <b>do not</b> let etc-update
837update config files you have edited)</comment>
838mybox etc # <i>etc-update</i>
839
840<comment>(If perl has been updated, you should run the perl-cleaner script)</comment>
841mybox etc # <i>time perl-cleaner all</i>
842real 1m6.495s
843user 0m42.699s
844sys 0m10.641s
845
846<comment>(In case of a major upgrade of python, you should run the python-updater script)</comment>
847mybox etc # <i>python-updater</i>
848</pre>
849
850</body>
851</section>
852<section>
853<title>What to do next</title>
854<body>
855
856<p>
857Depending on what your new Gentoo machine is supposed to do, you will probably
858want to install server applications or a desktop system. Just as an example,
859<c>emerge gnome</c> and <c>emerge kde</c> have been timed on the ~x86 system
860installed as describe above. Both have been installed from the same starting
861point.
862</p>
863
864<p>
865You should check our <uri link="/doc/en/">documentation index</uri> to find out
866how to install and configure the applications of your choice.
867</p>
868
869<impo>
870The following is only an example. It is in no way meant as a recommended setup.
871</impo>
872
873<pre caption="Emerge GNOME">
874mybox etc # <i>emerge -vp gnome</i>
875<comment>(Look at the list of packages and their USE flags,
876then edit make.conf if required.</comment>
877mybox etc # <i>nano -w /etc/make.conf</i>
878<comment>(The following USE flags have been defined)</comment>
879USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
880 -kde -qt3 -qt4 -arts -eds -esd gnome gstreamer gtk firefox"
881
882mybox etc # <i>time emerge gnome</i>
883<comment>(326 packages have been emerged)</comment>
884
885real 520m44.532s
886user 339m21.144s
887sys 146m22.337s
888</pre>
889
890<pre caption="Emerge KDE">
891mybox etc # <i>emerge -vp kde-meta</i>
892<comment>(Look at the list of packages and their USE flags,
893then edit make.conf if required.</comment>
894mybox etc # <i>nano -w /etc/make.conf</i>
895<comment>The following USE flags have been defined)</comment>
896USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
897 kde qt3 qt4 -arts -eds -esd -gnome -gstreamer -gtk -firefox"
898
899mybox etc # <i>time emerge kde-meta</i>
900<comment>(391 packages have been emerged)</comment>
901
902real 1171m25.318s
903user 851m26.393s
904sys 281m45.629s
905</pre>
906
907</body>
908</section>
255</chapter> 909</chapter>
256</guide> 910</guide>
257

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.77

  ViewVC Help
Powered by ViewVC 1.1.20