blob: afebdbcd553a30815e817555f9cf1e6f89faebad [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001Intro
2=====
3
4This document is designed to provide a list of the minimum levels of
5software necessary to run the 2.6 kernels, as well as provide brief
6instructions regarding any other "Gotchas" users may encounter when
7trying life on the Bleeding Edge. If upgrading from a pre-2.4.x
8kernel, please consult the Changes file included with 2.4.x kernels for
9additional information; most of that information will not be repeated
10here. Basically, this document assumes that your system is already
11functional and running at least 2.4.x kernels.
12
13This document is originally based on my "Changes" file for 2.0.x kernels
14and therefore owes credit to the same people as that file (Jared Mauch,
15Axel Boldt, Alessandro Sigala, and countless other users all over the
16'net).
17
18The latest revision of this document, in various formats, can always
19be found at <http://cyberbuzz.gatech.edu/kaboom/linux/Changes-2.4/>.
20
21Feel free to translate this document. If you do so, please send me a
22URL to your translation for inclusion in future revisions of this
23document.
24
25Smotrite file <http://oblom.rnc.ru/linux/kernel/Changes.ru>, yavlyaushisya
26russkim perevodom dannogo documenta.
27
28Visite <http://www2.adi.uam.es/~ender/tecnico/> para obtener la traducción
29al español de este documento en varios formatos.
30
31Eine deutsche Version dieser Datei finden Sie unter
32<http://www.stefan-winter.de/Changes-2.4.0.txt>.
33
34Last updated: October 29th, 2002
35
36Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).
37
38Current Minimal Requirements
39============================
40
41Upgrade to at *least* these software revisions before thinking you've
42encountered a bug! If you're unsure what version you're currently
43running, the suggested command should tell you.
44
45Again, keep in mind that this list assumes you are already
46functionally running a Linux 2.4 kernel. Also, not all tools are
Dominik Brodowski5085cb22005-06-27 16:28:45 -070047necessary on all systems; obviously, if you don't have any ISDN
48hardware, for example, you probably needn't concern yourself with
49isdn4k-utils.
Linus Torvalds1da177e2005-04-16 15:20:36 -070050
51o Gnu C 2.95.3 # gcc --version
52o Gnu make 3.79.1 # make --version
53o binutils 2.12 # ld -v
54o util-linux 2.10o # fdformat --version
55o module-init-tools 0.9.10 # depmod -V
56o e2fsprogs 1.29 # tune2fs
57o jfsutils 1.1.3 # fsck.jfs -V
58o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs
59o xfsprogs 2.6.0 # xfs_db -V
Dominik Brodowski5085cb22005-06-27 16:28:45 -070060o pcmciautils 001
Linus Torvalds1da177e2005-04-16 15:20:36 -070061o pcmcia-cs 3.1.21 # cardmgr -V
62o quota-tools 3.09 # quota -V
63o PPP 2.4.0 # pppd --version
64o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
65o nfs-utils 1.0.5 # showmount --version
66o procps 3.2.0 # ps --version
John Levon0c0a4002005-06-23 22:02:47 -070067o oprofile 0.9 # oprofiled --version
Linus Torvalds1da177e2005-04-16 15:20:36 -070068
69Kernel compilation
70==================
71
72GCC
73---
74
75The gcc version requirements may vary depending on the type of CPU in your
76computer. The next paragraph applies to users of x86 CPUs, but not
77necessarily to users of other CPUs. Users of other CPUs should obtain
78information about their gcc version requirements from another source.
79
80The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it
81should be used when you need absolute stability. You may use gcc 3.0.x
82instead if you wish, although it may cause problems. Later versions of gcc
83have not received much testing for Linux kernel compilation, and there are
84almost certainly bugs (mainly, but not exclusively, in the kernel) that
85will need to be fixed in order to use these compilers. In any case, using
86pgcc instead of plain gcc is just asking for trouble.
87
88The Red Hat gcc 2.96 compiler subtree can also be used to build this tree.
89You should ensure you use gcc-2.96-74 or later. gcc-2.96-54 will not build
90the kernel correctly.
91
92In addition, please pay attention to compiler optimization. Anything
93greater than -O2 may not be wise. Similarly, if you choose to use gcc-2.95.x
94or derivatives, be sure not to use -fstrict-aliasing (which, depending on
95your version of gcc 2.95.x, may necessitate using -fno-strict-aliasing).
96
97Make
98----
99
100You will need Gnu make 3.79.1 or later to build the kernel.
101
102Binutils
103--------
104
105Linux on IA-32 has recently switched from using as86 to using gas for
106assembling the 16-bit boot code, removing the need for as86 to compile
107your kernel. This change does, however, mean that you need a recent
108release of binutils.
109
110System utilities
111================
112
113Architectural changes
114---------------------
115
116DevFS has been obsoleted in favour of udev
117(http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
118
11932-bit UID support is now in place. Have fun!
120
121Linux documentation for functions is transitioning to inline
122documentation via specially-formatted comments near their
123definitions in the source. These comments can be combined with the
124SGML templates in the Documentation/DocBook directory to make DocBook
125files, which can then be converted by DocBook stylesheets to PostScript,
126HTML, PDF files, and several other formats. In order to convert from
127DocBook format to a format of your choice, you'll need to install Jade as
128well as the desired DocBook stylesheets.
129
130Util-linux
131----------
132
133New versions of util-linux provide *fdisk support for larger disks,
134support new options to mount, recognize more supported partition
135types, have a fdformat which works with 2.4 kernels, and similar goodies.
136You'll probably want to upgrade.
137
138Ksymoops
139--------
140
141If the unthinkable happens and your kernel oopses, you'll need a 2.4
142version of ksymoops to decode the report; see REPORTING-BUGS in the
143root of the Linux source for more information.
144
145Module-Init-Tools
146-----------------
147
148A new module loader is now in the kernel that requires module-init-tools
149to use. It is backward compatible with the 2.4.x series kernels.
150
151Mkinitrd
152--------
153
154These changes to the /lib/modules file tree layout also require that
155mkinitrd be upgraded.
156
157E2fsprogs
158---------
159
160The latest version of e2fsprogs fixes several bugs in fsck and
161debugfs. Obviously, it's a good idea to upgrade.
162
163JFSutils
164--------
165
166The jfsutils package contains the utilities for the file system.
167The following utilities are available:
168o fsck.jfs - initiate replay of the transaction log, and check
169 and repair a JFS formatted partition.
170o mkfs.jfs - create a JFS formatted partition.
171o other file system utilities are also available in this package.
172
173Reiserfsprogs
174-------------
175
176The reiserfsprogs package should be used for reiserfs-3.6.x
177(Linux kernels 2.4.x). It is a combined package and contains working
178versions of mkreiserfs, resize_reiserfs, debugreiserfs and
179reiserfsck. These utils work on both i386 and alpha platforms.
180
181Xfsprogs
182--------
183
184The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
185xfs_repair utilities, among others, for the XFS filesystem. It is
186architecture independent and any version from 2.0.0 onward should
187work correctly with this version of the XFS kernel code (2.6.0 or
188later is recommended, due to some significant improvements).
189
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700190PCMCIAutils
191-----------
192
193PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
194PCMCIA sockets at system startup and loads the appropriate modules
195for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
196subsystem is used.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197
198Pcmcia-cs
199---------
200
201PCMCIA (PC Card) support is now partially implemented in the main
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700202kernel source. The "pcmciautils" package (see above) replaces pcmcia-cs
203for newest kernels.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204
205Quota-tools
206-----------
207
208Support for 32 bit uid's and gid's is required if you want to use
209the newer version 2 quota format. Quota-tools version 3.07 and
210newer has this support. Use the recommended version or newer
211from the table above.
212
213Intel IA32 microcode
214--------------------
215
216A driver has been added to allow updating of Intel IA32 microcode,
217accessible as both a devfs regular file and as a normal (misc)
218character device. If you are not using devfs you may need to:
219
220mkdir /dev/cpu
221mknod /dev/cpu/microcode c 10 184
222chmod 0644 /dev/cpu/microcode
223
224as root before you can use this. You'll probably also want to
225get the user-space microcode_ctl utility to use with this.
226
227Powertweak
228----------
229
230If you are running v0.1.17 or earlier, you should upgrade to
231version v0.99.0 or higher. Running old versions may cause problems
232with programs using shared memory.
233
234udev
235----
236udev is a userspace application for populating /dev dynamically with
237only entries for devices actually present. udev replaces devfs.
238
239Networking
240==========
241
242General changes
243---------------
244
245If you have advanced network configuration needs, you should probably
246consider using the network tools from ip-route2.
247
248Packet Filter / NAT
249-------------------
250The packet filtering and NAT code uses the same tools like the previous 2.4.x
251kernel series (iptables). It still includes backwards-compatibility modules
252for 2.2.x-style ipchains and 2.0.x-style ipfwadm.
253
254PPP
255---
256
257The PPP driver has been restructured to support multilink and to
258enable it to operate over diverse media layers. If you use PPP,
259upgrade pppd to at least 2.4.0.
260
261If you are not using devfs, you must have the device file /dev/ppp
262which can be made by:
263
264mknod /dev/ppp c 108 0
265
266as root.
267
268If you use devfsd and build ppp support as modules, you will need
269the following in your /etc/devfsd.conf file:
270
271LOOKUP PPP MODLOAD
272
273Isdn4k-utils
274------------
275
276Due to changes in the length of the phone number field, isdn4k-utils
277needs to be recompiled or (preferably) upgraded.
278
279NFS-utils
280---------
281
282In 2.4 and earlier kernels, the nfs server needed to know about any
283client that expected to be able to access files via NFS. This
284information would be given to the kernel by "mountd" when the client
285mounted the filesystem, or by "exportfs" at system startup. exportfs
286would take information about active clients from /var/lib/nfs/rmtab.
287
288This approach is quite fragile as it depends on rmtab being correct
289which is not always easy, particularly when trying to implement
290fail-over. Even when the system is working well, rmtab suffers from
291getting lots of old entries that never get removed.
292
293With 2.6 we have the option of having the kernel tell mountd when it
294gets a request from an unknown host, and mountd can give appropriate
295export information to the kernel. This removes the dependency on
296rmtab and means that the kernel only needs to know about currently
297active clients.
298
299To enable this new functionality, you need to:
300
301 mount -t nfsd nfsd /proc/fs/nfs
302
303before running exportfs or mountd. It is recommended that all NFS
304services be protected from the internet-at-large by a firewall where
305that is possible.
306
307Getting updated software
308========================
309
310Kernel compilation
311******************
312
313gcc 2.95.3
314----------
315o <ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3.tar.gz>
316
317Make
318----
319o <ftp://ftp.gnu.org/gnu/make/>
320
321Binutils
322--------
323o <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
324
325System utilities
326****************
327
328Util-linux
329----------
330o <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
331
332Ksymoops
333--------
334o <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
335
336Module-Init-Tools
337-----------------
338o <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>
339
340Mkinitrd
341--------
342o <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>
343
344E2fsprogs
345---------
346o <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
347
348JFSutils
349--------
350o <http://jfs.sourceforge.net/>
351
352Reiserfsprogs
353-------------
354o <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
355
356Xfsprogs
357--------
358o <ftp://oss.sgi.com/projects/xfs/download/>
359
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700360Pcmciautils
361-----------
362o <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
363
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364Pcmcia-cs
365---------
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700366o <http://pcmcia-cs.sourceforge.net/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700367
368Quota-tools
369----------
370o <http://sourceforge.net/projects/linuxquota/>
371
Linus Torvalds1da177e2005-04-16 15:20:36 -0700372DocBook Stylesheets
373-------------------
374o <http://nwalsh.com/docbook/dsssl/>
375
Martin Waitz8b0c2d92005-05-01 08:59:27 -0700376XMLTO XSLT Frontend
377-------------------
378o <http://cyberelk.net/tim/xmlto/>
379
Linus Torvalds1da177e2005-04-16 15:20:36 -0700380Intel P6 microcode
381------------------
382o <http://www.urbanmyth.org/microcode/>
383
384Powertweak
385----------
386o <http://powertweak.sourceforge.net/>
387
388udev
389----
390o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
391
392Networking
393**********
394
395PPP
396---
397o <ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz>
398
399Isdn4k-utils
400------------
401o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz>
402
403NFS-utils
404---------
405o <http://sourceforge.net/project/showfiles.php?group_id=14>
406
407Iptables
408--------
409o <http://www.iptables.org/downloads.html>
410
411Ip-route2
412---------
413o <ftp://ftp.tux.org/pub/net/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
414
415OProfile
416--------
417o <http://oprofile.sf.net/download/>
418
419NFS-Utils
420---------
421o <http://nfs.sourceforge.net/>
422