| 1 |
<?xml version='1.0' encoding="UTF-8"?>
|
| 2 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-x86-quickinstall.xml,v 1.56 2006/06/29 13:27:47 rane Exp $ -->
|
| 3 |
|
| 4 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
|
| 5 |
|
| 6 |
<guide link="/doc/en/gentoo-x86-quickinstall.xml" lang="en">
|
| 7 |
<title>Gentoo Linux x86 Quick Install Guide</title>
|
| 8 |
|
| 9 |
<author title="Author">
|
| 10 |
<mail link="neysx@gentoo.org">Xavier Neys</mail>
|
| 11 |
</author>
|
| 12 |
<author title="Author">
|
| 13 |
<mail link="swift@gentoo.org">Sven Vermeulen</mail>
|
| 14 |
</author>
|
| 15 |
<author title="Author">Steven Wagner</author>
|
| 16 |
|
| 17 |
<abstract>
|
| 18 |
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 |
</abstract>
|
| 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 -->
|
| 26 |
<license/>
|
| 27 |
|
| 28 |
<version>5</version>
|
| 29 |
<date>2006-06-29</date>
|
| 30 |
|
| 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 |
finish. Commands were timed on an AMD 2000 1.66 Ghz PC with 512 Mb of RAM and
|
| 45 |
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 |
bogomips : 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>
|
| 61 |
MemTotal: 509248 kB
|
| 62 |
</pre>
|
| 63 |
|
| 64 |
</body>
|
| 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>
|
| 75 |
Download a CD from one of our <uri link="/main/en/mirrors.xml">mirrors</uri>.
|
| 76 |
You can find the minimal CD ISO in
|
| 77 |
<path>releases/x86/<release>/installcd</path> or the LiveCD ISO in
|
| 78 |
<path>releases/x86/<release>/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 |
<uri link="/doc/en/handbook/2006.0/handbook-x86.xml">2006.0 x86 installation
|
| 82 |
handbook</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 |
|
| 89 |
</body>
|
| 90 |
</section>
|
| 91 |
<section>
|
| 92 |
<title>Booting the CD</title>
|
| 93 |
<body>
|
| 94 |
|
| 95 |
<p>
|
| 96 |
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 |
experience with different configurations. The safest way is probably to use the
|
| 105 |
<c>nodetect</c> option and then load required modules explicitly.
|
| 106 |
</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 |
</p>
|
| 127 |
|
| 128 |
<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 |
</body>
|
| 138 |
</section>
|
| 139 |
<section>
|
| 140 |
<title>Network Configuration</title>
|
| 141 |
<body>
|
| 142 |
|
| 143 |
<p>
|
| 144 |
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 |
<c>adsl-setup</c> and <c>adsl-start</c>. For PPTP support, first edit
|
| 148 |
<path>/etc/ppp/chap-secrets</path> and <path>/etc/ppp/options.pptp</path> and
|
| 149 |
then use <c>pptp <server ip></c>.
|
| 150 |
</p>
|
| 151 |
|
| 152 |
<p>
|
| 153 |
For wireless access, use <c>iwconfig</c> to set the wireless parameters and then
|
| 154 |
use either <c>net-setup</c> again or run <c>ifconfig</c>, <c>dhcpcd</c> and/or
|
| 155 |
<c>route</c> manually.
|
| 156 |
</p>
|
| 157 |
|
| 158 |
<p>
|
| 159 |
If you are behind a proxy, do not forget to initialize your system using
|
| 160 |
<c>export http_proxy</c>, <c>ftp_proxy</c> and <c>RSYNC_PROXY</c>.
|
| 161 |
</p>
|
| 162 |
|
| 163 |
<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 |
the IP address 192.168.1.10 to your PC and defines 192.168.1.1 as your router
|
| 170 |
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 |
livecd root # <i>echo nameserver 192.168.1.1 > /etc/resolv.conf</i>
|
| 177 |
</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 |
disappear after your first reboot.
|
| 213 |
</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 |
<comment>(Use the IP address of your new box)</comment>
|
| 229 |
$ <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 |
</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 |
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 |
|
| 268 |
<p>
|
| 269 |
Use <c>mke2fs</c>, <c>mke2fs -j</c>, <c>mkreiserfs</c>, <c>mkfs.xfs</c> and
|
| 270 |
<c>mkfs.jfs</c> to create file systems on your Linux partitions. Initialize your
|
| 271 |
swap partition using <c>mkswap</c> and <c>swapon</c>.
|
| 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>
|
| 276 |
livecd ~ # <i>mke2fs /dev/sda1</i>
|
| 277 |
|
| 278 |
<comment>(Let's use ext3 on the main partition)</comment>
|
| 279 |
livecd ~ # <i>mke2fs -j -O dir_index /dev/sda3</i>
|
| 280 |
|
| 281 |
<comment>(Create and activate swap)</comment>
|
| 282 |
livecd ~ # <i>mkswap /dev/sda2 && swapon /dev/sda2</i>
|
| 283 |
</pre>
|
| 284 |
|
| 285 |
<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 |
you need them and mount them too.
|
| 289 |
</p>
|
| 290 |
|
| 291 |
<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 |
</body>
|
| 298 |
</section>
|
| 299 |
<section>
|
| 300 |
<title>Setting Up The Stage</title>
|
| 301 |
<body>
|
| 302 |
|
| 303 |
<p>
|
| 304 |
First make sure your date and time is set correctly using <c>date
|
| 305 |
MMDDhhmmYYYY</c>. Use UTC time.
|
| 306 |
</p>
|
| 307 |
|
| 308 |
<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 |
<p>
|
| 319 |
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 <stage3 tarball></c>.
|
| 322 |
</p>
|
| 323 |
|
| 324 |
<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 |
highlight the stage3 of your choice, probably stage3-i686-2006.0.tar.bz2
|
| 329 |
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 |
livecd gentoo # <i>wget http://gentoo.osuosl.org/releases/x86/current/stages/stage3-i686-2006.0.tar.bz2</i>
|
| 334 |
</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 |
<p>
|
| 345 |
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 |
</p>
|
| 349 |
|
| 350 |
<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 |
<p>
|
| 376 |
Mount 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">
|
| 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 && source /etc/profile</i>
|
| 386 |
>>> Regenerating /etc/ld.so.cache...
|
| 387 |
</pre>
|
| 388 |
|
| 389 |
</body>
|
| 390 |
</section>
|
| 391 |
<section>
|
| 392 |
<title>Set your timezone</title>
|
| 393 |
<body>
|
| 394 |
|
| 395 |
<p>
|
| 396 |
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 |
</p>
|
| 399 |
|
| 400 |
<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 |
</pre>
|
| 406 |
|
| 407 |
</body>
|
| 408 |
</section>
|
| 409 |
<section>
|
| 410 |
<title>Set your host and domain name</title>
|
| 411 |
<body>
|
| 412 |
|
| 413 |
<p>
|
| 414 |
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 |
</p>
|
| 419 |
|
| 420 |
<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 |
|
| 430 |
</body>
|
| 431 |
</section>
|
| 432 |
<section>
|
| 433 |
<title>Kernel Configuration</title>
|
| 434 |
<body>
|
| 435 |
|
| 436 |
<p>
|
| 437 |
Install a kernel source (usually <c>gentoo-sources</c> or
|
| 438 |
<c>vanilla-sources</c>), configure it, compile it and copy the
|
| 439 |
<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">
|
| 443 |
livecd / # <i>time emerge gentoo-sources</i>
|
| 444 |
|
| 445 |
real 2m51.435s
|
| 446 |
user 0m58.220s
|
| 447 |
sys 0m29.890s
|
| 448 |
livecd / # <i>cd /usr/src/linux</i>
|
| 449 |
livecd linux # <i>make menuconfig</i>
|
| 450 |
<comment>(Configure your kernel)</comment>
|
| 451 |
livecd linux # <i>time make -j2</i>
|
| 452 |
|
| 453 |
<comment>(Elapsed time depends highly on the options you selected)</comment>
|
| 454 |
real 3m51.962s
|
| 455 |
user 3m27.060s
|
| 456 |
sys 0m24.310s
|
| 457 |
|
| 458 |
livecd linux # <i>make modules_install</i>
|
| 459 |
livecd 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>
|
| 469 |
Edit 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
|
| 471 |
file systems match your installation.
|
| 472 |
</p>
|
| 473 |
|
| 474 |
<pre caption="Example fstab">
|
| 475 |
livecd linux # <i>cd /etc</i>
|
| 476 |
livecd 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>
|
| 483 |
Configure your network in <path>/etc/conf.d/net</path>. Add the <c>net.eth0</c>
|
| 484 |
init script to the default run level. If you have multiple NICs, symlink them
|
| 485 |
to the <c>net.eth0</c> init script and add them to the default run level as
|
| 486 |
well. Either edit <path>/etc/conf.d/net</path> with <c>nano</c> or use the
|
| 487 |
following commands:
|
| 488 |
</p>
|
| 489 |
|
| 490 |
<pre caption="Configure networking">
|
| 491 |
livecd etc # <i>cd conf.d</i>
|
| 492 |
livecd conf.d # <i>echo 'config_eth0=( "192.168.1.10/24" )' >> net</i>
|
| 493 |
livecd conf.d # <i>echo 'routes_eth0=( "default via 192.168.1.1" )' >> net</i>
|
| 494 |
livecd conf.d # <i>rc-update add net.eth0 default</i>
|
| 495 |
<comment>(If you compiled your network card driver as a module,
|
| 496 |
add it to /etc/modules.autoload.d/kernel-2.6)</comment>
|
| 497 |
livecd 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>
|
| 499 |
livecd conf.d # <i>rc-update add sshd default</i>
|
| 500 |
</pre>
|
| 501 |
|
| 502 |
<note>
|
| 503 |
Emerge <c>pcmcia-cs</c> and add it to the default run level if you need it.
|
| 504 |
</note>
|
| 505 |
|
| 506 |
<p>
|
| 507 |
Set the root password using <c>passwd</c>.
|
| 508 |
</p>
|
| 509 |
|
| 510 |
<pre caption="Set the root password">
|
| 511 |
livecd conf.d # <i>passwd</i>
|
| 512 |
New UNIX password: <comment>type_the_password</comment>
|
| 513 |
Retype new UNIX password: <comment>type_the_password_again</comment>
|
| 514 |
passwd: password updated successfully
|
| 515 |
</pre>
|
| 516 |
|
| 517 |
<p>
|
| 518 |
Check the system configuration in <path>/etc/rc.conf</path>,
|
| 519 |
<path>/etc/conf.d/rc</path>, <path>/etc/conf.d/keymaps</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">
|
| 524 |
livecd conf.d # <i>nano -w /etc/rc.conf</i>
|
| 525 |
livecd conf.d # <i>nano -w /etc/conf.d/rc</i>
|
| 526 |
livecd conf.d # <i>nano -w /etc/conf.d/keymaps</i>
|
| 527 |
livecd conf.d # <i>nano -w /etc/conf.d/clock</i>
|
| 528 |
</pre>
|
| 529 |
|
| 530 |
</body>
|
| 531 |
</section>
|
| 532 |
<section>
|
| 533 |
<title>Installing System Tools</title>
|
| 534 |
<body>
|
| 535 |
|
| 536 |
<p>
|
| 537 |
Install a system logger like <c>syslog-ng</c> and a cron daemon like
|
| 538 |
<c>vixie-cron</c>, and add them to the default run level.
|
| 539 |
</p>
|
| 540 |
|
| 541 |
<note>
|
| 542 |
Cron daemons depend on an MTA. <c>mail-mta/ssmtp</c> will be pulled in as a
|
| 543 |
dependency. If you want to use a more advanced MTA, you might want to install
|
| 544 |
it now. If you are in a hurry, let ssmtp be installed and remove it later when
|
| 545 |
you install the MTA of your choice.
|
| 546 |
</note>
|
| 547 |
|
| 548 |
<pre caption="Install a syslogger and a cron daemon">
|
| 549 |
livecd conf.d # <i>time emerge syslog-ng vixie-cron</i>
|
| 550 |
|
| 551 |
real 1m52.699s
|
| 552 |
user 1m1.630s
|
| 553 |
sys 0m35.220s
|
| 554 |
livecd conf.d # <i>rc-update add syslog-ng default</i>
|
| 555 |
livecd conf.d # <i>rc-update add vixie-cron default</i>
|
| 556 |
</pre>
|
| 557 |
|
| 558 |
<p>
|
| 559 |
Install the necessary file system tools (<c>xfsprogs</c>, <c>reiserfsprogs</c>
|
| 560 |
or <c>jfsutils</c>) and networking tools (<c>dhcpcd</c> or <c>rp-pppoe</c>) if
|
| 561 |
you need any.
|
| 562 |
</p>
|
| 563 |
|
| 564 |
<pre caption="Install extra tools if required">
|
| 565 |
livecd conf.d # <i>emerge xfsprogs</i> <comment>(If you use the XFS file system)</comment>
|
| 566 |
livecd conf.d # <i>emerge jfsutils</i> <comment>(If you use the JFS file system)</comment>
|
| 567 |
livecd conf.d # <i>emerge reiserfsprogs</i> <comment>(If you use the Reiser file system)</comment>
|
| 568 |
livecd conf.d # <i>emerge dhcpcd</i> <comment>(If you need a DHCP client)</comment>
|
| 569 |
livecd conf.d # <i>USE="-X" emerge rp-pppoe</i> <comment>(If you need PPPoE ADSL connectivity)</comment>
|
| 570 |
</pre>
|
| 571 |
|
| 572 |
</body>
|
| 573 |
</section>
|
| 574 |
<section>
|
| 575 |
<title>Configuring the Bootloader</title>
|
| 576 |
<body>
|
| 577 |
|
| 578 |
<p>
|
| 579 |
Emerge <c>grub</c> or <c>lilo</c>. Configure either
|
| 580 |
<path>/boot/grub/grub.conf</path> or <path>/etc/lilo.conf</path> and install
|
| 581 |
the bootloader you have emerged.
|
| 582 |
</p>
|
| 583 |
|
| 584 |
<p>
|
| 585 |
<b>1. Using grub</b>
|
| 586 |
</p>
|
| 587 |
|
| 588 |
<pre caption="Emerge grub and edit its configuration file">
|
| 589 |
livecd conf.d # <i>time emerge grub</i>
|
| 590 |
|
| 591 |
real 1m8.634s
|
| 592 |
user 0m39.460s
|
| 593 |
sys 0m15.280s
|
| 594 |
livecd conf.d # <i>nano -w /boot/grub/grub.conf</i>
|
| 595 |
</pre>
|
| 596 |
|
| 597 |
<pre caption="Example grub.conf">
|
| 598 |
default 0
|
| 599 |
timeout 10
|
| 600 |
|
| 601 |
title=Gentoo
|
| 602 |
root (hd0,0)
|
| 603 |
kernel /boot/kernel root=/dev/sda3
|
| 604 |
</pre>
|
| 605 |
|
| 606 |
<pre caption="Install grub">
|
| 607 |
livecd conf.d # <i>grub</i>
|
| 608 |
Probing devices to guess BIOS drives. This may take a long time.
|
| 609 |
|
| 610 |
grub> <i>root (hd0,0)</i>
|
| 611 |
Filesystem type is ext2fs, partition type 0x83
|
| 612 |
|
| 613 |
grub> <i>setup (hd0)</i>
|
| 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.
|
| 618 |
succeeded
|
| 619 |
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
|
| 620 |
grub/menu.lst"... succeeded
|
| 621 |
Done.
|
| 622 |
|
| 623 |
grub> <i>quit</i>
|
| 624 |
</pre>
|
| 625 |
|
| 626 |
<p>
|
| 627 |
Now, 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">
|
| 635 |
livecd conf.d # <i>time emerge lilo</i>
|
| 636 |
|
| 637 |
real 0m47.016s
|
| 638 |
user 0m22.770s
|
| 639 |
sys 0m5.980s
|
| 640 |
livecd conf.d # <i>nano -w /etc/lilo.conf</i>
|
| 641 |
</pre>
|
| 642 |
|
| 643 |
<pre caption="Example lilo.conf">
|
| 644 |
boot=/dev/sda
|
| 645 |
prompt
|
| 646 |
timeout=50
|
| 647 |
default=gentoo
|
| 648 |
|
| 649 |
image=/boot/kernel
|
| 650 |
label=Gentoo
|
| 651 |
read-only
|
| 652 |
root=/dev/sda3
|
| 653 |
</pre>
|
| 654 |
|
| 655 |
<pre caption="Install lilo">
|
| 656 |
livecd conf.d # <i>lilo</i>
|
| 657 |
Added Gentoo *
|
| 658 |
</pre>
|
| 659 |
|
| 660 |
</body>
|
| 661 |
</section>
|
| 662 |
<section id="reboot">
|
| 663 |
<title>Reboot</title>
|
| 664 |
<body>
|
| 665 |
|
| 666 |
<p>
|
| 667 |
Exit the chrooted environment, unmount all file systems and reboot:
|
| 668 |
</p>
|
| 669 |
|
| 670 |
<pre caption="Reboot">
|
| 671 |
livecd conf.d # <i>exit</i>
|
| 672 |
livecd / # <i>umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo</i>
|
| 673 |
livecd / # <i>reboot</i>
|
| 674 |
<comment>(Don't forget to remove the CD)</comment>
|
| 675 |
</pre>
|
| 676 |
|
| 677 |
</body>
|
| 678 |
</section>
|
| 679 |
<section id="after-reboot">
|
| 680 |
<title>Finalizing the Installation</title>
|
| 681 |
<body>
|
| 682 |
|
| 683 |
<note>
|
| 684 |
The <b>total</b> elapsed time between the display of the boot prompt on the
|
| 685 |
minimal 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
|
| 687 |
also includes the stage3, Portage snapshot and several packages download time
|
| 688 |
and the time spent configuring the kernel.
|
| 689 |
</note>
|
| 690 |
|
| 691 |
<p>
|
| 692 |
Log in as <c>root</c>, then add one or more users for daily use with
|
| 693 |
<c>useradd</c>.
|
| 694 |
</p>
|
| 695 |
|
| 696 |
<pre caption="Connect to your new box from another PC">
|
| 697 |
<comment>(Clean up your known_hosts file because your new box
|
| 698 |
has 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,
|
| 701 |
then 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>
|
| 705 |
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
|
| 706 |
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
|
| 707 |
Are you sure you want to continue connecting (yes/no)? <i>yes</i>
|
| 708 |
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
|
| 709 |
Password: <comment>type_the_password</comment>
|
| 710 |
</pre>
|
| 711 |
|
| 712 |
<pre caption="Add a new user">
|
| 713 |
mybox ~ # <i>adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m john</i>
|
| 714 |
mybox ~ # <i>passwd john</i>
|
| 715 |
New UNIX password: <comment>Set John's password</comment>
|
| 716 |
Retype new UNIX password: <comment>Type John's password again</comment>
|
| 717 |
passwd: password updated successfully
|
| 718 |
</pre>
|
| 719 |
|
| 720 |
</body>
|
| 721 |
</section>
|
| 722 |
<section>
|
| 723 |
<title>Last configuration touches</title>
|
| 724 |
<body>
|
| 725 |
|
| 726 |
<p>
|
| 727 |
Start 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
|
| 730 |
processes at this point.
|
| 731 |
</p>
|
| 732 |
|
| 733 |
<pre caption="Use mirrorselect and set MAKEOPTS">
|
| 734 |
mybox ~ # <i>emerge mirrorselect</i>
|
| 735 |
mybox ~ # <i>mirrorselect -i -o >> /etc/make.conf</i>
|
| 736 |
mybox ~ # <i>mirrorselect -i -r -o >> /etc/make.conf</i>
|
| 737 |
<comment>(Usually, (the number of processors + 1) is a good value)</comment>
|
| 738 |
mybox ~ # <i>echo 'MAKEOPTS="-j2"' >> /etc/make.conf</i>
|
| 739 |
</pre>
|
| 740 |
|
| 741 |
<p>
|
| 742 |
Now is a good time to enable or disable some USE flags. Run <c>emerge -vpe
|
| 743 |
world</c> to list all currently installed packages and their enabled and
|
| 744 |
disabled USE flags. Either edit <path>/etc/make.conf</path> or use the
|
| 745 |
following command to define the USE variable:
|
| 746 |
</p>
|
| 747 |
|
| 748 |
<pre caption="View USE flags in use and enable or disable some">
|
| 749 |
mybox ~ # <i>emerge -vpe world</i>
|
| 750 |
<comment>(Portage displays the packages and their USE flags, as an example, let's
|
| 751 |
disable ipv6 and fortran, and enable userlocales and unicode)</comment>
|
| 752 |
mybox ~ # <i>echo 'USE="nptl nptlonly -ipv6 -fortran userlocales unicode"' >> /etc/make.conf</i>
|
| 753 |
</pre>
|
| 754 |
|
| 755 |
<p>
|
| 756 |
If you enabled the <c>userlocales</c> USE flag for versions of glibc that still
|
| 757 |
support it, you should edit <path>/etc/locales.build</path> and define the
|
| 758 |
locales you want to build.
|
| 759 |
</p>
|
| 760 |
|
| 761 |
<p>
|
| 762 |
Later 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
|
| 764 |
version, 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>
|
| 766 |
to know whether glibc supports the userlocales USE flag.
|
| 767 |
</p>
|
| 768 |
|
| 769 |
<pre caption="Define locales">
|
| 770 |
mybox ~ # <i>cd /etc</i>
|
| 771 |
<comment>(For versions of glibc with the userlocales USE flag)</comment>
|
| 772 |
mybox etc # <i>nano -w locales.build</i>
|
| 773 |
|
| 774 |
<comment>(For recent versions of glibc, convert locales.build)</comment>
|
| 775 |
mybox etc # <i>grep '^[^#].*' locales.build | sed 's:/: :' >locale.gen</i>
|
| 776 |
mybox etc # <i>rm locales.build</i>
|
| 777 |
mybox etc # <i>nano -w locale.gen</i>
|
| 778 |
</pre>
|
| 779 |
|
| 780 |
<p>
|
| 781 |
Last 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
|
| 783 |
note that using a long list of flags is rarely needed and can even lead to a
|
| 784 |
broken 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>
|
| 789 |
You may also want to switch to <b>~x86</b>. You should only do this if you can
|
| 790 |
deal with the odd broken ebuild or package. If you'd rather keep your system
|
| 791 |
stable, 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">
|
| 796 |
mybox etc # <i>nano -w make.conf</i>
|
| 797 |
<comment>(Set -march to your CPU type in CFLAGS)</comment>
|
| 798 |
CFLAGS="-O2 -march=<i>athlon-xp</i> -pipe"
|
| 799 |
<comment>(Add the following line)</comment>
|
| 800 |
FEATURES="parallel-fetch ccache"
|
| 801 |
<comment>(Only add the following if you know what you're doing)</comment>
|
| 802 |
ACCEPT_KEYWORDS="~x86"
|
| 803 |
</pre>
|
| 804 |
|
| 805 |
<p>
|
| 806 |
You might want to recompile your whole system twice to make full use of your
|
| 807 |
latest configuration changes. It would take quite a long time to complete and
|
| 808 |
yield minimal speed benefits. It is recommended that you let your system
|
| 809 |
optimise itself gradually over time when new versions of packages are
|
| 810 |
released.
|
| 811 |
</p>
|
| 812 |
|
| 813 |
<p>
|
| 814 |
Recompiling only the packages that have already been updated since the release
|
| 815 |
or that are affected by your new USE flags will take enough time. You might
|
| 816 |
also have to remove packages that block your upgrade. Look for "[blocks
|
| 817 |
<brite>B</brite> ]" in the output of <c>emerge -vpuD --newuse world</c> and
|
| 818 |
use <c>emerge -C</c> to remove them.
|
| 819 |
</p>
|
| 820 |
|
| 821 |
<pre caption="Update your packages">
|
| 822 |
<comment>(Install ccache)</comment>
|
| 823 |
mybox etc # <i>emerge ccache</i>
|
| 824 |
|
| 825 |
<comment>(Please not that the switch to ~x86 causes many packages to be upgraded)</comment>
|
| 826 |
mybox etc # <i>emerge -vpuD --newuse world</i>
|
| 827 |
<comment>(Take a good look at the package list and their USE flags,
|
| 828 |
remove blocking packages if any, and start the lengthy process)</comment>
|
| 829 |
mybox etc # <i>time emerge -vuD --newuse world</i>
|
| 830 |
<comment>(79 packages have been (re)compiled)</comment>
|
| 831 |
|
| 832 |
real 180m13.276s
|
| 833 |
user 121m22.905s
|
| 834 |
sys 36m31.472s
|
| 835 |
|
| 836 |
<comment>(Remerge libtool to avoid further potential problems)</comment>
|
| 837 |
mybox etc # <i>emerge libtool</i>
|
| 838 |
|
| 839 |
<comment>(Update config files, make sure you <b>do not</b> let etc-update
|
| 840 |
update config files you have edited)</comment>
|
| 841 |
mybox etc # <i>etc-update</i>
|
| 842 |
|
| 843 |
<comment>(If perl has been updated, you should run the perl-cleaner script)</comment>
|
| 844 |
mybox etc # <i>time perl-cleaner all</i>
|
| 845 |
real 1m6.495s
|
| 846 |
user 0m42.699s
|
| 847 |
sys 0m10.641s
|
| 848 |
|
| 849 |
<comment>(In case of a major upgrade of python, you should run the python-updater script)</comment>
|
| 850 |
mybox etc # <i>python-updater</i>
|
| 851 |
</pre>
|
| 852 |
|
| 853 |
</body>
|
| 854 |
</section>
|
| 855 |
<section>
|
| 856 |
<title>What to do next</title>
|
| 857 |
<body>
|
| 858 |
|
| 859 |
<p>
|
| 860 |
Depending on what your new Gentoo machine is supposed to do, you will probably
|
| 861 |
want to install server applications or a desktop system. Just as an example,
|
| 862 |
<c>emerge gnome</c> and <c>emerge kde</c> have been timed on the ~x86 system
|
| 863 |
installed as describe above. Both have been installed from the same starting
|
| 864 |
point.
|
| 865 |
</p>
|
| 866 |
|
| 867 |
<p>
|
| 868 |
You should check our <uri link="/doc/en/">documentation index</uri> to find out
|
| 869 |
how to install and configure the applications of your choice.
|
| 870 |
</p>
|
| 871 |
|
| 872 |
<impo>
|
| 873 |
The following is only an example. It is in no way meant as a recommended setup.
|
| 874 |
</impo>
|
| 875 |
|
| 876 |
<pre caption="Emerge GNOME">
|
| 877 |
mybox etc # <i>emerge -vp gnome</i>
|
| 878 |
<comment>(Look at the list of packages and their USE flags,
|
| 879 |
then edit make.conf if required.</comment>
|
| 880 |
mybox etc # <i>nano -w /etc/make.conf</i>
|
| 881 |
<comment>The following USE flags have been defined)</comment>
|
| 882 |
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
|
| 883 |
-kde -qt -arts -eds -esd gnome gstreamer gtk -xmms firefox"
|
| 884 |
|
| 885 |
mybox etc # <i>time emerge gnome</i>
|
| 886 |
<comment>(326 packages have been emerged)</comment>
|
| 887 |
|
| 888 |
real 520m44.532s
|
| 889 |
user 339m21.144s
|
| 890 |
sys 146m22.337s
|
| 891 |
</pre>
|
| 892 |
|
| 893 |
<pre caption="Emerge KDE">
|
| 894 |
mybox etc # <i>emerge -vp kde-meta</i>
|
| 895 |
<comment>(Look at the list of packages and their USE flags,
|
| 896 |
then edit make.conf if required.</comment>
|
| 897 |
mybox etc # <i>nano -w /etc/make.conf</i>
|
| 898 |
<comment>The following USE flags have been defined)</comment>
|
| 899 |
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
|
| 900 |
kde qt -arts -eds -esd -gnome -gstreamer -gtk -xmms -firefox"
|
| 901 |
|
| 902 |
mybox etc # <i>time emerge kde-meta</i>
|
| 903 |
<comment>(391 packages have been emerged)</comment>
|
| 904 |
|
| 905 |
real 1171m25.318s
|
| 906 |
user 851m26.393s
|
| 907 |
sys 281m45.629s
|
| 908 |
</pre>
|
| 909 |
|
| 910 |
</body>
|
| 911 |
</section>
|
| 912 |
</chapter>
|
| 913 |
</guide>
|