1 |
zhen |
1.16 |
<?xml version="1.0" encoding="UTF-8"?> |
2 |
drobbins |
1.1 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
3 |
zhen |
1.3 |
<guide link="/doc/en/gentoo-x86-install.xml"> |
4 |
drobbins |
1.21 |
<title>Gentoo Linux 1.4_rc2 Installation Instructions</title> |
5 |
zhen |
1.16 |
<author title="Chief Architect"> |
6 |
|
|
<mail link="drobbins@gentoo.org">Daniel Robbins</mail> |
7 |
|
|
</author> |
8 |
|
|
<author title="Author">Chris Houser</author> |
9 |
|
|
<author title="Author"> |
10 |
|
|
<mail link="jerry@gentoo.org">Jerry Alexandratos</mail> |
11 |
|
|
</author> |
12 |
|
|
<author title="Ghost"> |
13 |
|
|
<mail link="g2boojum@gentoo.org">Grant Goodyear</mail> |
14 |
|
|
</author> |
15 |
|
|
<author title="Editor"> |
16 |
|
|
<mail link="zhen@gentoo.org">John P. Davis</mail> |
17 |
|
|
</author> |
18 |
|
|
<author title="Editor"> |
19 |
|
|
<mail link="Pierre-Henri.Jondot@wanadoo.fr">Pierre-Henri Jondot</mail> |
20 |
|
|
</author> |
21 |
|
|
<author title="Editor"> |
22 |
|
|
<mail link="stocke2@gentoo.org">Eric Stockbridge</mail> |
23 |
|
|
</author> |
24 |
|
|
<author title="Editor"> |
25 |
|
|
<mail link="rajiv@gentoo.org">Rajiv Manglani</mail> |
26 |
|
|
</author> |
27 |
seo |
1.41 |
<author title="Editor"> |
28 |
|
|
<mail link="seo@gentoo.org">Jungmin Seo</mail> |
29 |
|
|
</author> |
30 |
zhware |
1.43 |
<author title="Editor"> |
31 |
|
|
<mail link="zhware@gentoo.org">Stoyan Zhekov</mail> |
32 |
|
|
</author> |
33 |
zhen |
1.16 |
<abstract>These instructions step you through the process of installing Gentoo |
34 |
drobbins |
1.21 |
Linux 1.4_rc2. The Gentoo Linux installation process supports various installation |
35 |
zhen |
1.6 |
approaches, depending upon how much of the system you want to custom-build from |
36 |
|
|
scratch. |
37 |
|
|
</abstract> |
38 |
zhen |
1.53 |
<version>2.3.14</version> |
39 |
|
|
<date>09 Feb 2003</date> |
40 |
zhen |
1.16 |
<chapter> |
41 |
|
|
<title>About the Install</title> |
42 |
|
|
<section> |
43 |
|
|
<body> |
44 |
zhen |
1.26 |
<p>This new boot CD will boot from nearly any modern IDE CD-ROM drive, as well |
45 |
drobbins |
1.21 |
as many SCSI CD-ROM, assuming that your CD-ROM and BIOS both support booting. |
46 |
|
|
Included on the CD-ROM is Linux support for IDE (and PCI IDE) (built-in to the |
47 |
|
|
kernel) as well as support for all SCSI devices (available as modules.) In |
48 |
|
|
addition, we provide modules for literally every kind of network card that |
49 |
|
|
Linux supports, as well as tools to allow you to configure your network and |
50 |
|
|
establish outbound (as well as inbound) <c>ssh</c> connections and download |
51 |
|
|
files. </p> |
52 |
zhen |
1.26 |
<p>To install from the build CD, you will need to have a 486+ processor and |
53 |
drobbins |
1.21 |
ideally at least 64 Megabytes of RAM. (Gentoo linux has been successfully |
54 |
|
|
built with 64MB of RAM + 64MB of swap space, but the build process is awfully |
55 |
|
|
slow under those conditions.)</p> |
56 |
zhen |
1.26 |
<p>Gentoo Linux can be installed using one of three "stage" tarball files. The |
57 |
drobbins |
1.21 |
one you choose depends on how much of the system you want to compile yourself. |
58 |
|
|
The stage1 tarball is used when one wants to bootstrap and build the entire |
59 |
|
|
system from scratch. The stage2 tarball is used for building the entire system |
60 |
|
|
from scratch, except for the bootstrap part which is already performed for you. |
61 |
|
|
And the stage3 tarball already contains a basic Gentoo Linux system that has |
62 |
|
|
been optimized for your system.</p> |
63 |
zhen |
1.33 |
<p> So, how does one begin the install process? First, you'll want to decide |
64 |
drobbins |
1.21 |
which one of our LiveCD ISO images to grab from |
65 |
drobbins |
1.23 |
<uri>http://www.ibiblio.org/gentoo/releases/1.4_rc2/x86/</uri>. |
66 |
drobbins |
1.22 |
In this directory, you'll see several subdirectories such as <c>athlon</c> |
67 |
drobbins |
1.24 |
for each of our various architecture-specific builds. Here's a low-down on |
68 |
|
|
each arch directory and what it contains:</p> |
69 |
zhen |
1.26 |
<table> |
70 |
|
|
<tr> |
71 |
|
|
<th>Architecture</th> |
72 |
|
|
<th>Description</th> |
73 |
|
|
</tr> |
74 |
|
|
<tr> |
75 |
|
|
<ti>x86</ti> |
76 |
|
|
<ti>Stage 1 tarballs and "gentoo-basic" liveCD -- will work on anything.</ti> |
77 |
|
|
</tr> |
78 |
|
|
<tr> |
79 |
|
|
<ti>i586</ti> |
80 |
|
|
<ti>Stage 2 and 3 tarballs, GRP packages and liveCD for i586+ CPUs</ti> |
81 |
|
|
</tr> |
82 |
|
|
<tr> |
83 |
|
|
<ti>i686</ti> |
84 |
|
|
<ti>Stage 2 and 3 tarballs, GRP packages and liveCD for i686+ CPUs</ti> |
85 |
|
|
</tr> |
86 |
|
|
<tr> |
87 |
|
|
<ti>athlon</ti> |
88 |
|
|
<ti>Stage 2 and 3 tarballs, GRP packages and liveCD for AMD Athlon CPUs</ti> |
89 |
|
|
</tr> |
90 |
|
|
<tr> |
91 |
|
|
<ti>athlon-xp</ti> |
92 |
|
|
<ti>Stage 2 and 3 tarballs, GRP packages and liveCD for AMD Athlon XP CPUs</ti> |
93 |
|
|
</tr> |
94 |
|
|
<tr> |
95 |
|
|
<ti>athlon-mp</ti> |
96 |
|
|
<ti>Stage 2 and 3 tarballs, GRP packages and liveCD for AMD Athlon MP CPUs</ti> |
97 |
|
|
</tr> |
98 |
|
|
<tr> |
99 |
|
|
<ti>pentium3</ti> |
100 |
|
|
<ti>Stage 2 and 3 tarballs, GRP packages and liveCD for Intel Pentium III and Pentium 4 CPUs</ti> |
101 |
|
|
</tr> |
102 |
|
|
</table> |
103 |
|
|
<p>Inside each of these directories, |
104 |
drobbins |
1.22 |
you'll find a <path>livecd/</path> directory that contains LiveCDs. While these LiveCDs |
105 |
|
|
will boot on any architecture, the install-related tarballs are optimized for a particular |
106 |
zhen |
1.26 |
CPU type and will not work on all systems, except for the "gentoo-basic" LiveCD in the <path>x86</path> |
107 |
drobbins |
1.24 |
directory which can be used to install on anything. |
108 |
drobbins |
1.22 |
</p> |
109 |
zhen |
1.26 |
<p> The LiveCDs are full CD images that should be burned to a CDR or CD-RW |
110 |
drobbins |
1.24 |
using CD burning software. Currently, we have two types of LiveCDs. The first |
111 |
zhen |
1.26 |
carries the "gentoo-basic" label, and is approximately 40MB in size and lives |
112 |
drobbins |
1.24 |
in the <path>x86/livecd/</path> directory. This LiveCD is of minimal size to |
113 |
|
|
allow for a initial quick download and contains a stage1 tarball that can be |
114 |
|
|
found in <path>/mnt/cdrom/gentoo/</path> after the CD has booted.</p> |
115 |
zhen |
1.26 |
<p>The second flavor of LiveCD we currently offer is labelled "livecd-grp." |
116 |
drobbins |
1.24 |
These CDs (found in their respective <path>arch/livecd</path> directories) |
117 |
|
|
contain stage1, 2 and 3 tarballs, and also contain a set of GRP packages |
118 |
zhen |
1.50 |
optimized for a specific architecture. GRP is simply precompiled packages for |
119 |
|
|
very large applications, such as XFree86. KDE, GNOME, OpenOffice, etc. |
120 |
|
|
Using these LiveCDs, it will be possible |
121 |
drobbins |
1.24 |
for you to install a fully-functional Gentoo Linux system very quickly. The |
122 |
|
|
downside is that these ISO images are large -- around 600MB -- so they can take |
123 |
|
|
a while to download.</p> |
124 |
zhen |
1.26 |
<info>If for some reason your install gets interrupted at some point, you can |
125 |
drobbins |
1.24 |
reboot and restart. For example, if you have partitioned, installed the stageX |
126 |
|
|
tarball, and are ready to chroot, you can restart the install if necessary. |
127 |
|
|
Just re-boot with the LiveCD, then mount your drives/partitions to |
128 |
|
|
<path>/mnt</path> as normal. Basically, you can do this at about any point |
129 |
|
|
during the install, just not before partitioning for obvious reasons. </info> |
130 |
zhen |
1.26 |
<warn>If you encounter a problem with any part of the install and wish to |
131 |
drobbins |
1.21 |
report it as a bug, report it to <uri>http://bugs.gentoo.org</uri>. If the bug |
132 |
|
|
needs to be moved upstream to the package maintainers (ie KDE) the |
133 |
|
|
<e>developers</e> will take care of that. </warn> |
134 |
zhen |
1.26 |
<p>Now, let's quickly review the install process. First, we'll download, burn |
135 |
drobbins |
1.21 |
and boot a LiveCD. After getting a root prompt, we'll create partitions, create |
136 |
|
|
our filesystems, and extract either a stage1, stage2 or stage3 tarball. If we |
137 |
|
|
are using a stage1 or stage2 tarball, we will take the appropriate steps to get |
138 |
|
|
our systems to stage3. Once our systems are at stage3, we can configure them |
139 |
|
|
(tweaking config files, installing a bootloader, etc) and boot them and have a |
140 |
|
|
fully-functional Gentoo Linux system. Depending on what stage of the build |
141 |
|
|
process you're starting from, here's what's required for installation: </p> |
142 |
zhen |
1.26 |
<table> |
143 |
zhen |
1.16 |
<tr> |
144 |
|
|
<th>stage tarball</th> |
145 |
|
|
<th>requirements for installation</th> |
146 |
|
|
</tr> |
147 |
|
|
<tr> |
148 |
|
|
<ti>1</ti> |
149 |
|
|
<ti>partition/filesystem setup, emerge sync, bootstrap, emerge system, emerge linux sources, final configuration</ti> |
150 |
|
|
</tr> |
151 |
|
|
<tr> |
152 |
|
|
<ti>2</ti> |
153 |
|
|
<ti>partition/filesystem setup, emerge sync, emerge system, emerge linux sources, final configuration</ti> |
154 |
|
|
</tr> |
155 |
|
|
<tr> |
156 |
|
|
<ti>3</ti> |
157 |
|
|
<ti>partition/filesystem setup, emerge sync, final configuration</ti> |
158 |
|
|
</tr> |
159 |
|
|
</table> |
160 |
|
|
</body> |
161 |
|
|
</section> |
162 |
|
|
</chapter> |
163 |
|
|
<chapter> |
164 |
|
|
<title>Booting</title> |
165 |
|
|
<section> |
166 |
|
|
<body> |
167 |
drobbins |
1.21 |
<p>Start by booting the LiveCD. If detected properly, you should see a fancy boot screen |
168 |
|
|
with the Gentoo Linux logo on it. At this screen, you can hit Enter to begin the boot process, |
169 |
|
|
hit F2 for help, or pass kernel boot options by typing <c>gentoo opt1 opt2</c>, etc. |
170 |
|
|
Once you hit Enter, you'll be |
171 |
zhen |
1.6 |
greeted with a lot of text output |
172 |
|
|
followed by the normal Gentoo Linux boot sequence. |
173 |
drobbins |
1.21 |
You will be automatically logged in as "root" and the root password will be |
174 |
|
|
set to a random string for security purposes. |
175 |
zhen |
1.16 |
You should have a root ("<c>#</c>") prompt on the current |
176 |
drobbins |
1.21 |
console, and can also open new root consoles by pressing Alt-F2, Alt-F3 and Alt-F4. |
177 |
|
|
Get back to the one you started on by pressing (you guessed it) Alt-F1. |
178 |
zhen |
1.6 |
</p> |
179 |
zhen |
1.26 |
<p>You've probably also noticed that above your <c>#</c> prompt is a bunch of help text |
180 |
drobbins |
1.21 |
explaining how to do things like configure your network devices and where you can find |
181 |
|
|
the Gentoo Linux stage tarballs and packages on your CD. |
182 |
zhen |
1.6 |
</p> |
183 |
zhen |
1.16 |
</body> |
184 |
|
|
</section> |
185 |
|
|
</chapter> |
186 |
|
|
<chapter> |
187 |
|
|
<title>Load Kernel Modules</title> |
188 |
|
|
<section> |
189 |
|
|
<body> |
190 |
|
|
<p>If the PCI autodetection missed some of your hardware, you |
191 |
zhen |
1.6 |
will have to load the appropriate modules manually. |
192 |
|
|
To view a list of all available network card modules, type <c>ls |
193 |
|
|
/lib/modules/*/kernel/drivers/net/*</c>. To load a particular module, |
194 |
|
|
type: |
195 |
|
|
</p> |
196 |
zhen |
1.16 |
<pre caption="PCI Modules Configuration"> |
197 |
drobbins |
1.1 |
# <c>modprobe pcnet32</c> |
198 |
zhen |
1.6 |
<comment>(replace pcnet32 with your NIC module)</comment> |
199 |
|
|
</pre> |
200 |
zhen |
1.16 |
<p>Now, if you want to be able to access any SCSI hardware that wasn't detected |
201 |
drobbins |
1.21 |
during the initial boot autodetection process, you'll need to load the appropriate |
202 |
zhen |
1.6 |
modules from /lib/modules, again using <c>modprobe</c>: |
203 |
|
|
</p> |
204 |
zhen |
1.16 |
<pre caption="Loading SCSI Modules"> |
205 |
drobbins |
1.1 |
# <c>modprobe aic7xxx</c> |
206 |
|
|
# <c>modprobe sd_mod</c> |
207 |
zhen |
1.6 |
</pre> |
208 |
zhen |
1.52 |
<p><c>aic7xxx</c> supports your SCSI controller and <c>sd_mod</c> supports SCSI hard disks. </p> |
209 |
zhen |
1.6 |
<note> |
210 |
drobbins |
1.21 |
Support for a SCSI CD-ROMs and disks are built-in in the kernel. |
211 |
zhen |
1.52 |
</note> |
212 |
drobbins |
1.21 |
<p>If you are using hardware RAID, you'll need to load the |
213 |
zhen |
1.6 |
ATA-RAID modules for your RAID controller. |
214 |
|
|
</p> |
215 |
zhen |
1.16 |
<pre caption="Loading RAID Modules"> |
216 |
zhen |
1.33 |
# <c>modprobe ataraid</c> |
217 |
|
|
# <c>modprobe pdcraid</c> |
218 |
drobbins |
1.1 |
<comment>(Promise Raid Controller)</comment> |
219 |
zhen |
1.33 |
# <c>modprobe hptraid</c> |
220 |
drobbins |
1.1 |
<comment>(Highpoint Raid Controller)</comment> |
221 |
zhen |
1.6 |
</pre> |
222 |
zhen |
1.16 |
<p>The Gentoo LiveCD should have enabled DMA on your disks, but if it did not, |
223 |
zhen |
1.6 |
<c>hdparm</c> can be used to set DMA on your drives. </p> |
224 |
zhen |
1.26 |
<pre caption="Setting DMA"><comment>Replace hdX with your disk device.</comment> |
225 |
drobbins |
1.21 |
# hdparm -d 1 /dev/hdX <comment>Enables DMA </comment> |
226 |
zhware |
1.48 |
# hdparm -d1 -A1 -m16 -u1 -a64 /dev/hdX <comment>Enables DMA and other safe performance-enhancing options</comment> |
227 |
zhen |
1.26 |
# hdparm -X66 /dev/hdX <comment>Force-enables Ultra-DMA -- dangerous -- may cause some drives to mess up</comment></pre> |
228 |
zhen |
1.16 |
</body> |
229 |
|
|
</section> |
230 |
|
|
</chapter> |
231 |
|
|
<chapter> |
232 |
|
|
<title>Loading PCMCIA Kernel Modules</title> |
233 |
|
|
<section> |
234 |
|
|
<body> |
235 |
|
|
<p>If you have a PCMCIA network card, you will need to do some additional |
236 |
zhen |
1.6 |
trickery. |
237 |
|
|
</p> |
238 |
zhen |
1.16 |
<warn>To avoid problems with <c>cardmgr</c>, you <e>must</e> run it <e>before</e> you enter the chroot |
239 |
zhen |
1.6 |
portion of the install. </warn> |
240 |
zhen |
1.16 |
<pre caption="Loading PCMCIA Modules"> |
241 |
zhen |
1.33 |
# <i>modprobe pcmcia_core</i> |
242 |
|
|
# <i>modprobe i82365</i> |
243 |
|
|
# <i>modprobe ds</i> |
244 |
drobbins |
1.1 |
# <i>cardmgr -f</i> |
245 |
zhen |
1.6 |
</pre> |
246 |
drobbins |
1.21 |
<p>As <c>cardmgr</c> detects which hardware is present, your speaker should emit a |
247 |
zhen |
1.6 |
few reassuring beeps, and your PCMCIA network card should hum to life. You can |
248 |
drobbins |
1.21 |
of course insert the PCMCIA card after loading <c>cardmgr</c> too, if that's |
249 |
zhen |
1.6 |
preferable. (Technically, you need not run |
250 |
drobbins |
1.21 |
<c>cardmgr</c> if you know exactly which module your PCMCIA card requires. |
251 |
zhen |
1.6 |
But if you don't, loading all PCMCIA modules and see which sticks won't work, |
252 |
|
|
as all PCMCIA modules load obligingly and hang around for a PCMCIA card to |
253 |
drobbins |
1.21 |
drop by. <c>cardmgr</c> will also unload the module(s) for any card when you |
254 |
zhen |
1.6 |
remove it). </p> |
255 |
zhen |
1.16 |
</body> |
256 |
|
|
</section> |
257 |
|
|
</chapter> |
258 |
|
|
<chapter> |
259 |
|
|
<title>Configuring Networking</title> |
260 |
|
|
<section> |
261 |
|
|
<title> PPPoE configuration</title> |
262 |
|
|
<body> |
263 |
|
|
<p>Assuming you need PPPoE to connect to the internet, the livecd (any version) has |
264 |
drobbins |
1.21 |
made things easy for you by including <c>rp-pppoe</c>. Use the provided <c>adsl-setup</c> |
265 |
zhen |
1.6 |
script to configure your connection. You will be prompted for the ethernet |
266 |
|
|
device that is connected to your adsl modem, your username and password, |
267 |
|
|
the IPs of your DNS servers, and if you need a basic firewall or not. </p> |
268 |
zhen |
1.16 |
<pre caption="Configuring PPPoE"> |
269 |
zhen |
1.6 |
# <c> adsl-setup </c> |
270 |
|
|
# <c> adsl-start </c> |
271 |
|
|
</pre> |
272 |
zhen |
1.16 |
<p>If something goes wrong, double-check that you correctly typed |
273 |
zhen |
1.6 |
your username and password by looking at <path>/etc/ppp/pap-secrets</path> or |
274 |
|
|
<path>/etc/ppp/chap-secrets</path>, and make sure you are using the right ethernet device. </p> |
275 |
zhen |
1.16 |
</body> |
276 |
|
|
</section> |
277 |
|
|
<section> |
278 |
|
|
<title> Automatic Network Configuration </title> |
279 |
|
|
<body> |
280 |
|
|
<p>The Gentoo Linux install lets you configure a working network, allowing you to use |
281 |
drobbins |
1.21 |
<c>ssh</c>, <c>scp</c>, <c>lynx</c>, <c>irssi</c> or <c>wget</c> as needed before even beginning the installation process. |
282 |
zhen |
1.6 |
Even if you don't need to do these things now, you should go ahead and set up networking now. |
283 |
|
|
Once networking is up, Portage will be able to use your configured network once you are inside |
284 |
|
|
the chroot environment (required for installing Gentoo Linux). |
285 |
|
|
The simplest way to set up networking is to run our new <c>net-setup</c> |
286 |
|
|
script. </p> |
287 |
zhen |
1.16 |
<pre caption="Net-Setup Script"> |
288 |
drobbins |
1.1 |
# <c>net-setup eth0</c> |
289 |
zhen |
1.6 |
</pre> |
290 |
zhen |
1.16 |
<p>Of course, if you prefer, you may still set up networking manually. </p> |
291 |
|
|
</body> |
292 |
|
|
</section> |
293 |
|
|
<section> |
294 |
|
|
<title>Manual DHCP Configuration</title> |
295 |
|
|
<body> |
296 |
|
|
<p>Network configuration is simple with DHCP; If your ISP is not using |
297 |
|
|
DHCP, skip down to the static configuration section below. </p> |
298 |
|
|
<pre caption="Network configuration with DHCP"> |
299 |
drobbins |
1.1 |
# <c>dhcpcd eth0</c> |
300 |
zhen |
1.6 |
</pre> |
301 |
zhen |
1.16 |
<note>Some ISPs require you to provide a hostname. To do that, |
302 |
zhen |
1.6 |
add a <c>-h myhostname</c> flag to the dhcpcd command line above. |
303 |
|
|
</note> |
304 |
zhen |
1.16 |
<p>If you receive <i>dhcpConfig</i> warnings, don't panic; the errors |
305 |
zhen |
1.6 |
are most likely cosmetic. Skip down to Network testing below.</p> |
306 |
zhen |
1.16 |
</body> |
307 |
|
|
</section> |
308 |
|
|
<section> |
309 |
|
|
<title>Manual Static Configuration</title> |
310 |
|
|
<body> |
311 |
|
|
<p>We need to setup just enough networking so that we can download |
312 |
zhen |
1.6 |
sources for the system build, as well as the required localhost interface. |
313 |
|
|
Type in the following commands, replacing |
314 |
|
|
$IFACE with your network interface (typically <c>eth0</c>), $IPNUM |
315 |
|
|
with your IP address, $BCAST with your broadcast address, and $NMASK |
316 |
|
|
with your network mask. For the <c>route</c> command, replace |
317 |
|
|
$GTWAY with your default gateway. |
318 |
|
|
</p> |
319 |
zhen |
1.16 |
<pre caption="Static IP Network Configuration"> |
320 |
drobbins |
1.1 |
# <c>ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK</c> |
321 |
|
|
# <c>/sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1</c> |
322 |
zhen |
1.6 |
</pre> |
323 |
zhen |
1.16 |
<p>Now it's time to create the <path>/etc/resolv.conf</path> |
324 |
zhen |
1.6 |
file so that name resolution (finding Web/FTP sites by name, rather than just by IP address) will work.</p> |
325 |
zhen |
1.16 |
<p>Here's a template to follow for creating your /etc/resolv.conf file: </p> |
326 |
|
|
<pre caption="/etc/resolv.conf template"> |
327 |
drobbins |
1.1 |
domain mydomain.com |
328 |
|
|
nameserver 10.0.0.1 |
329 |
|
|
nameserver 10.0.0.2 |
330 |
zhen |
1.6 |
</pre> |
331 |
zhen |
1.16 |
<p>Replace <c>10.0.0.1</c> and <c>10.0.0.2</c> with the IP addresses of your |
332 |
zhen |
1.6 |
primary and secondary DNS servers respectively.</p> |
333 |
zhen |
1.16 |
</body> |
334 |
|
|
</section> |
335 |
|
|
<section> |
336 |
|
|
<title>Proxy Configuration</title> |
337 |
|
|
<body> |
338 |
|
|
<p>If you are behind a proxy, it is necessary to configure your proxy before |
339 |
zhen |
1.6 |
you continue. We will export some variables to set up the proxy accordingly. |
340 |
|
|
</p> |
341 |
zhen |
1.16 |
<pre caption="Setting a Proxy"> |
342 |
|
|
# <c>export http_proxy="machine.company.com:1234" </c> |
343 |
seo |
1.42 |
# <c>export ftp_proxy="$http_proxy" </c> |
344 |
|
|
# <c>export RSYNC_PROXY="$http_proxy" </c> |
345 |
zhen |
1.6 |
</pre> |
346 |
zhen |
1.16 |
</body> |
347 |
|
|
</section> |
348 |
|
|
<section> |
349 |
|
|
<title>Network Testing</title> |
350 |
|
|
<body> |
351 |
|
|
<p>Now that your network has been configured, the <c>/sbin/ifconfig -a</c> command should show |
352 |
zhen |
1.6 |
that your network card is working (look for <e>UP</e> and <e>RUNNING</e> in the output). </p> |
353 |
zhen |
1.16 |
<pre caption="/sbin/ifconfig for a working network card"> |
354 |
drobbins |
1.1 |
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A |
355 |
|
|
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 |
356 |
|
|
inet6 addr: fe80::50:ba8f:617a/10 Scope:Link |
357 |
|
|
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
358 |
|
|
RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 |
359 |
|
|
TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 |
360 |
|
|
collisions:1984 txqueuelen:100 |
361 |
|
|
RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) |
362 |
|
|
Interrupt:11 |
363 |
zhen |
1.6 |
</pre> |
364 |
zhen |
1.16 |
<p>You may want to also try pinging your ISP's DNS server (found in <path>/etc/resolv.conf</path>), |
365 |
zhen |
1.14 |
and a website of choice, just to make sure that your packets are reaching the net, DNS name |
366 |
|
|
resolution is working correctly, etc. |
367 |
zhen |
1.6 |
</p> |
368 |
zhen |
1.16 |
<pre caption="Further Network Testing"> |
369 |
zhen |
1.15 |
# <c>ping www.some_website.com </c> |
370 |
zhen |
1.6 |
</pre> |
371 |
zhen |
1.16 |
</body> |
372 |
|
|
</section> |
373 |
|
|
<section> |
374 |
|
|
<title>Networking is go!</title> |
375 |
|
|
<body> |
376 |
|
|
<p>Networking should now be configured and useable. You should be able to use the included |
377 |
drobbins |
1.21 |
<c>ssh</c>, <c>scp</c>, <c>lynx</c>, <c>irssi</c> and <c>wget</c> commands to connect to other machines on your LAN or the Internet.</p> |
378 |
zhen |
1.16 |
</body> |
379 |
|
|
</section> |
380 |
|
|
</chapter> |
381 |
|
|
<chapter> |
382 |
|
|
<title>Partition Configuration</title> |
383 |
|
|
<section> |
384 |
|
|
<body> |
385 |
|
|
<p>Now that the kernel can see the network card and disk controllers, it's time |
386 |
zhen |
1.6 |
to set up disk partitions for Gentoo Linux. |
387 |
|
|
</p> |
388 |
zhen |
1.16 |
<p>Here's a quick overview of the standard Gentoo Linux partition layout. |
389 |
zhen |
1.6 |
We're going to create at least three partitions: a swap partition, a root |
390 |
|
|
partition (to hold the bulk of Gentoo Linux), and a special boot partition. |
391 |
|
|
The boot partition is designed to hold the GRUB or LILO boot loader information as well as |
392 |
|
|
your Linux kernel(s). The boot partition gives us a safe place to store |
393 |
|
|
everything related to booting Linux. During normal day-to-day Gentoo Linux use, |
394 |
|
|
your boot partition should remain <e>unmounted</e>. This prevents your kernel |
395 |
|
|
from being made unavailable to GRUB (due to filesystem corruption) in the event |
396 |
|
|
of a system crash, preventing the chicken-and-egg problem where GRUB can't read |
397 |
|
|
your kernel (since your filesystem isn't consistent) but you can't bring your |
398 |
|
|
filesystem back to a consistent state (since you can't boot!) |
399 |
|
|
</p> |
400 |
zhen |
1.50 |
<p>Now, on to filesystem types. Right now, you have five filesystem options: |
401 |
|
|
XFS, ext2, ext3 (journaling), jfs, and ReiserFS. ext2 is the tried and true Linux |
402 |
zhen |
1.6 |
filesystem but doesn't have metadata journaling. ext3 is the new version of |
403 |
|
|
ext2 with both metadata journaling and ordered data writes, effectively |
404 |
|
|
providing data journaling as well. ReiserFS is a B*-tree based filesystem |
405 |
|
|
that has very good small file performance, and greatly outperforms both ext2 and |
406 |
|
|
ext3 when dealing with small files (files less than 4k), often by a factor of |
407 |
|
|
10x-15x. ReiserFS also scales extremely well and has metadata journaling. |
408 |
|
|
As of kernel 2.4.18+, ReiserFS is finally rock-solid and highly recommended. |
409 |
|
|
XFS is a filesystem with metadata journaling that |
410 |
drobbins |
1.21 |
is fully supported under Gentoo Linux's <path>xfs-sources</path> kernel, but |
411 |
|
|
is generally not recommended due to its tendency to lose recently-modified |
412 |
|
|
data if your system locks up or unexpectedly reboots (due to a power failure, for instance.) |
413 |
zhen |
1.50 |
Finially, jfs is IBM's own high performance journaling filesystem. Since it is obscure, we cannot comment either positvely nor negatively on its stability.</p> |
414 |
zhen |
1.16 |
<p>If you're looking for the most standard filesystem, use ext2. If you're looking |
415 |
zhen |
1.6 |
for the most rugged journalled filesystem, use ext3. If you're looking for a |
416 |
|
|
high-performance filesystem with journaling support, use ReiserFS; both ext3 and ReiserFS are |
417 |
drobbins |
1.21 |
mature and refined. |
418 |
zhen |
1.6 |
Here are our basic recommended filesystem |
419 |
|
|
sizes and types: |
420 |
|
|
</p> |
421 |
zhen |
1.16 |
<table> |
422 |
|
|
<tr> |
423 |
|
|
<th>Partition</th> |
424 |
|
|
<th>Size</th> |
425 |
|
|
<th>Type</th> |
426 |
|
|
<th>example device</th> |
427 |
|
|
</tr> |
428 |
|
|
<tr> |
429 |
|
|
<ti>boot partition, containing kernel(s) and boot information</ti> |
430 |
|
|
<ti>100 Megabytes</ti> |
431 |
|
|
<ti>ext2/3 highly recommended (easiest); if ReiserFS then mount with <c>-o notail</c></ti> |
432 |
|
|
<ti>/dev/hda1</ti> |
433 |
|
|
</tr> |
434 |
|
|
<tr> |
435 |
|
|
<ti>swap partition (no longer a 128 Megabyte limit)</ti> |
436 |
zhen |
1.54 |
<ti>Generally, unless you are running a server, swapspace can be pretty flexible. Please consult the |
437 |
|
|
below table for some loose guidelines on swap space.</ti> |
438 |
zhen |
1.16 |
<ti>Linux swap</ti> |
439 |
|
|
<ti>/dev/hda2</ti> |
440 |
|
|
</tr> |
441 |
|
|
<tr> |
442 |
|
|
<ti>root partition, containing main filesystem (/usr, /home, etc)</ti> |
443 |
|
|
<ti>>=1.5 Gigabytes</ti> |
444 |
|
|
<ti>ReiserFS, ext3 recommended; ext2 ok</ti> |
445 |
|
|
<ti>/dev/hda3</ti> |
446 |
|
|
</tr> |
447 |
|
|
</table> |
448 |
zhen |
1.54 |
|
449 |
|
|
<table> |
450 |
|
|
<tr> |
451 |
|
|
<th>Physical RAM</th> |
452 |
|
|
<th>Swapspace Size</th> |
453 |
|
|
</tr> |
454 |
|
|
<tr> |
455 |
|
|
<ti>0-48MB RAM</ti> |
456 |
|
|
<ti>048-064MB RAM</ti> |
457 |
|
|
<ti>064MB-128MB RAM</ti> |
458 |
|
|
<ti>128-256MB RAM</ti> |
459 |
|
|
<ti>256-512MB RAM</ti> |
460 |
|
|
</tr> |
461 |
|
|
<tr> |
462 |
|
|
<ti>720MB</ti> |
463 |
|
|
<ti>702MB</ti> |
464 |
|
|
<ti>640MB</ti> |
465 |
|
|
<ti>256MB</ti> |
466 |
|
|
</tr> |
467 |
|
|
</table> |
468 |
|
|
|
469 |
drobbins |
1.21 |
<p>Before creating filesystems, you may want to initialize the |
470 |
|
|
beginning of your HD using <c>dd</c>. Doing this will ensure that your new filesystem |
471 |
|
|
will not be mis-indentified by Linux's mounting code. |
472 |
|
|
This can be done as follows: |
473 |
zhen |
1.6 |
</p> |
474 |
zhen |
1.16 |
<pre caption="Initializing first 1024 Sectors of HD"> |
475 |
zhen |
1.34 |
# <c>dd if=/dev/zero of=/dev/hdxy bs=1K count=1</c> |
476 |
zhen |
1.26 |
<comment>Replace /dev/hdxy with the device you wish to "clean."</comment> |
477 |
zhen |
1.6 |
</pre> |
478 |
zhware |
1.43 |
<warn>The command above will destroy all data from <path>/dev/hdxy</path>. |
479 |
|
|
Be careful and check twice which partition you specify for zeroing. |
480 |
|
|
If you make a mistake it might result in a loss of data. |
481 |
|
|
</warn> |
482 |
drobbins |
1.21 |
<p>At this point, create your partitions using <c>fdisk</c>. Note that your partitions |
483 |
|
|
should be of type 82 if swap and 83 for regular filesystems (whether ReiserFS, ext2/3 or other). </p> |
484 |
|
|
<note><c>cfdisk</c> is included on the install CD, and it is <i>considerably</i> easier to use than |
485 |
|
|
<c>fdisk</c>. Just type <c>cfdisk</c> to run it; by default, cfdisk will work with <b>/dev/hda</b>. If /dev/hda is not the hard disk you want to partition, give the right value to cfdisk as a parameter. For example: <c>cfdisk /dev/hde</c></note> |
486 |
zhen |
1.26 |
<note>If <c>fdisk</c> or <c>cfdisk</c> instruct you to do so, please reboot to allow your system to detect the |
487 |
drobbins |
1.21 |
new partition configuration.</note> |
488 |
zhen |
1.26 |
<note>If you are using RAID your partitions will be a little different. You |
489 |
drobbins |
1.21 |
will have the partitions like this: <path>/dev/ataraid/discX/partY</path> X is |
490 |
|
|
the arrays you have made, so if you only have made 1 array, then it will be |
491 |
|
|
disc0.Y is the partition number as in <path>/dev/hdaY</path> </note> |
492 |
zhen |
1.26 |
<p>Once you've created your partitions, it's time to initialize |
493 |
zhen |
1.6 |
the filesystems that will be used to house our data. Initialize swap as follows:</p> |
494 |
zhen |
1.16 |
<pre caption="Initializing Swap"> |
495 |
drobbins |
1.1 |
# <c>mkswap /dev/hda2</c> |
496 |
zhen |
1.6 |
</pre> |
497 |
zhen |
1.16 |
<p>You can use the <c>mke2fs</c> command to create ext2 filesystems.</p> |
498 |
|
|
<pre caption="Creating an ext2 Filesystem"> |
499 |
drobbins |
1.1 |
# <i>mke2fs /dev/hda1</i> |
500 |
zhen |
1.6 |
</pre> |
501 |
zhen |
1.16 |
<p>To create an XFS filesystem, use the <c>mkfs.xfs</c> command.</p> |
502 |
|
|
<pre caption="Creating a XFS Filesystem"> |
503 |
drobbins |
1.1 |
# <c>mkfs.xfs /dev/hda3</c> |
504 |
zhen |
1.6 |
</pre> |
505 |
zhen |
1.16 |
<note> |
506 |
zhen |
1.6 |
You may want to add a couple of additional flags to the <c>mkfs.xfs</c> command: <c>-d agcount=3 -l size=32m</c>. |
507 |
|
|
The <c>-d agcount=3</c> command will lower |
508 |
|
|
the number of allocation groups. XFS will insist on using at least 1 allocation group per 4 GB of your partition, |
509 |
|
|
so, for example, if you hava a 20 GB partition you will need a minimum agcount of 5. |
510 |
|
|
The <c>-l size=32m</c> command increases the journal size to 32 Mb, increasing performance. |
511 |
|
|
</note> |
512 |
zhen |
1.16 |
<warn> |
513 |
zhen |
1.6 |
If you are installing an XFS partition over a previous ReiserFS partition, |
514 |
|
|
later attempts to mount may fail without an explicit <c>mount -t xfs</c>. |
515 |
|
|
The solution is to zero out the partition before creating the XFS filesystem: |
516 |
|
|
<c>dd if=/dev/zero of=/dev/hd<comment>x</comment> bs=1k</c>. |
517 |
|
|
</warn> |
518 |
zhen |
1.16 |
<p>If you'd like to use ext3, you can create ext3 filesystems using <c>mke2fs -j</c>.</p> |
519 |
|
|
<pre caption="Creating an ext3 Filesystem"> |
520 |
drobbins |
1.1 |
# <c>mke2fs -j /dev/hda3</c> |
521 |
zhen |
1.6 |
</pre> |
522 |
seo |
1.32 |
<note>You can find out more about using ext3 under Linux 2.4 at |
523 |
|
|
<uri>http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html</uri>. |
524 |
|
|
</note> |
525 |
zhen |
1.16 |
<p>To create ReiserFS filesystems, use the <c>mkreiserfs</c> command.</p> |
526 |
|
|
<pre caption="Creating a ReiserFS Filesystem"> |
527 |
drobbins |
1.1 |
# <c>mkreiserfs /dev/hda3</c> |
528 |
zhen |
1.6 |
</pre> |
529 |
zhen |
1.50 |
|
530 |
|
|
<p>To create JFS filesystems, use the <c>mkfs.jfs</c> comamnd.</p> |
531 |
|
|
<pre caption="Creating a JFS Filesystem"> |
532 |
|
|
# <c>mkfs.jfs /dev/hda3</c> |
533 |
|
|
</pre> |
534 |
|
|
|
535 |
zhen |
1.16 |
</body> |
536 |
|
|
</section> |
537 |
|
|
</chapter> |
538 |
|
|
<chapter> |
539 |
|
|
<title>Mount Partitions</title> |
540 |
|
|
<section> |
541 |
|
|
<body> |
542 |
|
|
<p>Now, we'll activate our new swap, since we may need the additional virtual memory that |
543 |
zhen |
1.6 |
provides later: |
544 |
|
|
</p> |
545 |
zhen |
1.16 |
<pre caption="Activating Swap"> |
546 |
drobbins |
1.1 |
# <c>swapon /dev/hda2</c> |
547 |
zhen |
1.6 |
</pre> |
548 |
zhen |
1.16 |
<p>Next, we'll create the <path>/mnt/gentoo</path> and <path>/mnt/gentoo/boot</path> mountpoints, |
549 |
zhen |
1.6 |
and we'll mount our filesystems to these mountpoints. </p> |
550 |
zhen |
1.16 |
<pre caption="Creating Mount Points"> |
551 |
drobbins |
1.1 |
# <c>mkdir /mnt/gentoo</c> |
552 |
|
|
# <c>mount /dev/hda3 /mnt/gentoo</c> |
553 |
|
|
# <c>mkdir /mnt/gentoo/boot</c> |
554 |
|
|
# <c>mount /dev/hda1 /mnt/gentoo/boot</c> |
555 |
zhen |
1.6 |
</pre> |
556 |
zhen |
1.26 |
<p> |
557 |
zhen |
1.6 |
If you are setting up Gentoo |
558 |
|
|
Linux with a separate <path>/usr</path> or <path>/var</path>, these would get mounted to |
559 |
|
|
<path>/mnt/gentoo/usr</path> and <path>/mnt/gentoo/var</path>, respectively. |
560 |
|
|
</p> |
561 |
zhen |
1.27 |
<impo>If your <e>boot</e> partition (the one holding the kernel) is ReiserFS, be sure to mount it |
562 |
zhen |
1.6 |
with the <c>-o notail</c> option so GRUB gets properly installed. Make sure |
563 |
|
|
that <c>notail</c> ends up in your new <path>/etc/fstab</path> boot partition entry, too. |
564 |
|
|
We'll get to that in a bit. |
565 |
|
|
</impo> |
566 |
zhen |
1.16 |
<impo>If you are having problems mounting your boot partition with ext2, try using |
567 |
zhen |
1.6 |
<c>mount /dev/hXX /mnt/gentoo/boot -t ext2 </c> </impo> |
568 |
zhen |
1.16 |
</body> |
569 |
|
|
</section> |
570 |
|
|
</chapter> |
571 |
|
|
<chapter> |
572 |
|
|
<title>Obtaining the Desired 'stage-x' Tarball</title> |
573 |
|
|
<section> |
574 |
|
|
<body> |
575 |
|
|
<p>If you want to start from a stage1 tarball, then you're already set |
576 |
drobbins |
1.21 |
to go; you can find the stage1 tarball in <path>/mnt/cdrom/gentoo/</path>. |
577 |
zhen |
1.6 |
On the other hand, if you would prefer to start from a stage2 or stage3 |
578 |
|
|
tarball that has been optimized for your architecture you can download it |
579 |
|
|
(into <path>/mnt/gentoo</path> would be the simplest) |
580 |
zhen |
1.14 |
from one of the Gentoo mirror sites. </p> |
581 |
zhen |
1.55 |
|
582 |
zhen |
1.16 |
<pre caption="Downloading Required Stages"> |
583 |
drobbins |
1.1 |
# <c>cd /mnt/gentoo</c> |
584 |
zhware |
1.47 |
<comment>Use lynx to get the URL for your tarball:</comment> |
585 |
drobbins |
1.21 |
# <c>lynx http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_rc2/x86/</c> |
586 |
zhware |
1.47 |
<comment>Use <c>Up</c> and <c>Down</c> arrows keys (or the <c>TAB</c> key) to go to the right directory |
587 |
|
|
Highlight the appropriate stage you want to download |
588 |
|
|
Press <c>d</c> which will initiate the download |
589 |
|
|
Save the file and quit the browser |
590 |
|
|
|
591 |
|
|
<b>OR</b> use wget from the command line:</comment> |
592 |
|
|
# <c>wget <comment>insert URL to the required stage tarball here.</comment></c> |
593 |
zhen |
1.6 |
</pre> |
594 |
zhen |
1.16 |
</body> |
595 |
|
|
</section> |
596 |
|
|
</chapter> |
597 |
|
|
<chapter> |
598 |
|
|
<title>Unpacking the Stage Tarballs</title> |
599 |
|
|
<section> |
600 |
|
|
<body> |
601 |
|
|
<p>Now it's time to extract the compressed stage tarball of your choice to <path>/mnt/gentoo</path>. |
602 |
zhen |
1.26 |
Then, we'll <c>chroot</c> over to the new Gentoo Linux build installation to "enter" the new |
603 |
drobbins |
1.21 |
Gentoo Linux system. |
604 |
zhen |
1.6 |
</p> |
605 |
zhen |
1.16 |
<impo>Be sure to use the <c>p</c> option with <c>tar</c>. Forgetting to do this will |
606 |
drobbins |
1.21 |
cause certain files to have incorrect permissions.</impo> |
607 |
zhen |
1.16 |
<p>If you are using the "from scratch, build everything" install method, |
608 |
zhen |
1.6 |
you will want to use the <path>stage1-ix86-1.4_beta.tbz2</path> image. |
609 |
|
|
If you're using one of our bigger CDs, you'll also have a choice of a stage2 and stage3 image. |
610 |
|
|
These images allow you to save time at the expense of configurability (we've already chosen |
611 |
zhen |
1.12 |
compiler optimizations and default USE variables for you.) |
612 |
zhen |
1.6 |
</p> |
613 |
zhen |
1.16 |
<pre caption="Unpacking the Stages"> |
614 |
drobbins |
1.1 |
# <c>cd /mnt/gentoo</c> |
615 |
drobbins |
1.21 |
# <c>tar -xvjpf /mnt/cdrom/gentoo/stage?-*.tbz2</c> |
616 |
drobbins |
1.1 |
# <c>mount -o bind /proc /mnt/gentoo/proc</c> |
617 |
zhen |
1.44 |
|
618 |
|
|
<!--# <c>mount -o bind /dev /mnt/gentoo/dev</c> |
619 |
drobbins |
1.35 |
<comment>The /dev bind-mount is required for perl to build properly for some people.</comment> |
620 |
zhen |
1.44 |
--> |
621 |
drobbins |
1.1 |
# <c>cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf</c> |
622 |
zhen |
1.6 |
</pre> |
623 |
zhen |
1.30 |
<p>If you are going to use GRP, now would be a good time to execute the following commands: |
624 |
|
|
</p> |
625 |
|
|
|
626 |
|
|
<pre caption="Getting ready for GRP"> |
627 |
|
|
# <c>mkdir /mnt/gentoo/GRP</c> |
628 |
|
|
# <c>mount -o bind /mnt/cdrom/gentoo/packages /mnt/gentoo/GRP</c> |
629 |
|
|
</pre> |
630 |
|
|
|
631 |
zhen |
1.16 |
<pre caption="Entering the chroot Environment"> |
632 |
drobbins |
1.1 |
# <c>chroot /mnt/gentoo /bin/bash</c> |
633 |
|
|
# <c>env-update</c> |
634 |
|
|
Regenerating /etc/ld.so.cache... |
635 |
|
|
# <c>source /etc/profile</c> |
636 |
zhen |
1.49 |
<comment>The above points your shell to the new paths and updated binaries. </comment> |
637 |
zhen |
1.6 |
</pre> |
638 |
zhen |
1.16 |
<p>After you execute these commands, you'll be "inside" your new Gentoo Linux environment. |
639 |
zhen |
1.6 |
</p> |
640 |
zhen |
1.16 |
</body> |
641 |
|
|
</section> |
642 |
|
|
</chapter> |
643 |
|
|
<chapter> |
644 |
|
|
<title>Getting the Current Portage Tree using Rsync</title> |
645 |
|
|
<section> |
646 |
|
|
<body> |
647 |
|
|
<p>Now, you'll need to run <c>emerge sync</c>. This will make sure that |
648 |
zhen |
1.6 |
you have the most current copy of the Portage tree. </p> |
649 |
zhen |
1.16 |
<pre caption="Updating Using Rsync"> |
650 |
zhen |
1.6 |
# <c>emerge sync</c> |
651 |
|
|
</pre> |
652 |
zhen |
1.16 |
<p>The Portage tree will be downloaded and stored in <path>/usr/portage</path>; |
653 |
zhen |
1.6 |
it's about 90Mb in size without tarballs. |
654 |
|
|
</p> |
655 |
zhen |
1.16 |
</body> |
656 |
|
|
</section> |
657 |
|
|
</chapter> |
658 |
|
|
<chapter> |
659 |
|
|
<title>Setting Gentoo optimizations (make.conf)</title> |
660 |
|
|
<section> |
661 |
|
|
<body> |
662 |
|
|
<p>Now that you have a working copy of the Portage tree, people using stage1 to |
663 |
zhen |
1.6 |
install will need to bootstrap their Gentoo Linux system as follows. First |
664 |
|
|
edit the file <path>/etc/make.conf</path>. In this file, you should set your |
665 |
|
|
<c>USE</c> flags, which specify optional functionality that you would |
666 |
|
|
like to be built into packages; generally, the defaults (an <e>empty</e> |
667 |
|
|
or unset <c>USE</c> variable) are fine. |
668 |
|
|
More information on <c>USE</c> flags can be found |
669 |
|
|
<uri link="http://www.gentoo.org/doc/en/use-howto.xml">here</uri>. |
670 |
zhen |
1.38 |
A complete list of current USE flags can be found |
671 |
|
|
<uri link="http://www.gentoo.org/dyn/use-index.xml">here</uri>. |
672 |
zhen |
1.6 |
</p> |
673 |
zhen |
1.16 |
<p>You also should set appropriate <c>CHOST</c>, <c>CFLAGS</c> and |
674 |
zhen |
1.6 |
<c>CXXFLAGS</c> settings for the kind of system that you are creating |
675 |
|
|
(commented examples can be found further down in the file.) Your best friend |
676 |
|
|
is <path>man gcc</path> to figure out what additional <c>CFLAGS</c> and |
677 |
|
|
<code>CXXFLAGS</code> are available. Search for 'Optimization'. |
678 |
|
|
</p> |
679 |
zhen |
1.16 |
<p>If necessary, you can also set proxy information here if you are behind a |
680 |
zhen |
1.6 |
firewall. |
681 |
|
|
</p> |
682 |
zhen |
1.16 |
<pre caption="Setting make.conf Options"> |
683 |
drobbins |
1.1 |
# <c>nano -w /etc/make.conf</c> <comment>(Adjust these settings)</comment> |
684 |
zhen |
1.6 |
</pre> |
685 |
zhen |
1.16 |
<note> |
686 |
zhen |
1.6 |
People who need to substantially tweak the build process should take a look at |
687 |
|
|
the <path>/etc/make.globals</path> file. This file comprises gentoo defaults and |
688 |
|
|
should never be touched. If the defaults do not suffice, then new values should |
689 |
|
|
be put in <path>/etc/make.conf</path>, as entries in <path>make.conf</path> |
690 |
|
|
<comment>override</comment> the entries in <path>make.globals</path>. If you're |
691 |
|
|
interested in tweaking USE settings, look in <path>/etc/make.profile/make.defaults</path>. |
692 |
zhen |
1.16 |
If you want to turn off any USE settings found here, add an appropriate <c>USE="-foo"</c> |
693 |
zhen |
1.6 |
in /etc/make.conf (to turn off the <c>foo</c> USE setting.) |
694 |
|
|
</note> |
695 |
zhen |
1.16 |
</body> |
696 |
|
|
</section> |
697 |
|
|
</chapter> |
698 |
|
|
<chapter> |
699 |
zhen |
1.18 |
<title>Starting from Stage1</title> |
700 |
zhen |
1.16 |
<section> |
701 |
|
|
<body> |
702 |
zhen |
1.18 |
<p>The stage1 tarball is for ultimate tweakage. If you have picked this tarball, |
703 |
|
|
you are most likely looking to have an uber-optimized system. Have fun, because optimization |
704 |
|
|
is what Gentoo Linux is all about! |
705 |
|
|
</p> |
706 |
zhen |
1.16 |
<p>Now, it's time to start the "bootstrap" process. This process takes about two hours on |
707 |
zhen |
1.6 |
my 1200Mhz AMD Athlon system. During this time, the extracted build image will be prepped |
708 |
zhen |
1.18 |
for compiling the rest of the system. The GNU compiler suite will be built, as well as the GNU C library. |
709 |
zhen |
1.6 |
These are time consuming builds and make up the bulk of the bootstrap process. |
710 |
|
|
</p> |
711 |
zhen |
1.16 |
<pre caption="Bootstrapping"> |
712 |
drobbins |
1.1 |
# <c>cd /usr/portage</c> |
713 |
|
|
# <c>scripts/bootstrap.sh</c> |
714 |
zhen |
1.6 |
</pre> |
715 |
zhen |
1.16 |
<p>The "bootstrap" process will now begin. |
716 |
zhen |
1.6 |
</p> |
717 |
zhen |
1.16 |
<note> |
718 |
zhen |
1.6 |
Portage by default uses <c>/var/tmp</c> during package building, often |
719 |
|
|
using several hundred megabytes of temporary storage. If you would like to |
720 |
|
|
change where Portage stores these temporary files, set a new PORTAGE_TMPDIR <e>before</e> |
721 |
|
|
starting the bootstrap process, as follows: |
722 |
|
|
</note> |
723 |
zhen |
1.16 |
<pre caption="Changing Portage's Storage Path"> |
724 |
|
|
# <c>export PORTAGE_TMPDIR="/otherdir/tmp"</c> |
725 |
zhen |
1.6 |
</pre> |
726 |
zhen |
1.16 |
<p><c>bootstrap.sh</c> will build <c>binutils</c>, <c>gcc</c>, <c>gettext</c>, |
727 |
zhen |
1.6 |
and <c>glibc</c>, rebuilding <c>binutils</c>, <c>gcc</c>, and <c>gettext</c> |
728 |
|
|
after <c>glibc</c>. Needless to say, this process takes a while. |
729 |
zhen |
1.27 |
Have a nice nap. Once this process completes, your system will be equivalent to a "stage2" system, |
730 |
zhen |
1.33 |
which means you can now move on to the stage2 instructions. |
731 |
zhen |
1.6 |
</p> |
732 |
zhen |
1.16 |
</body> |
733 |
|
|
</section> |
734 |
|
|
</chapter> |
735 |
|
|
<chapter> |
736 |
zhen |
1.18 |
<title>Starting from Stage2</title> |
737 |
zhen |
1.16 |
<section> |
738 |
|
|
<body> |
739 |
zhen |
1.18 |
<p>The stage2 tarball already has the bootstrapping done for you. All that you have |
740 |
|
|
to do is install the rest of the system. |
741 |
zhen |
1.6 |
</p> |
742 |
zhen |
1.16 |
<note> |
743 |
zhen |
1.6 |
If you haven't done so, please edit <path>/etc/make.conf</path> to your flavor. |
744 |
|
|
</note> |
745 |
zhen |
1.16 |
<pre caption="Installing the Rest of the System"> |
746 |
drobbins |
1.25 |
# <c>export CONFIG_PROTECT="-*"</c> |
747 |
drobbins |
1.1 |
# <c>emerge -p system</c> |
748 |
|
|
<comment>[lists the packages to be installed]</comment> |
749 |
|
|
# <c>emerge system</c> |
750 |
zhen |
1.6 |
</pre> |
751 |
drobbins |
1.25 |
<note>The <c>export CONFIG_PROTECT="-*"</c> line ensures that any new scripts |
752 |
zhen |
1.6 |
installed to <path>/etc</path> will overwrite the old scripts (stored in |
753 |
|
|
<path>sys-apps/baselayout</path>), bypassing Portage's new config file |
754 |
|
|
management support. Type <c>emerge --help config</c> for more details.</note> |
755 |
zhen |
1.16 |
<p>It's going to take a while |
756 |
zhen |
1.6 |
to finish building the entire base system. Your reward is that it will be |
757 |
|
|
thoroughly optimized for your system. The drawback is that you have to find a |
758 |
zhen |
1.16 |
way to keep yourself occupied for some time to come. The author suggests "Star |
759 |
zhen |
1.37 |
Wars - Super Bombad Racing" for the PS2. |
760 |
|
|
</p> |
761 |
|
|
<p>When this process completes, your system will be the equivalent of a stage3 system. You have |
762 |
|
|
a couple of choices on how to continue |
763 |
|
|
at this point. You can move onto the stage3 instructions and complete those. Doing that will |
764 |
|
|
get your system right up to date with what is in the current Portage tree. This is not necessary, |
765 |
|
|
but it is highly recommended. If you do not choose to get up to date with the stage3 instructions, |
766 |
|
|
you can move onto the GRP install section. If you do not wish to use GRP, you can move |
767 |
|
|
onto <uri link="http://www.gentoo.org/doc/en/gentoo-x86-install.xml#doc_chp16">Chapter 16: Final Steps</uri>. |
768 |
zhen |
1.18 |
</p> |
769 |
|
|
</body> |
770 |
|
|
</section> |
771 |
|
|
</chapter> |
772 |
|
|
<chapter> |
773 |
|
|
<title>Starting from Stage3</title> |
774 |
|
|
<section> |
775 |
|
|
<body> |
776 |
|
|
<p>The stage3 tarball is already configured for your system. There is not much to do for this stage, |
777 |
|
|
but it is a very good idea to update your system to the newest available packages. </p> |
778 |
zhen |
1.57 |
|
779 |
|
|
<p>Since many packages will be downloaded for the update world, you may want to emerge <i>mirrorselect</i>. |
780 |
|
|
<i>Mirrorselect</i> is a nice ncurses GUI app that will assist you in picking a Gentoo distfiles mirror. </p> |
781 |
|
|
|
782 |
|
|
<pre caption="Emerging mirrorselect"> |
783 |
|
|
# <c>emerge mirrorselect</c> |
784 |
|
|
</pre> |
785 |
|
|
|
786 |
zhen |
1.18 |
<note>If you have not already edited <path>/etc/make.conf</path> to fit your specifications, |
787 |
|
|
now would be a good time to do so. </note> |
788 |
|
|
<pre caption="Getting up-to-date"> |
789 |
|
|
# <c>emerge sync</c> |
790 |
|
|
# <c>emerge -up world</c> |
791 |
|
|
<comment>lists [<i>packages</i>] to be installed</comment> |
792 |
|
|
# <c>emerge -u world</c> |
793 |
|
|
</pre> |
794 |
zhen |
1.37 |
<p>Once you complete this step, you have some options on how to continue. If you are going to be using GRP, |
795 |
|
|
please move onto the GRP section. If you are not going to use GRP, you may continue onto |
796 |
|
|
<uri link="http://www.gentoo.org/doc/en/gentoo-x86-install.xml#doc_chp16">Chapter 16: Final Steps</uri>. |
797 |
zhen |
1.27 |
</p> |
798 |
zhen |
1.18 |
</body> |
799 |
|
|
</section> |
800 |
|
|
</chapter> |
801 |
|
|
<chapter> |
802 |
zhen |
1.26 |
<title>Using GRP</title> |
803 |
|
|
<section> |
804 |
|
|
<body> |
805 |
zhen |
1.28 |
<p>You can take advantage of pre-built GRP package sets to avoid compiling certain popular and large packages. Currently, we provide full builds of everything you need for <c>openoffice-bin</c>, |
806 |
zhen |
1.27 |
<c>GNOME</c>, <c>KDE</c> and <c>xfree</c>. |
807 |
|
|
</p> |
808 |
seo |
1.41 |
<p>First, you will need to <c>cd</c> to the location of the packages directory. We have already |
809 |
|
|
mounted the directory at <path>/GRP</path>. In that directory you |
810 |
zhen |
1.27 |
will find the <c>grp-install.sh</c> script, an <i>All</i> directory that contains all of the binary |
811 |
|
|
packages, and a list of available GRP packages. To install any/all of these |
812 |
|
|
package sets you should do the following: </p> |
813 |
zhen |
1.26 |
<pre caption="Using GRP"> |
814 |
seo |
1.41 |
# <c>cd /GRP</c> |
815 |
zhen |
1.27 |
# <c>sh grp-install.sh <list of package lists></c> |
816 |
|
|
<comment>where <list of package lists> may be any of the *-list.txt files found in the same directory.</comment> |
817 |
drobbins |
1.21 |
</pre> |
818 |
zhen |
1.27 |
<p><c>grp-install.sh</c> can be run multiple times without replacing existing installations. You can |
819 |
|
|
do a <c>sh grp-install.sh</c> for a basic usage description if you are still a bit foggy. |
820 |
|
|
</p> |
821 |
zhen |
1.26 |
</body> |
822 |
|
|
</section> |
823 |
|
|
</chapter> |
824 |
drobbins |
1.21 |
<chapter> |
825 |
zhen |
1.18 |
<title>Final Steps: Timezone</title> |
826 |
|
|
<section> |
827 |
|
|
<body> |
828 |
|
|
<p>At this point, you should have system that's ready for final configuration. |
829 |
|
|
We'll start the configuration process by setting the timezone. By setting the timezone before building |
830 |
|
|
the kernel we ensure that users get reasonable <c>uname -a</c> output. |
831 |
|
|
</p> |
832 |
|
|
<p>Look for your timezone (or GMT if you using Greenwich Mean Time) in |
833 |
|
|
<path>/usr/share/zoneinfo</path>. Then, make a symbolic link by typing: |
834 |
|
|
</p> |
835 |
|
|
<pre caption="Creating a symbolic link for timezome"> |
836 |
|
|
# <c>ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime</c> |
837 |
|
|
</pre> |
838 |
|
|
<p>You might also want to check <path>/etc/rc.conf</path> to make sure your timezone settings |
839 |
|
|
are correct. |
840 |
zhen |
1.6 |
</p> |
841 |
zhen |
1.16 |
</body> |
842 |
|
|
</section> |
843 |
|
|
</chapter> |
844 |
|
|
<chapter> |
845 |
|
|
<title>Final steps: kernel and system logger</title> |
846 |
|
|
<section> |
847 |
|
|
<body> |
848 |
|
|
<note> |
849 |
zhen |
1.6 |
If you haven't done so, please edit <path>/etc/make.conf</path> to your flavor. |
850 |
|
|
</note> |
851 |
zhen |
1.16 |
<p>You now need to merge Linux source ebuilds. Here are the ones we currently |
852 |
zhen |
1.6 |
offer: |
853 |
|
|
</p> |
854 |
zhen |
1.16 |
<table> |
855 |
|
|
<tr> |
856 |
|
|
<th>ebuild</th> |
857 |
|
|
<th>description</th> |
858 |
|
|
</tr> |
859 |
|
|
<tr> |
860 |
|
|
<ti> |
861 |
|
|
<path>gentoo-sources</path> |
862 |
|
|
</ti> |
863 |
drobbins |
1.21 |
<ti>Our own performance and functionality-enhanced kernel does not include XFS support.</ti> |
864 |
zhen |
1.16 |
</tr> |
865 |
|
|
<tr> |
866 |
|
|
<ti> |
867 |
|
|
<path>xfs-sources</path> |
868 |
|
|
</ti> |
869 |
drobbins |
1.21 |
<ti>Highly-compatible kernel with XFS support.</ti> |
870 |
zhen |
1.16 |
</tr> |
871 |
|
|
<tr> |
872 |
|
|
<ti> |
873 |
|
|
<path>openmosix-sources</path> |
874 |
|
|
</ti> |
875 |
|
|
<ti>A stock Linux kernel source tree patched with support for the GPL <uri link="http://www.openmosix.com">openMosix</uri> load-balancing/clustering technology</ti> |
876 |
|
|
</tr> |
877 |
|
|
<tr> |
878 |
|
|
<ti> |
879 |
|
|
<path>usermode-sources</path> |
880 |
|
|
</ti> |
881 |
|
|
<ti>A stock Linux kernel source tree patched with support for User-Mode Linux. ("Linux inside Linux" technology)</ti> |
882 |
|
|
</tr> |
883 |
|
|
<tr> |
884 |
|
|
<ti> |
885 |
|
|
<path>vanilla-sources</path> |
886 |
|
|
</ti> |
887 |
|
|
<ti>A stock Linux kernel source tree, just like you'd get from kernel.org</ti> |
888 |
|
|
</tr> |
889 |
|
|
</table> |
890 |
drobbins |
1.21 |
<warn> |
891 |
|
|
If you are configuring your own kernel, be careful with the <i>grsecurity</i> option. Being too aggressive with your |
892 |
|
|
security settings can cause certain programs (such as X) to not run properly. If in doubt, leave it out. |
893 |
zhen |
1.6 |
</warn> |
894 |
drobbins |
1.21 |
<p>Choose a kernel and then merge as follows:</p> |
895 |
zhen |
1.16 |
<pre caption="Emerging Kernel Sources"> |
896 |
drobbins |
1.1 |
# <c>emerge sys-kernel/gentoo-sources</c> |
897 |
zhen |
1.6 |
</pre> |
898 |
zhen |
1.16 |
<p>Once you have a Linux kernel source tree available, it's time to compile your own custom kernel. |
899 |
zhen |
1.6 |
</p> |
900 |
zhen |
1.38 |
<p>Please note that <path>/usr/src/linux</path> is a symlink to your current emerged kernel source package, |
901 |
|
|
which is set automatically by Portage at emerge time. |
902 |
|
|
If you have multiple kernel source packages, it is necessary to set the <path>/usr/src/linux</path> symlink |
903 |
|
|
to the correct one before proceeding. |
904 |
|
|
</p> |
905 |
zhen |
1.16 |
<pre caption="Compiling the Linux Kernel"> |
906 |
drobbins |
1.1 |
# <c>cd /usr/src/linux</c> |
907 |
zhen |
1.46 |
# <c>source /etc/profile</c> |
908 |
zhen |
1.49 |
<comment>Again, this updates your paths. If you get an error saying gcc is not found, |
909 |
|
|
this is what you may have to do. </comment> |
910 |
drobbins |
1.1 |
# <c>make menuconfig</c> |
911 |
|
|
# <c>make dep && make clean bzImage modules modules_install</c> |
912 |
|
|
# <c>mv /boot/bzImage /boot/bzImage.orig</c> |
913 |
|
|
<comment>[if bzImage already exists]</comment> |
914 |
|
|
# <c>cp /usr/src/linux/arch/i386/boot/bzImage /boot</c> |
915 |
zhen |
1.6 |
</pre> |
916 |
zhen |
1.16 |
<warn>For your kernel to function properly, there are several options that you will |
917 |
zhen |
1.6 |
need to ensure are in the kernel proper -- that is, they should <i>be enabled and not |
918 |
zhen |
1.16 |
compiled as modules</i>. You will need to enable the <i>"Code maturity |
919 |
|
|
level options --> Prompt for development and/or incomplete code/drivers"</i> |
920 |
zhen |
1.6 |
option to see several of these selections. |
921 |
zhen |
1.50 |
Under the "File systems" section, be sure to enable the <i>"/dev" file system support</i> (note that |
922 |
zhen |
1.16 |
you <e>don't</e> need to enable the "/dev/pts file system support" option). You'll also |
923 |
|
|
need to enable the <i>"Virtual Memory Filesystem"</i>. Be sure to enable "ReiserFS" if you have |
924 |
|
|
any ReiserFS partitions; the same goes for "Ext3". If you're using XFS, enable the |
925 |
|
|
"SGI XFS filesystem support" |
926 |
zhen |
1.6 |
option. It's always a good idea to leave ext2 |
927 |
|
|
enabled whether you are using it or not. Also, most people using IDE hard drives will |
928 |
zhen |
1.16 |
want to enable the "USE DMA by default" option; otherwise, your IDE drives may perform |
929 |
|
|
very poorly. Of course, remember to enable "IDE disk" support as well -- otherwise your |
930 |
zhen |
1.6 |
kernel won't be able to see your IDE disks. |
931 |
|
|
</warn> |
932 |
zhen |
1.16 |
<p>If you are using hardware RAID you will need to enable a couple more options in the kernel: |
933 |
zhen |
1.6 |
For Highpoint RAID controllers select hpt366 chipset support, support for IDE RAID controllers and Highpoint |
934 |
|
|
370 software RAID.For Promise RAID controllers select PROMISE PDC202{46|62|65|67|68|69|70} support, |
935 |
|
|
support for IDE RAID |
936 |
|
|
controllers and Support Promise software RAID (Fasttrak(tm)) |
937 |
|
|
</p> |
938 |
zhen |
1.16 |
<p>If you use PPPoE to connect to Internet, you will need the following |
939 |
zhen |
1.6 |
options in the kernel (built-in or as preferably as modules) : |
940 |
zhen |
1.16 |
"PPP (point-to-point protocol) support", "PPP support for async serial ports", |
941 |
|
|
"PPP support for sync tty ports". The two compression options won't harm but |
942 |
|
|
are not definitely needed, neither does the "PPP over Ethernet" option, |
943 |
zhen |
1.6 |
that might only be used by <i>rp-pppoe</i> when configured to do kernel mode PPPoE. |
944 |
|
|
</p> |
945 |
zhen |
1.16 |
<p>If you have an IDE cd burner, then you need to enable SCSI emulation in the |
946 |
|
|
kernel. Turn on "ATA/IDE/MFM/RLL support" ---> "IDE, ATA and ATAPI Block |
947 |
|
|
devices" ---> "SCSI emulation support" (I usually make it a module), then |
948 |
|
|
under "SCSI support" enable "SCSI support", "SCSI CD-ROM support" and |
949 |
|
|
"SCSI generic support" (again, I usually compile them as modules). If you |
950 |
|
|
also choose to use modules, then <c>echo -e "ide-scsi\nsg\nsr_mod" |
951 |
|
|
>> /etc/modules.autoload</c> to have them automatically added at boot time. |
952 |
zhen |
1.6 |
</p> |
953 |
zhen |
1.16 |
<note> |
954 |
zhen |
1.6 |
For those who prefer it, |
955 |
|
|
it is now possible to install Gentoo Linux with a 2.2 kernel. |
956 |
drobbins |
1.21 |
However, doing this comes at a price: |
957 |
zhen |
1.6 |
you will lose many of the nifty features that |
958 |
|
|
are new to the 2.4 series kernels (such as XFS and tmpfs |
959 |
|
|
filesystems, iptables, and more), although the 2.2 kernel sources can be |
960 |
drobbins |
1.21 |
patched with ReiserFS and devfs support. |
961 |
|
|
Gentoo linux boot scripts require either tmpfs or ramdisk support in the kernel, so |
962 |
zhen |
1.6 |
2.2 kernel users need to make sure that ramdisk support is compiled in (ie, not a module). |
963 |
|
|
It is <comment>vital</comment> that a <e>gentoo=notmpfs</e> flag be added to the kernel |
964 |
|
|
line in <path>/boot/grub/grub.conf</path> for the 2.2 kernel so that a ramdisk is mounted |
965 |
|
|
for the bootscripts instead of tmpfs. If you choose not to use devfs, then |
966 |
|
|
<e>gentoo=notmpfs,nodevfs</e> should be used instead. |
967 |
|
|
</note> |
968 |
zhen |
1.16 |
<p>Your new custom kernel (and modules) are now installed. Now you need to choose a system |
969 |
zhen |
1.6 |
logger that you would like to install. We offer sysklogd, which is the traditional set |
970 |
|
|
of system logging daemons. We also have msyslog and syslog-ng as well as metalog. Power users seem |
971 |
|
|
to gravitate away from sysklogd (not very good performance) and towards the |
972 |
|
|
newer alternatives. |
973 |
|
|
If in doubt, you may want to try metalog, since it seems to be quite popular. |
974 |
|
|
To merge your logger of choice, type <e>one</e> of the next four lines: |
975 |
|
|
</p> |
976 |
zhen |
1.16 |
<pre caption="Emerging System Logger of Choice"> |
977 |
drobbins |
1.1 |
# <c>emerge app-admin/sysklogd</c> |
978 |
|
|
# <c>rc-update add sysklogd default</c> |
979 |
|
|
<comment>or</comment> |
980 |
|
|
# <c>emerge app-admin/syslog-ng</c> |
981 |
|
|
# <c>rc-update add syslog-ng default</c> |
982 |
|
|
<comment>or</comment> |
983 |
|
|
# <c>emerge app-admin/metalog</c> |
984 |
|
|
# <c>rc-update add metalog default</c> |
985 |
|
|
<comment>or</comment> |
986 |
|
|
# <c>emerge app-admin/msyslog</c> |
987 |
|
|
# <c>rc-update add msyslog default</c> |
988 |
zhen |
1.6 |
</pre> |
989 |
zhen |
1.16 |
<warn> |
990 |
zhen |
1.6 |
In the case of syslog-ng you need to create |
991 |
|
|
<path>/etc/syslog-ng/syslog-ng.conf</path>. |
992 |
|
|
See <path>/etc/syslog-ng</path> |
993 |
|
|
for a sample configuration file. |
994 |
|
|
</warn> |
995 |
zhen |
1.16 |
<impo> |
996 |
zhen |
1.6 |
Metalog flushes output to the disk in blocks, so messages aren't immediately recorded into |
997 |
|
|
the system logs. If you are trying to debug a daemon, this performance-enhancing behavior |
998 |
|
|
is less than helpful. When your Gentoo Linux system is up and running, you can send |
999 |
|
|
metalog a USR1 signal to temporarily turn off this message buffering (meaning that |
1000 |
|
|
<i>tail -f <path>/var/log/everything/current</path></i> will now work |
1001 |
|
|
in real time, as expected), |
1002 |
|
|
and a USR2 signal to turn buffering back on |
1003 |
zhen |
1.39 |
again. If you want to disable buffering permanently, you can change METALOG_OPTS="-B" to METALOG_OPTS="-B -s" |
1004 |
|
|
in <path>/etc/conf.d/metalog</path>. |
1005 |
zhen |
1.6 |
</impo> |
1006 |
zhen |
1.16 |
<p>Now, you may optionally choose a cron package that you'd like to use. |
1007 |
zhen |
1.6 |
Right now, we offer dcron, fcron and vcron. If you don't know which one to choose, |
1008 |
|
|
you might as well grab vcron. They can be installed as follows: |
1009 |
|
|
</p> |
1010 |
zhen |
1.16 |
<pre caption="Choosing a CRON Daemon"> |
1011 |
drobbins |
1.1 |
# <c>emerge sys-apps/dcron</c> |
1012 |
|
|
# <c>crontab /etc/crontab</c> |
1013 |
|
|
<comment>or</comment> |
1014 |
|
|
# <c>emerge sys-apps/fcron</c> |
1015 |
|
|
# <c>crontab /etc/crontab</c> |
1016 |
|
|
<comment>or</comment> |
1017 |
|
|
# <c>emerge sys-apps/vcron</c> |
1018 |
zhen |
1.2 |
<comment>You do not need to run <c>crontab /etc/crontab</c> if using vcron. </comment> |
1019 |
drobbins |
1.1 |
<comment>Don't forget to add your *cron to the proper init level. </comment> |
1020 |
|
|
# <c>rc-update add *cron default </c> |
1021 |
zhen |
1.6 |
</pre> |
1022 |
zhen |
1.26 |
<!--<p>For more information how how cron works under Gentoo Linux, |
1023 |
drobbins |
1.21 |
see <uri link="http://lists.gentoo.org/pipermail/gentoo-announce/2002-April/000151.html">this announcement</uri>.</p>--> |
1024 |
zhen |
1.16 |
<p>For more information on starting programs and daemons at startup, see the |
1025 |
drobbins |
1.21 |
<uri link="/doc/en/rc-scripts.xml">rc-script guide</uri>. |
1026 |
zhen |
1.6 |
</p> |
1027 |
zhen |
1.16 |
</body> |
1028 |
|
|
</section> |
1029 |
|
|
</chapter> |
1030 |
|
|
<chapter> |
1031 |
|
|
<title>Final steps: Install Additional Packages</title> |
1032 |
|
|
<section> |
1033 |
|
|
<body> |
1034 |
|
|
<p>If you need rp-pppoe to connect to the net, be aware that at this point |
1035 |
zhen |
1.6 |
it has not been installed. It would be the good time to do it. </p> |
1036 |
zhen |
1.16 |
<pre caption="Installing rp-pppoe"> |
1037 |
zhen |
1.40 |
# <c>USE="-X" emerge rp-pppoe</c> |
1038 |
zhen |
1.6 |
</pre> |
1039 |
zhen |
1.40 |
|
1040 |
|
|
<note>The <i>USE="-X"</i> prevents pppoe from installing its optional X interface, which is a good thing, |
1041 |
|
|
because X and its dependencies would also be emerged. You can always recompile <i>rp-pppoe</i> with |
1042 |
|
|
X support later. |
1043 |
|
|
</note> |
1044 |
zhen |
1.16 |
<note> Please note that the rp-pppoe is built but not configured. |
1045 |
zhen |
1.6 |
You will have to do it again using <c>adsl-setup</c> when you boot into your Gentoo system |
1046 |
|
|
for the first time. |
1047 |
|
|
</note> |
1048 |
zhen |
1.16 |
<p>You may need to install some additional packages in the Portage tree |
1049 |
zhen |
1.6 |
if you are using any optional features like XFS, ReiserFS or LVM. If you're |
1050 |
zhen |
1.50 |
using XFS, you should emerge the <c>xfsprogs</c> package: |
1051 |
zhen |
1.6 |
</p> |
1052 |
zhen |
1.16 |
<pre caption="Emerging Filesystem Tools"> |
1053 |
drobbins |
1.1 |
# <c>emerge sys-apps/xfsprogs</c> |
1054 |
|
|
<comment>If you'd like to use ReiserFS, you should emerge the ReiserFS tools: </comment> |
1055 |
zhen |
1.50 |
# <c>emerge sys-apps/reiserfsprogs</c> |
1056 |
|
|
<comment>If you'd like to use JFS, you should emerge the JFS tools: </comment> |
1057 |
|
|
# <c>emerge jfsutils</c> |
1058 |
drobbins |
1.1 |
<comment>If you're using LVM, you should emerge the <c>lvm-user</c> package: </comment> |
1059 |
drobbins |
1.21 |
# <c>emerge sys-apps/lvm-user</c> |
1060 |
zhen |
1.6 |
</pre> |
1061 |
zhen |
1.16 |
<p>If you're a laptop user and wish to use your PCMCIA slots on your first |
1062 |
zhen |
1.6 |
real reboot, you'll want to make sure you install the <i>pcmcia-cs</i> package. |
1063 |
|
|
</p> |
1064 |
zhen |
1.16 |
<pre caption="Emerging PCMCIA-cs"> |
1065 |
drobbins |
1.1 |
# <c>emerge sys-apps/pcmcia-cs</c> |
1066 |
zhen |
1.6 |
</pre> |
1067 |
zhen |
1.16 |
<warn>You will have to re-emerge <i>pcmcia-cs</i> after installation to get PCMCIA |
1068 |
zhen |
1.10 |
to work. |
1069 |
|
|
</warn> |
1070 |
zhen |
1.16 |
</body> |
1071 |
|
|
</section> |
1072 |
|
|
</chapter> |
1073 |
|
|
<chapter> |
1074 |
|
|
<title>Final steps: /etc/fstab</title> |
1075 |
|
|
<section> |
1076 |
|
|
<body> |
1077 |
|
|
<p>Your Gentoo Linux system is almost ready for use. All we need to do now is configure |
1078 |
zhen |
1.6 |
a few important system files and install the GRUB boot loader. |
1079 |
|
|
The first file we need to |
1080 |
|
|
configure is <path>/etc/fstab</path>. Remember that you should use |
1081 |
|
|
the <c>notail</c> option for your boot partition if you chose to create a ReiserFS filesystem on it. |
1082 |
|
|
Remember to specify <c>ext2</c>, <c>ext3</c> or <c>reiserfs</c> filesystem types as appropriate. |
1083 |
|
|
</p> |
1084 |
zhen |
1.16 |
<p>Use something like the <path>/etc/fstab</path> listed below, but of course be sure to replace "BOOT", |
1085 |
|
|
"ROOT" and "SWAP" with the actual block devices you are using (such as <c>hda1</c>, etc.)</p> |
1086 |
|
|
<pre caption="Editing fstab"><comment> |
1087 |
drobbins |
1.1 |
# /etc/fstab: static file system information. |
1088 |
|
|
# |
1089 |
zhware |
1.31 |
# noatime turns off atimes for increased performance (atimes normally aren't |
1090 |
drobbins |
1.1 |
# needed; notail increases performance of ReiserFS (at the expense of storage |
1091 |
|
|
# efficiency). It's safe to drop the noatime options if you want and to |
1092 |
|
|
# switch between notail and tail freely. |
1093 |
|
|
|
1094 |
|
|
# <fs> <mountpoint> <type> <opts> <dump/pass> |
1095 |
|
|
|
1096 |
|
|
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. |
1097 |
|
|
</comment> |
1098 |
|
|
/dev/BOOT /boot ext2 noauto,noatime 1 2 |
1099 |
|
|
/dev/ROOT / ext3 noatime 0 1 |
1100 |
|
|
/dev/SWAP none swap sw 0 0 |
1101 |
|
|
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0 |
1102 |
|
|
proc /proc proc defaults 0 0 |
1103 |
zhen |
1.6 |
</pre> |
1104 |
zhen |
1.16 |
<warn>Please notice that <i>/boot</i> is NOT mounted at boottime. |
1105 |
zhen |
1.6 |
This is to protect the data in <i>/boot</i> from |
1106 |
|
|
corruption. If you need to access <i>/boot</i>, please mount it! |
1107 |
|
|
</warn> |
1108 |
zhen |
1.16 |
</body> |
1109 |
|
|
</section> |
1110 |
|
|
</chapter> |
1111 |
|
|
<chapter> |
1112 |
|
|
<title>Final steps: Root Password</title> |
1113 |
|
|
<section> |
1114 |
|
|
<body> |
1115 |
|
|
<p>Before you forget, set the root password by typing: </p> |
1116 |
|
|
<pre caption="Setting the root Password"> |
1117 |
|
|
# <c>passwd</c> |
1118 |
zhen |
1.56 |
</pre> |
1119 |
|
|
|
1120 |
|
|
<p>You will also want to add a non-root user for everyday use. Please consult |
1121 |
|
|
the <uri link="http://www.gentoo.org/doc/en/faq.xml">Gentoo FAQ</uri>. |
1122 |
|
|
</p> |
1123 |
zhen |
1.16 |
</body> |
1124 |
|
|
</section> |
1125 |
|
|
</chapter> |
1126 |
|
|
<chapter> |
1127 |
|
|
<title>Final steps: /etc/hostname</title> |
1128 |
|
|
<section> |
1129 |
|
|
<body> |
1130 |
|
|
<p>Edit this file so that it contains your fully-qualified domain name on a single line, |
1131 |
zhen |
1.6 |
i.e. <c>mymachine.mydomain.com</c>. |
1132 |
|
|
</p> |
1133 |
zhen |
1.16 |
<pre caption="Configuring Hostname"> |
1134 |
|
|
# <c>echo mymachine.mydomain.com > /etc/hostname</c> |
1135 |
zhen |
1.6 |
</pre> |
1136 |
zhen |
1.16 |
</body> |
1137 |
|
|
</section> |
1138 |
|
|
</chapter> |
1139 |
|
|
<chapter> |
1140 |
|
|
<title>Final steps: /etc/hosts</title> |
1141 |
|
|
<section> |
1142 |
|
|
<body> |
1143 |
|
|
<p>This file contains a list of ip addresses and their associated hostnames. |
1144 |
zhen |
1.6 |
It's used by the system to resolve the IP addresses |
1145 |
|
|
of any hostnames that may not be in your nameservers. Here's a template for this file: |
1146 |
|
|
</p> |
1147 |
zhen |
1.16 |
<pre caption="Hosts Template"> |
1148 |
drobbins |
1.1 |
127.0.0.1 localhost |
1149 |
|
|
<comment># the next line contains your IP for your local LAN, and your associated machine name</comment> |
1150 |
|
|
192.168.1.1 mymachine.mydomain.com mymachine |
1151 |
zhen |
1.6 |
</pre> |
1152 |
zhen |
1.16 |
<note>If you are on a DHCP network, it might be helpful to set <i>localhost</i> to your machine's |
1153 |
zhen |
1.6 |
actual hostname. This will help GNOME and many other programs in name resolution. |
1154 |
|
|
</note> |
1155 |
zhen |
1.16 |
</body> |
1156 |
|
|
</section> |
1157 |
|
|
</chapter> |
1158 |
|
|
<chapter> |
1159 |
|
|
<title>Final Network Configuration</title> |
1160 |
|
|
<section> |
1161 |
|
|
<body> |
1162 |
|
|
<p>Add the names of any modules that are necessary for the proper functioning of your system to |
1163 |
zhen |
1.6 |
<path>/etc/modules.autoload</path> file (you can also add any options you |
1164 |
|
|
need to the same line.) When Gentoo Linux boots, these modules will be automatically |
1165 |
|
|
loaded. Of particular importance is your ethernet card module, if you happened to compile |
1166 |
|
|
it as a module: |
1167 |
|
|
</p> |
1168 |
stocke2 |
1.29 |
<pre caption="/etc/modules.autoload"><comment>This is assuming that you are using a 3com card. |
1169 |
|
|
Check <path>/lib/modules/`uname -r`/kernel/drivers/net</path> for your card. </comment> |
1170 |
drobbins |
1.1 |
3c59x |
1171 |
zhen |
1.6 |
</pre> |
1172 |
zhen |
1.16 |
<p>Edit the <path>/etc/conf.d/net</path> script to get your network configured for your |
1173 |
zhen |
1.6 |
first boot: </p> |
1174 |
zhen |
1.16 |
<pre caption="Boottime Network Configuration"> |
1175 |
drobbins |
1.1 |
# <c>nano -w /etc/conf.d/net</c> |
1176 |
|
|
# <c>rc-update add net.eth0 default</c> |
1177 |
zhen |
1.6 |
</pre> |
1178 |
zhen |
1.16 |
<p>If you have multiple network cards you need to create additional <path>net.eth<comment>x</comment></path> |
1179 |
zhen |
1.6 |
scripts for each one (<comment>x</comment> = 1, 2, ...): </p> |
1180 |
zhen |
1.16 |
<pre caption="Multiple Network Interfaces"> |
1181 |
drobbins |
1.1 |
# <c>cd /etc/init.d</c> |
1182 |
|
|
# <c>cp net.eth0 net.eth<comment>x</comment></c> |
1183 |
|
|
# <c>rc-update add net.eth<comment>x</comment> default</c> |
1184 |
zhen |
1.6 |
</pre> |
1185 |
zhen |
1.16 |
<p>If you have a PCMCIA card installed, have a quick look into |
1186 |
zhen |
1.6 |
<path>/etc/init.d/pcmcia</path> to verify that things seem all right for your setup, |
1187 |
zhen |
1.45 |
then add this line to the top of <path>/etc/init.d/net.ethx</path>: |
1188 |
zhen |
1.6 |
</p> |
1189 |
zhen |
1.16 |
<pre caption="PCMCIA depend in /etc/init.d/net.ethx"> |
1190 |
drobbins |
1.1 |
depend() { |
1191 |
|
|
need pcmcia |
1192 |
|
|
} |
1193 |
zhen |
1.6 |
</pre> |
1194 |
zhen |
1.16 |
<p>This makes sure that the PCMCIA drivers are autoloaded whenever your network is loaded. |
1195 |
zhen |
1.10 |
</p> |
1196 |
zhen |
1.16 |
</body> |
1197 |
|
|
</section> |
1198 |
|
|
</chapter> |
1199 |
|
|
<chapter> |
1200 |
|
|
<title>Final steps: Configure Basic Settings (including the international keymap setting)</title> |
1201 |
|
|
<section> |
1202 |
|
|
<body> |
1203 |
|
|
<pre caption="Basic Configuration"> |
1204 |
drobbins |
1.1 |
# <c>nano -w /etc/rc.conf</c> |
1205 |
zhen |
1.6 |
</pre> |
1206 |
zhen |
1.16 |
<p>Follow the directions in the file to configure the basic settings. |
1207 |
zhen |
1.6 |
All users will want to make sure that <c>CLOCK</c> is set to his/her |
1208 |
|
|
liking. International keyboard users will want to set the <c>KEYMAP</c> |
1209 |
|
|
variable (browse <path>/usr/share/keymaps</path> to see the various |
1210 |
|
|
possibilities). |
1211 |
|
|
</p> |
1212 |
zhen |
1.16 |
</body> |
1213 |
|
|
</section> |
1214 |
|
|
</chapter> |
1215 |
|
|
<chapter> |
1216 |
zhen |
1.49 |
<title>Final steps: Configure a Bootloader</title> |
1217 |
|
|
<section> |
1218 |
|
|
<title>Notes</title> |
1219 |
|
|
<body> |
1220 |
|
|
<p> In the spirit of Gentoo, users now have more than one bootloader to choose from. |
1221 |
|
|
Using our virtual package system, users are now able to choose between both GRUB and |
1222 |
|
|
LILO as their bootloaders. |
1223 |
|
|
</p> |
1224 |
|
|
<p> Please keep in mind that having both bootloaders installed is not necessary. |
1225 |
|
|
In fact, it can be a hinderance, so please only choose one. |
1226 |
|
|
</p> |
1227 |
|
|
</body> |
1228 |
|
|
</section> |
1229 |
zhen |
1.16 |
<section> |
1230 |
zhen |
1.49 |
<title>Configuring GRUB</title> |
1231 |
zhen |
1.16 |
<body> |
1232 |
|
|
<p>The most critical part of understanding GRUB is getting comfortable with how GRUB |
1233 |
zhen |
1.6 |
refers to hard drives and partitions. Your Linux partition <path>/dev/hda1</path> is called |
1234 |
|
|
<path>(hd0,0)</path> under GRUB. Notice the parenthesis around the hd0,0 - they are required. |
1235 |
zhen |
1.16 |
Hard drives count from zero rather than "a", and partitions start at zero rather than one. |
1236 |
zhen |
1.6 |
Be aware too that with the hd devices, only harddrives are counted, not atapi-ide devices such as |
1237 |
|
|
cdrom players, burners, and that the same construct can be used with scsi drives. |
1238 |
|
|
(Normally they get higher numbers than ide drives except when the bios is configured |
1239 |
|
|
to boot from scsi devices.) Assuming you have a harddrive on /dev/hda, a cdrom player on /dev/hdb, |
1240 |
|
|
a burner on /dev/hdc and a second hardrive on /dev/hdd, for example, and no scsi harddrive |
1241 |
|
|
<path>/dev/hdd7</path> gets translated to <path>(hd1,6)</path>. |
1242 |
|
|
|
1243 |
|
|
It might sound tricky, and tricky it is indeed, but as we will see, grub |
1244 |
|
|
offers a tab completion mechanism that comes handy for those of you having |
1245 |
|
|
a lot of harddrives and partitions and who are a little lost in the |
1246 |
|
|
grub numbering scheme. Having gotten the feel for that, |
1247 |
|
|
it's time to install GRUB. |
1248 |
|
|
</p> |
1249 |
zhen |
1.16 |
<p>The easiest way to install GRUB is to simply type <c>grub</c> at your chrooted shell prompt: </p> |
1250 |
|
|
<pre caption="Installing GRUB"> |
1251 |
zhen |
1.51 |
# <c>emerge grub</c> |
1252 |
drobbins |
1.1 |
# <c>grub</c> |
1253 |
zhen |
1.6 |
</pre> |
1254 |
zhen |
1.16 |
<impo>If you are using hardware RAID this part will not work at |
1255 |
zhen |
1.6 |
this time. |
1256 |
|
|
Skip to the section on making your <path>grub.conf</path>. After that we will complete the |
1257 |
|
|
grub setup for RAID controllers |
1258 |
|
|
</impo> |
1259 |
zhen |
1.16 |
<p>You'll be presented with the <c>grub></c> grub |
1260 |
zhen |
1.6 |
command-line prompt. Now, you need to type in the |
1261 |
|
|
right commands to install the GRUB boot record onto your hard drive. In my example configuration, |
1262 |
|
|
I want to install the GRUB boot record on my hard drive's MBR (master boot record), so that |
1263 |
|
|
the first thing I see when I turn on the computer is the GRUB prompt. In my case, the commands |
1264 |
|
|
I want to type are: |
1265 |
|
|
</p> |
1266 |
zhen |
1.16 |
<pre caption="GRUB Commands"> |
1267 |
drobbins |
1.1 |
grub> <c>root (hd0,0)</c> |
1268 |
|
|
grub> <c>setup (hd0)</c> |
1269 |
zhen |
1.53 |
<comment>Alternatively, if you wanted to install the bootloader somewhere other than the MBR</comment> |
1270 |
|
|
grub> <c>setup (hd0) (hd0,4) </c> |
1271 |
|
|
<codenote>The second parameter above identifies the boot partition</codenote> |
1272 |
drobbins |
1.1 |
grub> <c>quit</c> |
1273 |
zhen |
1.6 |
</pre> |
1274 |
zhen |
1.16 |
<p>Here's how the two commands work. The first <c>root ( )</c> command tells GRUB |
1275 |
zhen |
1.6 |
the location of your boot partition (in our example, <path>/dev/hda1</path> or |
1276 |
|
|
<path>(hd0,0)</path> in GRUB terminology. Then, the second <c>setup ( ) |
1277 |
|
|
</c> command tells GRUB where to install the |
1278 |
|
|
boot record - it will be configured to look for its special files at the <c>root |
1279 |
|
|
( )</c> location that you specified. In my case, I want the boot record on the |
1280 |
|
|
MBR of the hard drive, so I simply specify <path>/dev/hda</path> (also known as <path>(hd0)</path>). |
1281 |
|
|
If I were using another boot loader and wanted to set up GRUB as a secondary boot-loader, I |
1282 |
|
|
could install GRUB to the boot record of a particular partition. In that case, |
1283 |
|
|
I'd specify a particular partition rather than the entire disk. Once the GRUB |
1284 |
|
|
boot record has been successfully installed, you can type <c>quit</c> to quit GRUB. |
1285 |
zhen |
1.52 |
</p> |
1286 |
zhen |
1.6 |
|
1287 |
|
|
<note> The tab completion mechanism of grub can be used from within grub, |
1288 |
|
|
assuming you wrote <c> root (</c> and that you hit the TAB key, you would |
1289 |
|
|
be prompted with a list of the available devices (not only harddrives), |
1290 |
|
|
hitting the TAB key having written <c> root (hd</c>, grub would print the |
1291 |
|
|
available harddrives and hitting the TAB key after writing <c> root (hd0,</c> |
1292 |
|
|
would make grub print the list of partitions on the first harddrive. |
1293 |
|
|
|
1294 |
|
|
Checking the syntax of the grub location with completion should really help |
1295 |
|
|
to make the right choice. |
1296 |
|
|
</note> |
1297 |
|
|
|
1298 |
zhen |
1.52 |
<p> |
1299 |
zhen |
1.6 |
Gentoo Linux is now |
1300 |
|
|
installed, but we need to create the <path>/boot/grub/grub.conf</path> file so that |
1301 |
|
|
we get a nice GRUB boot menu when the system reboots. Here's how to do it. |
1302 |
|
|
</p> |
1303 |
zhen |
1.16 |
<impo>To ensure backwards compatibility with GRUB, make sure to make a link from |
1304 |
zhen |
1.6 |
<i>grub.conf</i> to <i>menu.lst</i>. You can do this by doing |
1305 |
|
|
<c>ln -s /boot/grub/grub.conf /boot/grub/menu.lst </c>. </impo> |
1306 |
zhen |
1.16 |
<p>Now, create the grub.conf file (<c>nano -w /boot/grub/grub.conf</c>), and add the following to it: |
1307 |
zhen |
1.6 |
</p> |
1308 |
zhen |
1.16 |
<pre caption="Grub.conf for GRUB"> |
1309 |
drobbins |
1.1 |
default 0 |
1310 |
|
|
timeout 30 |
1311 |
|
|
splashimage=(hd0,0)/boot/grub/splash.xpm.gz |
1312 |
|
|
|
1313 |
|
|
title=My example Gentoo Linux |
1314 |
|
|
root (hd0,0) |
1315 |
zhen |
1.51 |
kernel (hd0,0)/boot/bzImage root=/dev/hda3 |
1316 |
drobbins |
1.1 |
|
1317 |
|
|
<comment> #Below is for setup using hardware RAID</comment> |
1318 |
|
|
title=My Gentoo Linux on RAID |
1319 |
|
|
root (hd0,0) |
1320 |
zhen |
1.51 |
kernel (hd0,0)/boot/bzImage root=/dev/ataraid/discX/partY |
1321 |
drobbins |
1.1 |
|
1322 |
|
|
<comment># Below needed only for people who dual-boot</comment> |
1323 |
|
|
title=Windows NT Workstation |
1324 |
|
|
root (hd0,5) |
1325 |
|
|
chainloader +1 |
1326 |
zhen |
1.6 |
</pre> |
1327 |
zhen |
1.16 |
<note> |
1328 |
zhen |
1.6 |
(hd0,0) should be written without any spaces inside the parentheses. |
1329 |
|
|
</note> |
1330 |
zhen |
1.16 |
<impo> |
1331 |
zhen |
1.6 |
If you set up scsi emulation for an IDE cd burner earlier, then to get it to |
1332 |
zhen |
1.16 |
actually work you need to add an "hdx=ide-scsi" fragment to the kernel |
1333 |
|
|
line in grub.conf (where "hdx" should be the device for your cd burner). |
1334 |
zhen |
1.6 |
</impo> |
1335 |
zhen |
1.16 |
<p>After saving this file, Gentoo Linux installation is complete. Selecting the first option will |
1336 |
zhen |
1.6 |
tell GRUB to boot Gentoo Linux without a fuss. The second part of the grub.conf file is optional, |
1337 |
|
|
and shows you how to use GRUB to boot a bootable Windows partition. |
1338 |
|
|
</p> |
1339 |
zhen |
1.16 |
<note>Above, <path>(hd0,0)</path> should point to your "boot" partition |
1340 |
zhen |
1.6 |
(<path>/dev/hda1</path> in our example config) and <path>/dev/hda3</path> should point to |
1341 |
|
|
your root filesystem. <path>(hd0,5)</path> contains the NT boot |
1342 |
|
|
loader. |
1343 |
zhware |
1.9 |
</note> |
1344 |
zhen |
1.16 |
<note> |
1345 |
zhware |
1.9 |
The path to the kernel image is relative to the boot partition. If for example you have separated boot partition <path>(hd0,0)</path> and root partition <path>(hd0,1)</path>, all paths in the grub.conf file above will become <path>/bzImage</path>. |
1346 |
zhen |
1.6 |
</note> |
1347 |
zhen |
1.16 |
<p>If you need to pass any additional options to the kernel, simply |
1348 |
zhen |
1.6 |
add them to the end of the <c>kernel</c> command. We're already passing one option |
1349 |
|
|
(<c>root=/dev/hda3</c>), but you can pass others as well. In particular, you can |
1350 |
|
|
turn off devfs by default (not recommended unless you know what you're doing) by |
1351 |
|
|
adding the <c>gentoo=nodevfs</c> option to the <c>kernel</c> command. |
1352 |
|
|
</p> |
1353 |
zhen |
1.16 |
<note>Unlike in earlier versions of Gentoo Linux, you no longer have to add |
1354 |
zhen |
1.6 |
<c>devfs=mount</c> to the end of the <c>kernel</c> line to enable devfs. In rc6 |
1355 |
|
|
devfs is enabled by default. |
1356 |
|
|
</note> |
1357 |
zhen |
1.16 |
</body> |
1358 |
|
|
</section> |
1359 |
zhen |
1.49 |
<section> |
1360 |
|
|
<title>Configuring LILO</title> |
1361 |
zhen |
1.16 |
<body> |
1362 |
drobbins |
1.21 |
<p>While GRUB may be the new alternative for most people, it is not always the best choice. |
1363 |
|
|
LILO, the LInuxLOader, is the tried and true workhorse of Linux bootloaders. Here's how to install |
1364 |
|
|
LILO if you would like to use it instead of GRUB: |
1365 |
zhen |
1.16 |
</p> |
1366 |
|
|
<p>The first step is to emerge LILO: |
1367 |
|
|
</p> |
1368 |
|
|
<pre caption="Emerging LILO"> |
1369 |
|
|
# <c>emerge lilo</c> |
1370 |
|
|
</pre> |
1371 |
|
|
<p>Now it is time to configure LILO. I will give you a small <i>lilo.conf</i> to use, and I will explain |
1372 |
|
|
the different parts of the file. |
1373 |
|
|
</p> |
1374 |
|
|
<pre caption="Example lilo.conf"> |
1375 |
|
|
boot=/dev/hda |
1376 |
|
|
map=/boot/map |
1377 |
|
|
install=/boot/boot.b |
1378 |
|
|
prompt |
1379 |
|
|
timeout=50 |
1380 |
|
|
message=/boot/message |
1381 |
|
|
lba32 |
1382 |
|
|
default=linux |
1383 |
|
|
|
1384 |
|
|
image=/boot/vmlinuz-2.4.20 |
1385 |
|
|
label=linux |
1386 |
|
|
initrd=/boot/initrd-2.4.20.img |
1387 |
|
|
read-only |
1388 |
|
|
root=/dev/hda5 |
1389 |
|
|
|
1390 |
|
|
#For dual booting windows/other OS |
1391 |
|
|
other=/dev/hda1 |
1392 |
|
|
label=dos |
1393 |
|
|
|
1394 |
|
|
</pre> |
1395 |
zhen |
1.52 |
<ul> |
1396 |
zhen |
1.16 |
<li><i>boot=/dev/hda</i> tells LILO to install itself on the first hard disk on the first IDE controller. </li> |
1397 |
|
|
<li><i>map=/boot/map</i> states the map file. In normal use, this should not be modified. </li> |
1398 |
|
|
<li><i>install=/boot/boot.b</i> tells LILO to install the specified file as the new boot sector. |
1399 |
|
|
In normal use, this should not be altered. If the install line is missing, LILO will |
1400 |
|
|
assume a default of /boot/boot.b as the file to be used. </li> |
1401 |
|
|
<li>The existence of <i>prompt</i> tells LILO to show you whatever is referenced in the message line. |
1402 |
|
|
While it is not recommended that you remove the prompt line, if you do remove it, you can still |
1403 |
|
|
get a prompt by holding down the [Shift] key while your machine starts to boot. </li> |
1404 |
|
|
<li><i>timeout=50</i> sets the amount of time that LILO will wait for user input before proceeding |
1405 |
|
|
with booting the default line entry. This is measured in tenths of a second, with 50 as the default. </li> |
1406 |
|
|
<li><i>message=/boot/message</i> refers to the screen that LILO displays to let you select the |
1407 |
|
|
operating system or kernel to boot. </li> |
1408 |
|
|
<li><i>lba32</i> describes the hard disk geometry to LILO. Another common entry here is linear. You should |
1409 |
|
|
not change this line unless you are very aware of what you are doing. Otherwise, you could put |
1410 |
|
|
your system in an unbootable state. </li> |
1411 |
|
|
<li><i>default=linux</i> refers to the default operating system for LILO to boot from the |
1412 |
|
|
options listed below this line. The name linux refers to the label line below in each of the boot options. </li> |
1413 |
|
|
<li><i>image=/boot/vmlinuz-2.4.20</i> specifies the linux kernel to boot with this particular boot option. </li> |
1414 |
|
|
<li><i>label=linux</i> names the operating system option in the LILO screen. In this case, |
1415 |
|
|
it is also the name referred to by the default line. </li> |
1416 |
|
|
<li><i>initrd=/boot/initrd-2.4.20.img</i> refers to the initial ram disk image that is used at boot time |
1417 |
|
|
to actually initialize and start the devices that makes booting the kernel possible. The initial |
1418 |
|
|
ram disk is a collection of machine-specific drivers necessary to operate a SCSI card, hard drive, or any |
1419 |
|
|
other device needed to load the kernel. You should never try to share initial ram disks between machines. </li> |
1420 |
|
|
<li><i>read-only</i> specifies that the root partition (see the root line below) is read-only and cannot be |
1421 |
|
|
altered during the boot process. </li> |
1422 |
|
|
<li><i>root=/dev/hda5</i> tells LILO what disk partition to use as the root partition. </li> |
1423 |
zhen |
1.52 |
</ul> |
1424 |
zhen |
1.16 |
<note>Thanks to <uri link="http://www.redhat.com">Redhat.com</uri> for this information. |
1425 |
|
|
</note> |
1426 |
|
|
<p>After you have edited your <i>lilo.conf</i> file, it is time to run LILO to load the information |
1427 |
|
|
into the MBR: |
1428 |
|
|
</p> |
1429 |
|
|
<pre caption="Running LILO"> |
1430 |
|
|
# <c>/sbin/lilo</c> |
1431 |
|
|
</pre> |
1432 |
|
|
<p>LILO is configured, and now your machine is ready to boot into Gentoo Linux! |
1433 |
|
|
</p> |
1434 |
|
|
</body> |
1435 |
|
|
</section> |
1436 |
|
|
</chapter> |
1437 |
|
|
<chapter> |
1438 |
|
|
<title>Final steps: Bootdisks</title> |
1439 |
|
|
<section> |
1440 |
|
|
<title>GRUB Bootdisks</title> |
1441 |
|
|
<body> |
1442 |
drobbins |
1.21 |
<p>It is always a good idea to make a boot disk the first |
1443 |
zhen |
1.16 |
time you install any Linux distribution. This is a security |
1444 |
drobbins |
1.21 |
blanket, and generally not a bad thing to do. If you are using some kinds of hardware RAID, you may <e>need</e> make a GRUB boot |
1445 |
|
|
disk. With these types of hardware RAID, |
1446 |
|
|
if you try to install grub from your chrooted shell it will fail. If you are in this camp, |
1447 |
|
|
make a GRUB |
1448 |
|
|
boot disk, and when you reboot the first time you can install GRUB |
1449 |
zhen |
1.6 |
to the MBR. Make your |
1450 |
|
|
bootdisk like this: |
1451 |
|
|
</p> |
1452 |
zhen |
1.16 |
<pre caption="Creating a GRUB Bootdisk"> |
1453 |
drobbins |
1.1 |
# <c>mke2fs /dev/fd0</c> |
1454 |
|
|
# <c>mount /dev/fd0 /mnt/floppy</c> |
1455 |
|
|
# <c>mkdir -p /mnt/floppy/boot/grub</c> |
1456 |
|
|
# <c>cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub/</c> |
1457 |
|
|
# <c>cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub/</c> |
1458 |
|
|
|
1459 |
|
|
# <c>grub</c> |
1460 |
|
|
|
1461 |
|
|
grub> <c>root (fd0)</c> |
1462 |
|
|
grub> <c>setup (fd0)</c> |
1463 |
|
|
grub> <c>quit</c> |
1464 |
zhen |
1.6 |
</pre> |
1465 |
zhen |
1.26 |
<p>Now reboot and load the floppy. At the floppy's <c>grub></c> prompt, you can now execute the necessary <c>root</c> |
1466 |
drobbins |
1.21 |
and <c>setup</c> commands.</p> |
1467 |
zhen |
1.16 |
</body> |
1468 |
|
|
</section> |
1469 |
|
|
<section> |
1470 |
|
|
<title>LILO Bootdisks</title> |
1471 |
|
|
<body> |
1472 |
|
|
<p>If you are using LILO, it is also a good idea to make a bootdisk: |
1473 |
|
|
</p> |
1474 |
zhen |
1.18 |
<pre caption="Making a LILO Bootdisk"> |
1475 |
|
|
# <c>dd if=/boot/your_kernel of=/dev/fd0 </c> |
1476 |
|
|
<comment>This will only work if your kernel is smaller than 1.4MB</comment> |
1477 |
|
|
</pre> |
1478 |
zhen |
1.16 |
</body> |
1479 |
|
|
</section> |
1480 |
|
|
</chapter> |
1481 |
|
|
<chapter> |
1482 |
|
|
<title>Installation Complete!</title> |
1483 |
|
|
<section> |
1484 |
|
|
<body> |
1485 |
|
|
<p>Now, Gentoo Linux is installed. The only remaining step is to exit the chrooted shell, |
1486 |
zhen |
1.6 |
udpate necessary configuration files, |
1487 |
|
|
safely unmount your partitions |
1488 |
|
|
and reboot the system: |
1489 |
|
|
</p> |
1490 |
zhen |
1.16 |
<pre caption="Rebooting the System"> |
1491 |
drobbins |
1.1 |
# <c>etc-update</c> |
1492 |
|
|
# <c>exit</c> |
1493 |
|
|
<codenote>This exits the chrooted shell; you can also type <c>^D</c></codenote> |
1494 |
|
|
# <c>cd / </c> |
1495 |
|
|
# <c>umount /mnt/gentoo/boot</c> |
1496 |
|
|
# <c>umount /mnt/gentoo/proc</c> |
1497 |
drobbins |
1.36 |
# <c>umount /mnt/gentoo/dev</c> |
1498 |
drobbins |
1.1 |
# <c>umount /mnt/gentoo</c> |
1499 |
|
|
# <c>reboot</c> |
1500 |
zhen |
1.6 |
</pre> |
1501 |
zhen |
1.16 |
<note> |
1502 |
zhen |
1.6 |
After rebooting, it is a good idea to run the <c>update-modules</c> command to create |
1503 |
|
|
the <path>/etc/modules.conf</path> file. Instead of modifying this file directly, you should |
1504 |
|
|
generally make changes to the files in <path>/etc/modules.d</path>. |
1505 |
|
|
</note> |
1506 |
zhen |
1.16 |
<impo>Remember if you are running hardware RAID, you must |
1507 |
zhen |
1.6 |
use the bootdisk for the first reboot. |
1508 |
|
|
then go back and install grub the way everyone else did the first |
1509 |
drobbins |
1.21 |
time. You are done -- congratulations!</impo> |
1510 |
zhen |
1.16 |
<p>If you have any questions or would like to get involved with Gentoo Linux development, |
1511 |
zhen |
1.6 |
consider joining our gentoo-user and gentoo-dev mailing lists |
1512 |
zhen |
1.16 |
(there's a "click to subscribe" link on our <uri link="http://www.gentoo.org">main page</uri>). |
1513 |
zhen |
1.6 |
We also have a handy <uri link="http://www.gentoo.org/doc/en/desktop.xml">Desktop configuration guide</uri> |
1514 |
|
|
that will |
1515 |
|
|
help you to continue configuring your new Gentoo Linux system, and a useful |
1516 |
|
|
<uri link="http://www.gentoo.org/doc/en/portage-user.xml">Portage user guide</uri> |
1517 |
|
|
to help familiarize you with Portage basics. You can find the rest of the Gentoo Documentation |
1518 |
zhen |
1.16 |
<uri link="http://www.gentoo.org/main/en/docs.xml">here</uri>. If you have any other questions |
1519 |
zhen |
1.10 |
involving installation or anything for that matter, please check the Gentoo Linux |
1520 |
zhen |
1.16 |
<uri link="http://www.gentoo.org/doc/en/faq.xml">FAQ</uri>. |
1521 |
zhen |
1.6 |
Enjoy and welcome to Gentoo Linux! |
1522 |
|
|
</p> |
1523 |
zhen |
1.16 |
</body> |
1524 |
|
|
</section> |
1525 |
|
|
</chapter> |
1526 |
|
|
<chapter> |
1527 |
|
|
<title>Gentoo-Stats</title> |
1528 |
|
|
<section> |
1529 |
|
|
<body> |
1530 |
|
|
<p>The Gentoo Linux usage statistics program was started as an attempt to give the developers |
1531 |
zhen |
1.6 |
a way to find out about their user base. It collects information about Gentoo Linux usage to help |
1532 |
|
|
us in set priorities our development. Installing it is completely optional, and it would be greatly |
1533 |
|
|
appreciated if you decide to use it. Compiled statistics can be viewed at <uri>http://stats.gentoo.org/</uri>. |
1534 |
|
|
</p> |
1535 |
zhen |
1.16 |
<p>The gentoo-stats server will assign a unique ID to your system. |
1536 |
zhen |
1.6 |
This ID is used to make sure that each system is counted only once. The ID will not be used |
1537 |
|
|
to individually identify your system, nor will it be mached against an IP address or |
1538 |
|
|
other personal information. Every precaution has been taken to assure your privacy in the |
1539 |
|
|
development of this system. The following are the things that we are monitoring |
1540 |
zhen |
1.16 |
right now through our "gentoo-stats" program: |
1541 |
zhen |
1.6 |
</p> |
1542 |
zhen |
1.16 |
<ul> |
1543 |
|
|
<li>installed packages and their version numbers</li> |
1544 |
|
|
<li>CPU information: speed (MHz), vendor name, model name, CPU flags (like "mmx" or "3dnow")</li> |
1545 |
|
|
<li>memory information (total available physical RAM, total available swap space)</li> |
1546 |
|
|
<li>PCI cards and network controller chips</li> |
1547 |
|
|
<li>the Gentoo Linux profile your machine is using (that is, where the /etc/make.profile link is pointing to).</li> |
1548 |
|
|
</ul> |
1549 |
|
|
<p>We are aware that disclosure of sensitive information is a threat to most Gentoo Linux users |
1550 |
zhen |
1.6 |
(just as it is to the developers). |
1551 |
|
|
</p> |
1552 |
zhen |
1.16 |
<ul> |
1553 |
|
|
<li>Unless you modify the gentoo-stats program, it will never transmit sensitive |
1554 |
zhen |
1.6 |
information such as your passwords, configuration data, shoe size...</li> |
1555 |
zhen |
1.16 |
<li>Transmission of your e-mail addresses is optional and turned off by default.</li> |
1556 |
|
|
<li>The IP address your data transmission originates from will never be logged |
1557 |
|
|
in such a way that we can identify you. There are no "IP address/system ID" pairs.</li> |
1558 |
|
|
</ul> |
1559 |
|
|
<p>The installation is easy - just run the following commands: |
1560 |
zhen |
1.6 |
</p> |
1561 |
zhen |
1.16 |
<pre caption="Installing gentoo-stats"> |
1562 |
drobbins |
1.1 |
# <c>emerge gentoo-stats</c> <codenote>Installs gentoo-stats</codenote> |
1563 |
|
|
# <c>gentoo-stats --new</c> <codenote>Obtains a new system ID</codenote> |
1564 |
zhen |
1.6 |
</pre> |
1565 |
zhen |
1.16 |
<p>The second command above will request a new system ID and enter it into |
1566 |
zhen |
1.6 |
<path>/etc/gentoo-stats/gentoo-stats.conf</path> automatically. You can view this file |
1567 |
|
|
to see additional configuration options. |
1568 |
|
|
</p> |
1569 |
zhen |
1.16 |
<p>After that, the program should be run on a regular schedule |
1570 |
zhen |
1.6 |
(gentoo-stats does not have to be run as root). Add this line to your <path>crontab</path>: |
1571 |
|
|
</p> |
1572 |
zhen |
1.16 |
<pre caption="Updating gentoo-stats with cron"> |
1573 |
|
|
<c>0 0 * * 0,4 /usr/sbin/gentoo-stats --update > /dev/null</c> |
1574 |
|
|
</pre> |
1575 |
|
|
<p>The <c>gentoo-stats</c> program is a simple perl script which can be |
1576 |
zhen |
1.6 |
viewed with your favortive pager or editor: <path>/usr/sbin/gentoo-stats</path>. </p> |
1577 |
zhen |
1.16 |
</body> |
1578 |
|
|
</section> |
1579 |
|
|
</chapter> |
1580 |
drobbins |
1.1 |
</guide> |