summaryrefslogtreecommitdiffstats
path: root/slackbook/html/system-configuration.html
blob: 2c88375a6356b9f679e49851c6a8b02bf926d2d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title>System Configuration</title>
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
<link rel="PREVIOUS" title="The setup Program" href="installation-setup.html" />
<link rel="NEXT" title="Selecting a Kernel" href="system-configuration-kernel.html" />
<link rel="STYLESHEET" type="text/css" href="docbook.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
cellspacing="0">
<tr>
<th colspan="3" align="center">Slackware Linux Essentials</th>
</tr>

<tr>
<td width="10%" align="left" valign="bottom"><a href="installation-setup.html"
accesskey="P">Prev</a></td>
<td width="80%" align="center" valign="bottom"></td>
<td width="10%" align="right" valign="bottom"><a href="system-configuration-kernel.html"
accesskey="N">Next</a></td>
</tr>
</table>

<hr align="LEFT" width="100%" />
</div>

<div class="CHAPTER">
<h1><a id="SYSTEM-CONFIGURATION" name="SYSTEM-CONFIGURATION"></a>Chapter 4 System
Configuration</h1>

<div class="TOC">
<dl>
<dt><b>Table of Contents</b></dt>

<dt>4.1 <a href="system-configuration.html#SYSTEM-CONFIGURATION-OVERVIEW">System
Overview</a></dt>

<dt>4.2 <a href="system-configuration-kernel.html">Selecting a Kernel</a></dt>
</dl>
</div>

<p>Before you can configure the more advanced parts of your system, it's a good idea to
learn how the system is organized and what commands can be used to search for files and
programs. It's also good to know if you need to compile a custom kernel and what the
steps for doing that are. This chapter will familiarize you with system organization and
configuration files. Then, you can move on to configuring the more advanced parts of the
system.</p>

<div class="SECT1">
<h1 class="SECT1"><a id="SYSTEM-CONFIGURATION-OVERVIEW"
name="SYSTEM-CONFIGURATION-OVERVIEW">4.1 System Overview</a></h1>

<p>It's important to understand how a Linux system is put together before diving into the
various configuration aspects. A Linux system is significantly different from a DOS,
Windows, or Macintosh system (with the exception of the Unix-based Mac OS X), but these
sections will help you get acquainted with the layout so that you can easily configure
your system to meet your needs.</p>

<div class="SECT2">
<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-LAYOUT"
name="SYSTEM-CONFIGURATION-LAYOUT">4.1.1 File System Layout</a></h2>

<p>The first noticeable difference between Slackware Linux and a DOS or Windows system is
the filesystem. For starters, we do not use drive letters to denote different partitions.
Under Linux, there is one main directory. You can relate this to the <tt
class="DEVICENAME">C:</tt> drive under DOS. Each partition on your system is mounted to a
directory on the main directory. It's kind of like an ever-expanding hard disk.</p>

<p>We call the main directory the root directory, and it's denoted with a single slash
(<tt class="FILENAME">/</tt>). This concept may seem strange, but it actually makes life
easy for you when you want to add more space. For example, let's say you run out of space
on the drive that has <tt class="FILENAME">/home</tt> on it. Most people install
Slackware and make one big root drive. Well, since a partition can be mounted to any
directory, you can simply go to the store and pick up a new hard drive and mount it to
<tt class="FILENAME">/home</tt>. You've now grafted on some more space to your system.
And all without having to move many things around.</p>

<p>Below, you will find descriptions of the major top level directories under
Slackware.</p>

<div class="VARIABLELIST">
<dl>
<dt><tt class="FILENAME">bin</tt></dt>

<dd>
<p>Essential user programs are stored here. These represent the bare minimum set of
programs required for a user to use the system. Things like the shell and the filesystem
commands (<tt class="COMMAND">ls</tt>, <tt class="COMMAND">cp</tt>, and so on) are stored
here. The <tt class="FILENAME">/bin</tt> directory usually doesn't receive modification
after installation. If it does, it's usually in the form of package upgrades that we
provide.</p>
</dd>

<dt><tt class="FILENAME">boot</tt></dt>

<dd>
<p>Files that are used by the Linux Loader (LILO). This directory also receives little
modification after an installation. The kernel is stored here as of Slackware 8.1. In
earlier releases of Slackware, the kernel was simply stored under <tt
class="FILENAME">/</tt> , but common practice is to put the kernel and related files here
to facilitate dual-booting.</p>
</dd>

<dt><tt class="FILENAME">dev</tt></dt>

<dd>
<p>Everything in Linux is treated as a file, even hardware devices like serial ports,
hard disks, and scanners. In order to access these devices, a special file called a
device node has to be present. All device nodes are stored in the <tt
class="FILENAME">/dev</tt> directory. You will find this to be true across many Unix-like
operating systems.</p>
</dd>

<dt><tt class="FILENAME">etc</tt></dt>

<dd>
<p>This directory holds system configuration files. Everything from the X Window
configuration file, the user database, to the system startup scripts. The system
administrator will become quite familiar with this directory over time.</p>
</dd>

<dt><tt class="FILENAME">home</tt></dt>

<dd>
<p>Linux is a multiuser operating system. Each user on the system is given an account and
a unique directory for personal files. This directory is called the user's home
directory. The <tt class="FILENAME">/home</tt> directory is provided as the default
location for user home directories.</p>
</dd>

<dt><tt class="FILENAME">lib</tt></dt>

<dd>
<p>System libraries that are required for basic operation are stored here. The C library,
the dynamic loader, the ncurses library, and kernel modules are among the things stored
here.</p>
</dd>

<dt><tt class="FILENAME">mnt</tt></dt>

<dd>
<p>This directory contains temporary mount points for working on hard disks or removable
drives. Here you'll find mount points for your CD-ROM and floppy drives.</p>
</dd>

<dt><tt class="FILENAME">opt</tt></dt>

<dd>
<p>Optional software packages. The idea behind <tt class="FILENAME">/opt</tt> is that
each software package installs to <tt class="FILENAME">/opt/<var
class="REPLACEABLE">software-package</var></tt>, which makes it easy to remove later.
Slackware distributes some things in <tt class="FILENAME">/opt</tt> (such as KDE in <tt
class="FILENAME">/opt/kde</tt>), but you are free to add anything you want to <tt
class="FILENAME">/opt</tt>.</p>
</dd>

<dt><tt class="FILENAME">proc</tt></dt>

<dd>
<p>This is a unique directory. It's not really part of the filesystem, but a virtual
filesystem that provides access to kernel information. Various pieces of information that
the kernel wants you to know are conveyed to you through files in the <tt
class="FILENAME">/proc</tt> directory. You can also send information to the kernel
through some of these files. Try doing <tt class="COMMAND">cat /proc/cpuinfo</tt>.</p>
</dd>

<dt><tt class="FILENAME">root</tt></dt>

<dd>
<p>The system administrator is known as <tt class="USERNAME">root</tt> on the system. <tt
class="USERNAME">root</tt>'s home directory is kept in <tt class="FILENAME">/root</tt>
instead of <tt class="FILENAME">/home/root</tt>. The reason is simple. What if <tt
class="FILENAME">/home</tt> was a different partition from <tt class="FILENAME">/</tt>
and it could not be mounted? <tt class="USERNAME">root</tt> would naturally want to log
in and repair the problem. If his home directory was on the damaged filesystem, it would
make it difficult for him to log in.</p>
</dd>

<dt><tt class="FILENAME">sbin</tt></dt>

<dd>
<p>Essential programs that are run by <tt class="USERNAME">root</tt> and during the
system bootup process are kept here. Normal users will not run programs in this
directory.</p>
</dd>

<dt><tt class="FILENAME">tmp</tt></dt>

<dd>
<p>The temporary storage location. All users have read and write access to this
directory.</p>
</dd>

<dt><tt class="FILENAME">usr</tt></dt>

<dd>
<p>This is the big directory on a Linux system. Everything else pretty much goes here,
programs, documentation, the kernel source code, and the X Window system. This is the
directory to which you will most likely be installing programs.</p>
</dd>

<dt><tt class="FILENAME">var</tt></dt>

<dd>
<p>System log files, cache data, and program lock files are stored here. This is the
directory for frequently-changing data.</p>
</dd>
</dl>
</div>

<p>You should now have a good feel for which directories contain what on the filesystem.
More detailed information about the filesystem layout is available in the hier(7) man
page. The next section will help you find specific files easily, so you don't have to do
it by hand.</p>
</div>

<div class="SECT2">
<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-FINDING"
name="SYSTEM-CONFIGURATION-FINDING">4.1.2 Finding Files</a></h2>

<p>You now know what each major directory holds, but it still doesn't really help you
find things. I mean, you could go looking through directories, but there are quicker
ways. There are four main file search commands available in Slackware.</p>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1329" name="AEN1329">4.1.2.1 <tt
class="COMMAND">which</tt></a></h3>

<p>The first is the <tt class="COMMAND">which</tt>(1) command. <tt
class="COMMAND">which</tt> is usually used to locate a program quickly. It just searches
your <tt class="ENVAR">PATH</tt> and returns the first instance it finds and the
directory path to it. Take this example:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp>  <kbd class="USERINPUT">which bash</kbd>
/bin/bash
</pre>
</td>
</tr>
</table>

<p>From that you see that <tt class="COMMAND">bash</tt> is in the <tt
class="FILENAME">/bin</tt> directory. This is a very limited command for searching, since
it only searches your <tt class="ENVAR">PATH</tt>.</p>
</div>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1347" name="AEN1347">4.1.2.2 <tt
class="COMMAND">whereis</tt></a></h3>

<p>The <tt class="COMMAND">whereis</tt>(1) command works similar to <tt
class="COMMAND">which</tt>, but can also search for man pages and source files. A <tt
class="COMMAND">whereis</tt> search for <tt class="COMMAND">bash</tt> should return
this:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp>  <kbd class="USERINPUT">whereis bash</kbd>
bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
</pre>
</td>
</tr>
</table>

<p>This command not only told us where the actual program is located, but also where the
online documentation is stored. Still, this command is limited. What if you wanted to
search for a specific configuration file? You can't use <tt class="COMMAND">which</tt> or
<tt class="COMMAND">whereis</tt> for that.</p>
</div>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1363" name="AEN1363">4.1.2.3 <tt
class="COMMAND">find</tt></a></h3>

<p>The <tt class="COMMAND">find</tt>(1) command allows the user to search the filesystem
with a rich collection of search predicates. Users may specify a search with filename
wildcards, ranges of modification or creation times, or other advanced properties. For
example, to search for the default <tt class="FILENAME">xinitrc</tt> file on the system,
the following command could be used.</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp>  <kbd class="USERINPUT">find / -name xinitrc</kbd>
/var/X11R6/lib/xinit/xinitrc
</pre>
</td>
</tr>
</table>

<p><tt class="COMMAND">find</tt> will take a while to run, since it has to traverse the
entire root directory tree. And if this command is run as a normal user, there will be
permission denied error messages for directories that only <tt class="USERNAME">root</tt>
can see. But <tt class="COMMAND">find</tt> found our file, so that's good. If only it
could be a bit faster...</p>
</div>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1378" name="AEN1378">4.1.2.4 <tt
class="COMMAND">slocate</tt></a></h3>

<p>The <tt class="COMMAND">slocate</tt>(1) command searches the entire filesystem, just
like the find command can do, but it searches a database instead of the actual
filesystem. The database is set to automatically update every morning, so you have a
somewhat fresh listing of files on your system. You can manually run <tt
class="COMMAND">updatedb</tt>(1) to update the slocate database (before running <tt
class="COMMAND">updatedb</tt> by hand, you must first <tt class="COMMAND">su</tt> to the
<tt class="USERNAME">root</tt> user). Here's an example of <tt
class="COMMAND">slocate</tt> in action:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp>  <kbd
class="USERINPUT">slocate xinitrc</kbd>   # we don't have to go to the root
/var/X11R6/lib/xinit/xinitrc
/var/X11R6/lib/xinit/xinitrc.fvwm2
/var/X11R6/lib/xinit/xinitrc.openwin
/var/X11R6/lib/xinit/xinitrc.twm
</pre>
</td>
</tr>
</table>

<p>We got more than what we were looking for, and quickly too. With these commands, you
should be able to find whatever you're looking for on your Linux system.</p>
</div>
</div>

<div class="SECT2">
<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-RCD" name="SYSTEM-CONFIGURATION-RCD">4.1.3
The <tt class="FILENAME">/etc/rc.d</tt> Directory</a></h2>

<p>The system initialization files are stored in the <tt class="FILENAME">/etc/rc.d</tt>
directory. Slackware uses the BSD-style layout for its initialization files as opposed to
System V init scripts, which tend to make configuration changes much more difficult
without using a program specifically designed for that purpose. In BSD-init scripts, each
runlevel is given a single rc file. In System V, each runlevel is given its own
directory, each containing numerous init scripts. This provides an organized structure
that is easy to maintain.</p>

<p>There are several categories of initialization files. These are system startup,
runlevels, network initialization, and System V compatibility. As per tradition, we'll
lump everything else into another category.</p>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1406" name="AEN1406">4.1.3.1 System Startup</a></h3>

<p>The first program to run under Slackware besides the Linux kernel is <tt
class="COMMAND">init</tt>(8). This program reads the <tt
class="FILENAME">/etc/inittab</tt>(5) file to see how to run the system. It runs the <tt
class="FILENAME">/etc/rc.d/rc.S</tt> script to prepare the system before going into your
desired runlevel. The <tt class="FILENAME">rc.S</tt> file enables your virtual memory,
mounts your filesystems, cleans up certain log directories, initializes Plug and Play
devices, loads kernel modules, configures PCMCIA devices, sets up serial ports, and runs
System V init scripts (if found). Obviously <tt class="FILENAME">rc.S</tt> has a lot on
its plate, but here are some scripts in <tt class="FILENAME">/etc/rc.d</tt> that <tt
class="FILENAME">rc.S</tt> will call on to complete its work:</p>

<div class="VARIABLELIST">
<dl>
<dt><tt class="FILENAME">rc.S</tt></dt>

<dd>
<p>This is the actual system initialization script.</p>
</dd>

<dt><tt class="FILENAME">rc.modules</tt></dt>

<dd>
<p>Loads kernel modules. Things like your network card, PPP support, and other things are
loaded here. If this script finds <tt class="FILENAME">rc.netdevice</tt>, it will run
that as well.</p>
</dd>

<dt><tt class="FILENAME">rc.pcmcia</tt></dt>

<dd>
<p>Probes for and configures any PCMCIA devices that you might have on your system. This
is most useful for laptop users, who probably have a PCMCIA modem or network card.</p>
</dd>

<dt><tt class="FILENAME">rc.serial</tt></dt>

<dd>
<p>Configures your serial ports by running the appropriate <tt
class="COMMAND">setserial</tt> commands.</p>
</dd>

<dt><tt class="FILENAME">rc.sysvinit</tt></dt>

<dd>
<p>Looks for System V init scripts for the desired runlevel and runs them. This is
discussed in more detail below.</p>
</dd>
</dl>
</div>
</div>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1454" name="AEN1454">4.1.3.2 Runlevel Initialization
Scripts</a></h3>

<p>After system initialization is complete, <tt class="COMMAND">init</tt> moves on to
runlevel initialization. A runlevel describes the state that your machine will be running
in. Sound redundant? Well, the runlevel tells <tt class="COMMAND">init</tt> if you will
be accepting multiuser logins or just a single user, whether or not you want network
services, and if you will be using the X Window System or <tt
class="COMMAND">agetty</tt>(8) to handle logins. The files below define the different
runlevels in Slackware Linux.</p>

<div class="VARIABLELIST">
<dl>
<dt><tt class="FILENAME">rc.0</tt></dt>

<dd>
<p>Halt the system (runlevel 0). By default, this is symlinked to <tt
class="FILENAME">rc.6</tt>.</p>
</dd>

<dt><tt class="FILENAME">rc.4</tt></dt>

<dd>
<p>Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login
manager.</p>
</dd>

<dt><tt class="FILENAME">rc.6</tt></dt>

<dd>
<p>Reboot the system (runlevel 6).</p>
</dd>

<dt><tt class="FILENAME">rc.K</tt></dt>

<dd>
<p>Startup in single user mode (runlevel 1).</p>
</dd>

<dt><tt class="FILENAME">rc.M</tt></dt>

<dd>
<p>Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is
the default runlevel in Slackware.</p>
</dd>
</dl>
</div>
</div>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1493" name="AEN1493">4.1.3.3 Network Initialization</a></h3>

<p>Runlevels 2, 3, and 4 will start up the network services. The following files are
responsible for the network initialization:</p>

<div class="VARIABLELIST">
<dl>
<dt><tt class="FILENAME">rc.inet1</tt></dt>

<dd>
<p>Created by <tt class="COMMAND">netconfig</tt>, this file is responsible for
configuring the actual network interface.</p>
</dd>

<dt><tt class="FILENAME">rc.inet2</tt></dt>

<dd>
<p>Runs after <tt class="FILENAME">rc.inet1</tt> and starts up basic network
services.</p>
</dd>

<dt><tt class="FILENAME">rc.atalk</tt></dt>

<dd>
<p>Starts up AppleTalk services.</p>
</dd>

<dt><tt class="FILENAME">rc.httpd</tt></dt>

<dd>
<p>Starts up the Apache web server. Like a few other rc scripts, this one can also be
used to stop and restart a service. <tt class="FILENAME">rc.httpd</tt> takes arguments of
stop, start, or restart. &#13;</p>
</dd>

<dt><tt class="FILENAME">rc.news</tt></dt>

<dd>
<p>Starts up the news server.</p>
</dd>
</dl>
</div>
</div>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1534" name="AEN1534">4.1.3.4 System V Compatibility</a></h3>

<p>System V init compatibility was introduced in Slackware 7.0. Many other Linux
distributions make use of this style instead of the BSD style. Basically each runlevel is
given a subdirectory for init scripts, whereas BSD style gives one init script to each
runlevel.</p>

<p>The <tt class="FILENAME">rc.sysvinit</tt> script will search for any System V init
scripts you have in <tt class="FILENAME">/etc/rc.d</tt> and run them, if the runlevel is
appropriate. This is useful for certain commercial software packages that install System
V init scripts</p>
</div>

<div class="SECT3">
<h3 class="SECT3"><a id="AEN1546" name="AEN1546">4.1.3.5 Other Files</a></h3>

<p>The scripts described below are the other system initialization scripts. They are
typically run from one of the major scripts above, so all you need to do is edit the
contents.</p>

<div class="VARIABLELIST">
<dl>
<dt><tt class="FILENAME">rc.gpm</tt></dt>

<dd>
<p>Starts up general purpose mouse services. Allows you to copy and paste at the Linux
console. Occasionally, gpm will cause problems with the mouse when it is used under X
windows. If you experience problems with the mouse under X, try taking away the
executable permission from this file and stopping the gpm server.</p>
</dd>

<dt><tt class="FILENAME">rc.font</tt></dt>

<dd>
<p>Loads the custom screen font for the console.</p>
</dd>

<dt><tt class="FILENAME">rc.local</tt></dt>

<dd>
<p>Contains any specific startup commands for your system. This is empty after a fresh
install, as it is reserved for local administrators. This script is run after all other
initialization has taken place.</p>
</dd>
</dl>
</div>

<p>To enable a script, all you need to do is add the execute permissions to it with the
<tt class="COMMAND">chmod</tt> command. To disable a script, remove the execute
permissions from it. For more information about <tt class="COMMAND">chmod</tt>, see <a
href="filesystem-structure-permissions.html">Section 9.2</a>.</p>
</div>
</div>
</div>
</div>

<div class="NAVFOOTER">
<hr align="LEFT" width="100%" />
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="33%" align="left" valign="top"><a href="installation-setup.html"
accesskey="P">Prev</a></td>
<td width="34%" align="center" valign="top"><a href="index.html"
accesskey="H">Home</a></td>
<td width="33%" align="right" valign="top"><a href="system-configuration-kernel.html"
accesskey="N">Next</a></td>
</tr>

<tr>
<td width="33%" align="left" valign="top">The <tt class="COMMAND">setup</tt> Program</td>
<td width="34%" align="center" valign="top">&nbsp;</td>
<td width="33%" align="right" valign="top">Selecting a Kernel</td>
</tr>
</table>
</div>
</body>
</html>