1 |
1275 |
phoenix |
Intro
|
2 |
|
|
=====
|
3 |
|
|
|
4 |
|
|
This document is designed to provide a list of the minimum levels of
|
5 |
|
|
software necessary to run the 2.4 kernels, as well as provide brief
|
6 |
|
|
instructions regarding any other "Gotchas" users may encounter when
|
7 |
|
|
trying life on the Bleeding Edge. If upgrading from a pre-2.2.x
|
8 |
|
|
kernel, please consult the Changes file included with 2.2.x kernels for
|
9 |
|
|
additional information; most of that information will not be repeated
|
10 |
|
|
here. Basically, this document assumes that your system is already
|
11 |
|
|
functional and running at least 2.2.x kernels.
|
12 |
|
|
|
13 |
|
|
This document is originally based on my "Changes" file for 2.0.x kernels
|
14 |
|
|
and therefore owes credit to the same people as that file (Jared Mauch,
|
15 |
|
|
Axel Boldt, Alessandro Sigala, and countless other users all over the
|
16 |
|
|
'net).
|
17 |
|
|
|
18 |
|
|
The latest revision of this document, in various formats, can always
|
19 |
|
|
be found at .
|
20 |
|
|
|
21 |
|
|
Feel free to translate this document. If you do so, please send me a
|
22 |
|
|
URL to your translation for inclusion in future revisions of this
|
23 |
|
|
document.
|
24 |
|
|
|
25 |
|
|
Smotrite file , yavlyaushisya
|
26 |
|
|
russkim perevodom dannogo documenta.
|
27 |
|
|
|
28 |
|
|
Visite para obtener la traducción
|
29 |
|
|
al español de este documento en varios formatos.
|
30 |
|
|
|
31 |
|
|
Eine deutsche Version dieser Datei finden Sie unter
|
32 |
|
|
.
|
33 |
|
|
|
34 |
|
|
Last updated: February 13, 2002
|
35 |
|
|
|
36 |
|
|
Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).
|
37 |
|
|
|
38 |
|
|
Current Minimal Requirements
|
39 |
|
|
============================
|
40 |
|
|
|
41 |
|
|
Upgrade to at *least* these software revisions before thinking you've
|
42 |
|
|
encountered a bug! If you're unsure what version you're currently
|
43 |
|
|
running, the suggested command should tell you.
|
44 |
|
|
|
45 |
|
|
Again, keep in mind that this list assumes you are already
|
46 |
|
|
functionally running a Linux 2.2 kernel. Also, not all tools are
|
47 |
|
|
necessary on all systems; obviously, if you don't have any PCMCIA (PC
|
48 |
|
|
Card) hardware, for example, you probably needn't concern yourself
|
49 |
|
|
with pcmcia-cs.
|
50 |
|
|
|
51 |
|
|
o Gnu C 2.95.3 # gcc --version
|
52 |
|
|
o Gnu make 3.77 # make --version
|
53 |
|
|
o binutils 2.9.1.0.25 # ld -v
|
54 |
|
|
o util-linux 2.10o # fdformat --version
|
55 |
|
|
o modutils 2.4.2 # insmod -V
|
56 |
|
|
o e2fsprogs 1.25 # tune2fs
|
57 |
|
|
o jfsutils 1.0.12 # fsck.jfs -V
|
58 |
|
|
o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs
|
59 |
|
|
o xfsprogs 2.6.0 # xfs_db -V
|
60 |
|
|
o pcmcia-cs 3.1.21 # cardmgr -V
|
61 |
|
|
o quota-tools 3.09 # quota -V
|
62 |
|
|
o PPP 2.4.0 # pppd --version
|
63 |
|
|
o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
|
64 |
|
|
|
65 |
|
|
Kernel compilation
|
66 |
|
|
==================
|
67 |
|
|
|
68 |
|
|
GCC
|
69 |
|
|
---
|
70 |
|
|
|
71 |
|
|
The gcc version requirements may vary depending on the type of CPU in your
|
72 |
|
|
computer. The next paragraph applies to users of x86 CPUs, but not
|
73 |
|
|
necessarily to users of other CPUs. Users of other CPUs should obtain
|
74 |
|
|
information about their gcc version requirements from another source.
|
75 |
|
|
|
76 |
|
|
The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it
|
77 |
|
|
should be used when you need absolute stability. You may use gcc 3.0.x
|
78 |
|
|
instead if you wish, although it may cause problems. Later versions of gcc
|
79 |
|
|
have not received much testing for Linux kernel compilation, and there are
|
80 |
|
|
almost certainly bugs (mainly, but not exclusively, in the kernel) that
|
81 |
|
|
will need to be fixed in order to use these compilers. In any case, using
|
82 |
|
|
pgcc instead of egcs or plain gcc is just asking for trouble.
|
83 |
|
|
|
84 |
|
|
Note that gcc 2.7.2.3 is no longer a supported kernel compiler. The kernel
|
85 |
|
|
no longer works around bugs in gcc 2.7.2.3 and, in fact, will refuse to
|
86 |
|
|
be compiled with it. egcs-1.1.2 has register allocation problems in very
|
87 |
|
|
obscure cases. We have ensured the kernel does not trip these in any known
|
88 |
|
|
situation. The 2.5 tree is likely to drop egcs-1.1.2 workarounds.
|
89 |
|
|
|
90 |
|
|
The Red Hat gcc 2.96 compiler subtree can also be used to build this tree.
|
91 |
|
|
You should ensure you use gcc-2.96-74 or later. gcc-2.96-54 will not build
|
92 |
|
|
the kernel correctly.
|
93 |
|
|
|
94 |
|
|
In addition, please pay attention to compiler optimization. Anything
|
95 |
|
|
greater than -O2 may not be wise. Similarly, if you choose to use gcc-2.95.x
|
96 |
|
|
or derivatives, be sure not to use -fstrict-aliasing (which, depending on
|
97 |
|
|
your version of gcc 2.95.x, may necessitate using -fno-strict-aliasing).
|
98 |
|
|
|
99 |
|
|
Make
|
100 |
|
|
----
|
101 |
|
|
|
102 |
|
|
You will need Gnu make 3.77 or later to build the kernel.
|
103 |
|
|
|
104 |
|
|
Binutils
|
105 |
|
|
--------
|
106 |
|
|
|
107 |
|
|
Linux on IA-32 has recently switched from using as86 to using gas for
|
108 |
|
|
assembling the 16-bit boot code, removing the need for as86 to compile
|
109 |
|
|
your kernel. This change does, however, mean that you need a recent
|
110 |
|
|
release of binutils.
|
111 |
|
|
|
112 |
|
|
If you can, upgrade to the latest 2.9.5 or 2.1x binutils release. Older
|
113 |
|
|
releases such as 2.8, 2.8.xx, and the FSF's 2.9.1 should be avoided if
|
114 |
|
|
at all possible. The later releases of 2.9.1.0.x (anything where x >= 22)
|
115 |
|
|
can and do compile the kernel properly, but there are many benefits in
|
116 |
|
|
upgrading to 2.9.5 or 2.1x if you're up to it.
|
117 |
|
|
|
118 |
|
|
System utilities
|
119 |
|
|
================
|
120 |
|
|
|
121 |
|
|
Architectural changes
|
122 |
|
|
---------------------
|
123 |
|
|
|
124 |
|
|
DevFS is now in the kernel. See Documentation/filesystems/devfs/* in
|
125 |
|
|
the kernel source tree for all the gory details.
|
126 |
|
|
|
127 |
|
|
The Logical Volume Manager (LVM) is now in the kernel. If you want to
|
128 |
|
|
use this, you'll need to install the necessary LVM toolset.
|
129 |
|
|
|
130 |
|
|
32-bit UID support is now in place. Have fun!
|
131 |
|
|
|
132 |
|
|
Linux documentation for functions is transitioning to inline
|
133 |
|
|
documentation via specially-formatted comments near their
|
134 |
|
|
definitions in the source. These comments can be combined with the
|
135 |
|
|
SGML templates in the Documentation/DocBook directory to make DocBook
|
136 |
|
|
files, which can then be converted by DocBook stylesheets to PostScript,
|
137 |
|
|
HTML, PDF files, and several other formats. In order to convert from
|
138 |
|
|
DocBook format to a format of your choice, you'll need to install Jade as
|
139 |
|
|
well as the desired DocBook stylesheets.
|
140 |
|
|
|
141 |
|
|
Util-linux
|
142 |
|
|
----------
|
143 |
|
|
|
144 |
|
|
New versions of util-linux provide *fdisk support for larger disks,
|
145 |
|
|
support new options to mount, recognize more supported partition
|
146 |
|
|
types, have a fdformat which works with 2.4 kernels, and similar goodies.
|
147 |
|
|
You'll probably want to upgrade.
|
148 |
|
|
|
149 |
|
|
Ksymoops
|
150 |
|
|
--------
|
151 |
|
|
|
152 |
|
|
If the unthinkable happens and your kernel oopses, you'll need a 2.4
|
153 |
|
|
version of ksymoops to decode the report; see REPORTING-BUGS in the
|
154 |
|
|
root of the Linux source for more information.
|
155 |
|
|
|
156 |
|
|
Modutils
|
157 |
|
|
--------
|
158 |
|
|
|
159 |
|
|
Upgrade to recent modutils to fix various outstanding bugs which are
|
160 |
|
|
seen more frequently under 2.4.x, and to enable auto-loading of USB
|
161 |
|
|
modules. In addition, the layout of modules under
|
162 |
|
|
/lib/modules/`uname -r`/ has been made more sane. This change also
|
163 |
|
|
requires that you upgrade to a recent modutils.
|
164 |
|
|
|
165 |
|
|
Mkinitrd
|
166 |
|
|
--------
|
167 |
|
|
|
168 |
|
|
These changes to the /lib/modules file tree layout also require that
|
169 |
|
|
mkinitrd be upgraded.
|
170 |
|
|
|
171 |
|
|
E2fsprogs
|
172 |
|
|
---------
|
173 |
|
|
|
174 |
|
|
The latest version of e2fsprogs fixes several bugs in fsck and
|
175 |
|
|
debugfs. Obviously, it's a good idea to upgrade.
|
176 |
|
|
|
177 |
|
|
JFSutils
|
178 |
|
|
--------
|
179 |
|
|
|
180 |
|
|
The jfsutils package contains the utilities for the file system.
|
181 |
|
|
The following utilities are available:
|
182 |
|
|
o fsck.jfs - initiate replay of the transaction log, and check
|
183 |
|
|
and repair a JFS formatted partition.
|
184 |
|
|
o mkfs.jfs - create a JFS formatted partition.
|
185 |
|
|
o other file system utilities are also available in this package.
|
186 |
|
|
|
187 |
|
|
Reiserfsprogs
|
188 |
|
|
-------------
|
189 |
|
|
|
190 |
|
|
The reiserfsprogs package should be used for reiserfs-3.6.x
|
191 |
|
|
(Linux kernels 2.4.x). It is a combined package and contains working
|
192 |
|
|
versions of mkreiserfs, resize_reiserfs, debugreiserfs and
|
193 |
|
|
reiserfsck. These utils work on both i386 and alpha platforms.
|
194 |
|
|
|
195 |
|
|
Xfsprogs
|
196 |
|
|
--------
|
197 |
|
|
|
198 |
|
|
The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
|
199 |
|
|
xfs_repair utilities, among others, for the XFS filesystem. It is
|
200 |
|
|
architecture independent and any version from 2.0.0 onward should
|
201 |
|
|
work correctly with this version of the XFS kernel code (2.6.0 or
|
202 |
|
|
later is recommended, due to some significant improvements).
|
203 |
|
|
|
204 |
|
|
|
205 |
|
|
Pcmcia-cs
|
206 |
|
|
---------
|
207 |
|
|
|
208 |
|
|
PCMCIA (PC Card) support is now partially implemented in the main
|
209 |
|
|
kernel source. Pay attention when you recompile your kernel ;-).
|
210 |
|
|
Also, be sure to upgrade to the latest pcmcia-cs release.
|
211 |
|
|
|
212 |
|
|
Quota-tools
|
213 |
|
|
-----------
|
214 |
|
|
|
215 |
|
|
Support for 32 bit uid's and gid's is required if you want to use
|
216 |
|
|
the newer version 2 quota format. Quota-tools version 3.07 and
|
217 |
|
|
newer has this support. Use the recommended version or newer
|
218 |
|
|
from the table above.
|
219 |
|
|
|
220 |
|
|
Intel IA32 microcode
|
221 |
|
|
--------------------
|
222 |
|
|
|
223 |
|
|
A driver has been added to allow updating of Intel IA32 microcode,
|
224 |
|
|
accessible as both a devfs regular file and as a normal (misc)
|
225 |
|
|
character device. If you are not using devfs you may need to:
|
226 |
|
|
|
227 |
|
|
mkdir /dev/cpu
|
228 |
|
|
mknod /dev/cpu/microcode c 10 184
|
229 |
|
|
chmod 0644 /dev/cpu/microcode
|
230 |
|
|
|
231 |
|
|
as root before you can use this. You'll probably also want to
|
232 |
|
|
get the user-space microcode_ctl utility to use with this.
|
233 |
|
|
|
234 |
|
|
If you have compiled the driver as a module you may need to add
|
235 |
|
|
the following line:
|
236 |
|
|
|
237 |
|
|
alias char-major-10-184 microcode
|
238 |
|
|
|
239 |
|
|
to your /etc/modules.conf file.
|
240 |
|
|
|
241 |
|
|
Powertweak
|
242 |
|
|
----------
|
243 |
|
|
|
244 |
|
|
If you are running v0.1.17 or earlier, you should upgrade to
|
245 |
|
|
version v0.99.0 or higher. Running old versions may cause problems
|
246 |
|
|
with programs using shared memory.
|
247 |
|
|
|
248 |
|
|
Networking
|
249 |
|
|
==========
|
250 |
|
|
|
251 |
|
|
General changes
|
252 |
|
|
---------------
|
253 |
|
|
|
254 |
|
|
The IP firewalling and NAT code has been replaced again. The new
|
255 |
|
|
netfilter software (including ipfwadm and ipchains backwards-
|
256 |
|
|
compatible modules) is currently distributed separately.
|
257 |
|
|
|
258 |
|
|
If you have advanced network configuration needs, you should probably
|
259 |
|
|
consider using the network tools from ip-route2.
|
260 |
|
|
|
261 |
|
|
PPP
|
262 |
|
|
---
|
263 |
|
|
|
264 |
|
|
The PPP driver has been restructured to support multilink and to
|
265 |
|
|
enable it to operate over diverse media layers. If you use PPP,
|
266 |
|
|
upgrade pppd to at least 2.4.0.
|
267 |
|
|
|
268 |
|
|
If you are not using devfs, you must have the device file /dev/ppp
|
269 |
|
|
which can be made by:
|
270 |
|
|
|
271 |
|
|
mknod /dev/ppp c 108 0
|
272 |
|
|
|
273 |
|
|
as root.
|
274 |
|
|
|
275 |
|
|
If you build ppp support as modules, you will need the following in
|
276 |
|
|
your /etc/modules.conf file:
|
277 |
|
|
|
278 |
|
|
alias char-major-108 ppp_generic
|
279 |
|
|
alias /dev/ppp ppp_generic
|
280 |
|
|
alias tty-ldisc-3 ppp_async
|
281 |
|
|
alias tty-ldisc-14 ppp_synctty
|
282 |
|
|
alias ppp-compress-21 bsd_comp
|
283 |
|
|
alias ppp-compress-24 ppp_deflate
|
284 |
|
|
alias ppp-compress-26 ppp_deflate
|
285 |
|
|
|
286 |
|
|
If you use devfsd and build ppp support as modules, you will need
|
287 |
|
|
the following in your /etc/devfsd.conf file:
|
288 |
|
|
|
289 |
|
|
LOOKUP PPP MODLOAD
|
290 |
|
|
|
291 |
|
|
Isdn4k-utils
|
292 |
|
|
------------
|
293 |
|
|
|
294 |
|
|
Due to changes in the length of the phone number field, isdn4k-utils
|
295 |
|
|
needs to be recompiled or (preferably) upgraded.
|
296 |
|
|
|
297 |
|
|
Getting updated software
|
298 |
|
|
========================
|
299 |
|
|
|
300 |
|
|
Kernel compilation
|
301 |
|
|
******************
|
302 |
|
|
|
303 |
|
|
egcs 1.1.2 (gcc 2.91.66)
|
304 |
|
|
------------------------
|
305 |
|
|
o
|
306 |
|
|
|
307 |
|
|
gcc 2.95.3
|
308 |
|
|
----------
|
309 |
|
|
o
|
310 |
|
|
|
311 |
|
|
Make 3.77
|
312 |
|
|
---------
|
313 |
|
|
o
|
314 |
|
|
|
315 |
|
|
Binutils
|
316 |
|
|
--------
|
317 |
|
|
o
|
318 |
|
|
|
319 |
|
|
System utilities
|
320 |
|
|
****************
|
321 |
|
|
|
322 |
|
|
Util-linux
|
323 |
|
|
----------
|
324 |
|
|
o
|
325 |
|
|
|
326 |
|
|
Ksymoops
|
327 |
|
|
--------
|
328 |
|
|
o
|
329 |
|
|
|
330 |
|
|
Modutils
|
331 |
|
|
--------
|
332 |
|
|
o
|
333 |
|
|
|
334 |
|
|
Mkinitrd
|
335 |
|
|
--------
|
336 |
|
|
o
|
337 |
|
|
|
338 |
|
|
E2fsprogs
|
339 |
|
|
---------
|
340 |
|
|
o
|
341 |
|
|
|
342 |
|
|
JFSutils
|
343 |
|
|
---------
|
344 |
|
|
o
|
345 |
|
|
|
346 |
|
|
Reiserfsprogs
|
347 |
|
|
-------------
|
348 |
|
|
o
|
349 |
|
|
|
350 |
|
|
Xfsprogs
|
351 |
|
|
--------
|
352 |
|
|
o
|
353 |
|
|
|
354 |
|
|
LVM toolset
|
355 |
|
|
-----------
|
356 |
|
|
o
|
357 |
|
|
|
358 |
|
|
Pcmcia-cs
|
359 |
|
|
---------
|
360 |
|
|
o
|
361 |
|
|
|
362 |
|
|
Quota-tools
|
363 |
|
|
----------
|
364 |
|
|
o
|
365 |
|
|
|
366 |
|
|
Jade
|
367 |
|
|
----
|
368 |
|
|
o
|
369 |
|
|
|
370 |
|
|
DocBook Stylesheets
|
371 |
|
|
-------------------
|
372 |
|
|
o
|
373 |
|
|
|
374 |
|
|
Intel P6 microcode
|
375 |
|
|
------------------
|
376 |
|
|
o
|
377 |
|
|
|
378 |
|
|
Powertweak
|
379 |
|
|
----------
|
380 |
|
|
o
|
381 |
|
|
|
382 |
|
|
Networking
|
383 |
|
|
**********
|
384 |
|
|
|
385 |
|
|
PPP
|
386 |
|
|
---
|
387 |
|
|
o
|
388 |
|
|
|
389 |
|
|
Isdn4k-utils
|
390 |
|
|
------------
|
391 |
|
|
o
|
392 |
|
|
|
393 |
|
|
Netfilter
|
394 |
|
|
---------
|
395 |
|
|
o
|
396 |
|
|
o
|
397 |
|
|
o
|
398 |
|
|
|
399 |
|
|
Ip-route2
|
400 |
|
|
---------
|
401 |
|
|
o
|
402 |
|
|
|
403 |
|
|
Suggestions and corrections
|
404 |
|
|
===========================
|
405 |
|
|
|
406 |
|
|
Please feel free to submit changes, corrections, gripes, flames,
|
407 |
|
|
money, etc. to me . Happy Linuxing!
|