| 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/<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 |
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 <server ip></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 > /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 && 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 <stage3 tarball></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 && 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> |