blob: fe5ae0f550202f1692ab9dc1e45ba5735e867b1d [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070034Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).
35
36Current Minimal Requirements
37============================
38
39Upgrade to at *least* these software revisions before thinking you've
40encountered a bug! If you're unsure what version you're currently
41running, the suggested command should tell you.
42
43Again, keep in mind that this list assumes you are already
44functionally running a Linux 2.4 kernel. Also, not all tools are
Dominik Brodowski5085cb22005-06-27 16:28:45 -070045necessary on all systems; obviously, if you don't have any ISDN
46hardware, for example, you probably needn't concern yourself with
47isdn4k-utils.
Linus Torvalds1da177e2005-04-16 15:20:36 -070048
Andrew Mortona1365642006-01-08 01:04:09 -080049o Gnu C 3.2 # gcc --version
Linus Torvalds1da177e2005-04-16 15:20:36 -070050o Gnu make 3.79.1 # make --version
51o binutils 2.12 # ld -v
52o util-linux 2.10o # fdformat --version
53o module-init-tools 0.9.10 # depmod -V
54o e2fsprogs 1.29 # tune2fs
55o jfsutils 1.1.3 # fsck.jfs -V
56o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs
57o xfsprogs 2.6.0 # xfs_db -V
Dominik Brodowskieb05bfe2005-06-30 02:58:47 -070058o pcmciautils 004
Linus Torvalds1da177e2005-04-16 15:20:36 -070059o pcmcia-cs 3.1.21 # cardmgr -V
60o quota-tools 3.09 # quota -V
61o PPP 2.4.0 # pppd --version
62o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
63o nfs-utils 1.0.5 # showmount --version
64o procps 3.2.0 # ps --version
John Levon0c0a4002005-06-23 22:02:47 -070065o oprofile 0.9 # oprofiled --version
Greg Kroah-Hartmanad7e14a52005-10-27 22:25:43 -070066o udev 071 # udevinfo -V
Linus Torvalds1da177e2005-04-16 15:20:36 -070067
68Kernel compilation
69==================
70
71GCC
72---
73
74The gcc version requirements may vary depending on the type of CPU in your
Andrew Mortona1365642006-01-08 01:04:09 -080075computer.
Linus Torvalds1da177e2005-04-16 15:20:36 -070076
77Make
78----
79
80You will need Gnu make 3.79.1 or later to build the kernel.
81
82Binutils
83--------
84
85Linux on IA-32 has recently switched from using as86 to using gas for
86assembling the 16-bit boot code, removing the need for as86 to compile
87your kernel. This change does, however, mean that you need a recent
88release of binutils.
89
90System utilities
91================
92
93Architectural changes
94---------------------
95
96DevFS has been obsoleted in favour of udev
97(http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
98
9932-bit UID support is now in place. Have fun!
100
101Linux documentation for functions is transitioning to inline
102documentation via specially-formatted comments near their
103definitions in the source. These comments can be combined with the
104SGML templates in the Documentation/DocBook directory to make DocBook
105files, which can then be converted by DocBook stylesheets to PostScript,
106HTML, PDF files, and several other formats. In order to convert from
107DocBook format to a format of your choice, you'll need to install Jade as
108well as the desired DocBook stylesheets.
109
110Util-linux
111----------
112
113New versions of util-linux provide *fdisk support for larger disks,
114support new options to mount, recognize more supported partition
115types, have a fdformat which works with 2.4 kernels, and similar goodies.
116You'll probably want to upgrade.
117
118Ksymoops
119--------
120
Jesper Juhl62a07e62005-11-07 01:01:03 -0800121If the unthinkable happens and your kernel oopses, you may need the
122ksymoops tool to decode it, but in most cases you don't.
123In the 2.6 kernel it is generally preferred to build the kernel with
124CONFIG_KALLSYMS so that it produces readable dumps that can be used as-is
125(this also produces better output than ksymoops).
126If for some reason your kernel is not build with CONFIG_KALLSYMS and
127you have no way to rebuild and reproduce the Oops with that option, then
128you can still decode that Oops with ksymoops.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129
130Module-Init-Tools
131-----------------
132
133A new module loader is now in the kernel that requires module-init-tools
134to use. It is backward compatible with the 2.4.x series kernels.
135
136Mkinitrd
137--------
138
139These changes to the /lib/modules file tree layout also require that
140mkinitrd be upgraded.
141
142E2fsprogs
143---------
144
145The latest version of e2fsprogs fixes several bugs in fsck and
146debugfs. Obviously, it's a good idea to upgrade.
147
148JFSutils
149--------
150
151The jfsutils package contains the utilities for the file system.
152The following utilities are available:
153o fsck.jfs - initiate replay of the transaction log, and check
154 and repair a JFS formatted partition.
155o mkfs.jfs - create a JFS formatted partition.
156o other file system utilities are also available in this package.
157
158Reiserfsprogs
159-------------
160
161The reiserfsprogs package should be used for reiserfs-3.6.x
162(Linux kernels 2.4.x). It is a combined package and contains working
163versions of mkreiserfs, resize_reiserfs, debugreiserfs and
164reiserfsck. These utils work on both i386 and alpha platforms.
165
166Xfsprogs
167--------
168
169The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
170xfs_repair utilities, among others, for the XFS filesystem. It is
171architecture independent and any version from 2.0.0 onward should
172work correctly with this version of the XFS kernel code (2.6.0 or
173later is recommended, due to some significant improvements).
174
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700175PCMCIAutils
176-----------
177
178PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
179PCMCIA sockets at system startup and loads the appropriate modules
180for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
181subsystem is used.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182
183Pcmcia-cs
184---------
185
186PCMCIA (PC Card) support is now partially implemented in the main
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700187kernel source. The "pcmciautils" package (see above) replaces pcmcia-cs
188for newest kernels.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189
190Quota-tools
191-----------
192
193Support for 32 bit uid's and gid's is required if you want to use
194the newer version 2 quota format. Quota-tools version 3.07 and
195newer has this support. Use the recommended version or newer
196from the table above.
197
198Intel IA32 microcode
199--------------------
200
201A driver has been added to allow updating of Intel IA32 microcode,
202accessible as both a devfs regular file and as a normal (misc)
203character device. If you are not using devfs you may need to:
204
205mkdir /dev/cpu
206mknod /dev/cpu/microcode c 10 184
207chmod 0644 /dev/cpu/microcode
208
209as root before you can use this. You'll probably also want to
210get the user-space microcode_ctl utility to use with this.
211
212Powertweak
213----------
214
215If you are running v0.1.17 or earlier, you should upgrade to
216version v0.99.0 or higher. Running old versions may cause problems
217with programs using shared memory.
218
219udev
220----
221udev is a userspace application for populating /dev dynamically with
222only entries for devices actually present. udev replaces devfs.
223
Miklos Szeredi909021e2005-09-27 21:45:20 -0700224FUSE
225----
226
227Needs libfuse 2.4.0 or later. Absolute minimum is 2.3.0 but mount
228options 'direct_io' and 'kernel_cache' won't work.
229
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230Networking
231==========
232
233General changes
234---------------
235
236If you have advanced network configuration needs, you should probably
237consider using the network tools from ip-route2.
238
239Packet Filter / NAT
240-------------------
241The packet filtering and NAT code uses the same tools like the previous 2.4.x
242kernel series (iptables). It still includes backwards-compatibility modules
243for 2.2.x-style ipchains and 2.0.x-style ipfwadm.
244
245PPP
246---
247
248The PPP driver has been restructured to support multilink and to
249enable it to operate over diverse media layers. If you use PPP,
250upgrade pppd to at least 2.4.0.
251
252If you are not using devfs, you must have the device file /dev/ppp
253which can be made by:
254
255mknod /dev/ppp c 108 0
256
257as root.
258
259If you use devfsd and build ppp support as modules, you will need
260the following in your /etc/devfsd.conf file:
261
262LOOKUP PPP MODLOAD
263
264Isdn4k-utils
265------------
266
267Due to changes in the length of the phone number field, isdn4k-utils
268needs to be recompiled or (preferably) upgraded.
269
270NFS-utils
271---------
272
273In 2.4 and earlier kernels, the nfs server needed to know about any
274client that expected to be able to access files via NFS. This
275information would be given to the kernel by "mountd" when the client
276mounted the filesystem, or by "exportfs" at system startup. exportfs
277would take information about active clients from /var/lib/nfs/rmtab.
278
279This approach is quite fragile as it depends on rmtab being correct
280which is not always easy, particularly when trying to implement
281fail-over. Even when the system is working well, rmtab suffers from
282getting lots of old entries that never get removed.
283
284With 2.6 we have the option of having the kernel tell mountd when it
285gets a request from an unknown host, and mountd can give appropriate
286export information to the kernel. This removes the dependency on
287rmtab and means that the kernel only needs to know about currently
288active clients.
289
290To enable this new functionality, you need to:
291
292 mount -t nfsd nfsd /proc/fs/nfs
293
294before running exportfs or mountd. It is recommended that all NFS
295services be protected from the internet-at-large by a firewall where
296that is possible.
297
298Getting updated software
299========================
300
301Kernel compilation
302******************
303
Andrew Mortona1365642006-01-08 01:04:09 -0800304gcc
305---
306o <ftp://ftp.gnu.org/gnu/gcc/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700307
308Make
309----
310o <ftp://ftp.gnu.org/gnu/make/>
311
312Binutils
313--------
314o <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
315
316System utilities
317****************
318
319Util-linux
320----------
321o <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
322
323Ksymoops
324--------
325o <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
326
327Module-Init-Tools
328-----------------
329o <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>
330
331Mkinitrd
332--------
333o <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>
334
335E2fsprogs
336---------
337o <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
338
339JFSutils
340--------
341o <http://jfs.sourceforge.net/>
342
343Reiserfsprogs
344-------------
345o <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
346
347Xfsprogs
348--------
349o <ftp://oss.sgi.com/projects/xfs/download/>
350
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700351Pcmciautils
352-----------
353o <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
354
Linus Torvalds1da177e2005-04-16 15:20:36 -0700355Pcmcia-cs
356---------
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700357o <http://pcmcia-cs.sourceforge.net/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700358
359Quota-tools
360----------
361o <http://sourceforge.net/projects/linuxquota/>
362
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363DocBook Stylesheets
364-------------------
365o <http://nwalsh.com/docbook/dsssl/>
366
Martin Waitz8b0c2d92005-05-01 08:59:27 -0700367XMLTO XSLT Frontend
368-------------------
369o <http://cyberelk.net/tim/xmlto/>
370
Linus Torvalds1da177e2005-04-16 15:20:36 -0700371Intel P6 microcode
372------------------
373o <http://www.urbanmyth.org/microcode/>
374
375Powertweak
376----------
377o <http://powertweak.sourceforge.net/>
378
379udev
380----
381o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
382
Miklos Szeredi909021e2005-09-27 21:45:20 -0700383FUSE
384----
385o <http://sourceforge.net/projects/fuse>
386
Linus Torvalds1da177e2005-04-16 15:20:36 -0700387Networking
388**********
389
390PPP
391---
392o <ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz>
393
394Isdn4k-utils
395------------
396o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz>
397
398NFS-utils
399---------
400o <http://sourceforge.net/project/showfiles.php?group_id=14>
401
402Iptables
403--------
404o <http://www.iptables.org/downloads.html>
405
406Ip-route2
407---------
408o <ftp://ftp.tux.org/pub/net/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
409
410OProfile
411--------
412o <http://oprofile.sf.net/download/>
413
414NFS-Utils
415---------
416o <http://nfs.sourceforge.net/>
417