blob: 5f4828a034e3235f21d3e6050f4a4092dc4bd23e [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070018Current Minimal Requirements
19============================
20
21Upgrade to at *least* these software revisions before thinking you've
22encountered a bug! If you're unsure what version you're currently
23running, the suggested command should tell you.
24
25Again, keep in mind that this list assumes you are already
26functionally running a Linux 2.4 kernel. Also, not all tools are
Dominik Brodowski5085cb22005-06-27 16:28:45 -070027necessary on all systems; obviously, if you don't have any ISDN
28hardware, for example, you probably needn't concern yourself with
29isdn4k-utils.
Linus Torvalds1da177e2005-04-16 15:20:36 -070030
Andrew Mortona1365642006-01-08 01:04:09 -080031o Gnu C 3.2 # gcc --version
Adam Lackorzynski2185a5e2009-06-14 22:38:59 +020032o Gnu make 3.80 # make --version
Linus Torvalds1da177e2005-04-16 15:20:36 -070033o binutils 2.12 # ld -v
34o util-linux 2.10o # fdformat --version
35o module-init-tools 0.9.10 # depmod -V
Bill Nottingham242f45d2009-01-29 16:28:40 -080036o e2fsprogs 1.41.4 # e2fsck -V
Linus Torvalds1da177e2005-04-16 15:20:36 -070037o jfsutils 1.1.3 # fsck.jfs -V
Christian Kujaue06c3742011-03-22 16:35:02 -070038o reiserfsprogs 3.6.3 # reiserfsck -V
Linus Torvalds1da177e2005-04-16 15:20:36 -070039o xfsprogs 2.6.0 # xfs_db -V
Bill Nottingham242f45d2009-01-29 16:28:40 -080040o squashfs-tools 4.0 # mksquashfs -version
41o btrfs-progs 0.18 # btrfsck
Robert P. J. Daye4121712006-09-11 12:39:19 -040042o pcmciautils 004 # pccardctl -V
Linus Torvalds1da177e2005-04-16 15:20:36 -070043o quota-tools 3.09 # quota -V
44o PPP 2.4.0 # pppd --version
45o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
46o nfs-utils 1.0.5 # showmount --version
47o procps 3.2.0 # ps --version
John Levon0c0a4002005-06-23 22:02:47 -070048o oprofile 0.9 # oprofiled --version
Christian Kujaue06c3742011-03-22 16:35:02 -070049o udev 081 # udevd --version
50o grub 0.93 # grub --version || grub-install --version
51o mcelog 0.6 # mcelog --version
Jan Engelhardtd879e192010-03-22 19:39:04 +010052o iptables 1.4.2 # iptables -V
Jan Engelhardt7a922632009-12-14 14:52:10 +010053
Linus Torvalds1da177e2005-04-16 15:20:36 -070054
55Kernel compilation
56==================
57
58GCC
59---
60
61The gcc version requirements may vary depending on the type of CPU in your
Andrew Mortona1365642006-01-08 01:04:09 -080062computer.
Linus Torvalds1da177e2005-04-16 15:20:36 -070063
64Make
65----
66
Adam Lackorzynski2185a5e2009-06-14 22:38:59 +020067You will need Gnu make 3.80 or later to build the kernel.
Linus Torvalds1da177e2005-04-16 15:20:36 -070068
69Binutils
70--------
71
72Linux on IA-32 has recently switched from using as86 to using gas for
73assembling the 16-bit boot code, removing the need for as86 to compile
74your kernel. This change does, however, mean that you need a recent
75release of binutils.
76
Jose Luis Perez Diez08219622009-06-17 16:26:30 -070077Perl
78----
79
80You will need perl 5 and the following modules: Getopt::Long, Getopt::Std,
81File::Basename, and File::Find to build the kernel.
82
83
Linus Torvalds1da177e2005-04-16 15:20:36 -070084System utilities
85================
86
87Architectural changes
88---------------------
89
90DevFS has been obsoleted in favour of udev
91(http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
92
9332-bit UID support is now in place. Have fun!
94
95Linux documentation for functions is transitioning to inline
96documentation via specially-formatted comments near their
97definitions in the source. These comments can be combined with the
98SGML templates in the Documentation/DocBook directory to make DocBook
99files, which can then be converted by DocBook stylesheets to PostScript,
100HTML, PDF files, and several other formats. In order to convert from
101DocBook format to a format of your choice, you'll need to install Jade as
102well as the desired DocBook stylesheets.
103
104Util-linux
105----------
106
107New versions of util-linux provide *fdisk support for larger disks,
108support new options to mount, recognize more supported partition
109types, have a fdformat which works with 2.4 kernels, and similar goodies.
110You'll probably want to upgrade.
111
112Ksymoops
113--------
114
Jesper Juhl62a07e62005-11-07 01:01:03 -0800115If the unthinkable happens and your kernel oopses, you may need the
116ksymoops tool to decode it, but in most cases you don't.
117In the 2.6 kernel it is generally preferred to build the kernel with
118CONFIG_KALLSYMS so that it produces readable dumps that can be used as-is
119(this also produces better output than ksymoops).
120If for some reason your kernel is not build with CONFIG_KALLSYMS and
121you have no way to rebuild and reproduce the Oops with that option, then
122you can still decode that Oops with ksymoops.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123
124Module-Init-Tools
125-----------------
126
127A new module loader is now in the kernel that requires module-init-tools
128to use. It is backward compatible with the 2.4.x series kernels.
129
130Mkinitrd
131--------
132
133These changes to the /lib/modules file tree layout also require that
134mkinitrd be upgraded.
135
136E2fsprogs
137---------
138
139The latest version of e2fsprogs fixes several bugs in fsck and
140debugfs. Obviously, it's a good idea to upgrade.
141
142JFSutils
143--------
144
145The jfsutils package contains the utilities for the file system.
146The following utilities are available:
147o fsck.jfs - initiate replay of the transaction log, and check
148 and repair a JFS formatted partition.
149o mkfs.jfs - create a JFS formatted partition.
150o other file system utilities are also available in this package.
151
152Reiserfsprogs
153-------------
154
155The reiserfsprogs package should be used for reiserfs-3.6.x
156(Linux kernels 2.4.x). It is a combined package and contains working
157versions of mkreiserfs, resize_reiserfs, debugreiserfs and
158reiserfsck. These utils work on both i386 and alpha platforms.
159
160Xfsprogs
161--------
162
163The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
164xfs_repair utilities, among others, for the XFS filesystem. It is
165architecture independent and any version from 2.0.0 onward should
166work correctly with this version of the XFS kernel code (2.6.0 or
167later is recommended, due to some significant improvements).
168
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700169PCMCIAutils
170-----------
171
172PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
173PCMCIA sockets at system startup and loads the appropriate modules
174for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
175subsystem is used.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176
177Pcmcia-cs
178---------
179
180PCMCIA (PC Card) support is now partially implemented in the main
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700181kernel source. The "pcmciautils" package (see above) replaces pcmcia-cs
182for newest kernels.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183
184Quota-tools
185-----------
186
187Support for 32 bit uid's and gid's is required if you want to use
188the newer version 2 quota format. Quota-tools version 3.07 and
189newer has this support. Use the recommended version or newer
190from the table above.
191
192Intel IA32 microcode
193--------------------
194
195A driver has been added to allow updating of Intel IA32 microcode,
Greg Kroah-Hartman890fbae2005-06-20 21:15:16 -0700196accessible as a normal (misc) character device. If you are not using
197udev you may need to:
Linus Torvalds1da177e2005-04-16 15:20:36 -0700198
199mkdir /dev/cpu
200mknod /dev/cpu/microcode c 10 184
201chmod 0644 /dev/cpu/microcode
202
203as root before you can use this. You'll probably also want to
204get the user-space microcode_ctl utility to use with this.
205
206Powertweak
207----------
208
209If you are running v0.1.17 or earlier, you should upgrade to
210version v0.99.0 or higher. Running old versions may cause problems
211with programs using shared memory.
212
213udev
214----
215udev is a userspace application for populating /dev dynamically with
Greg Kroah-Hartman890fbae2005-06-20 21:15:16 -0700216only entries for devices actually present. udev replaces the basic
Jan Engelhardt03a67a42006-11-30 05:32:19 +0100217functionality of devfs, while allowing persistent device naming for
Greg Kroah-Hartman890fbae2005-06-20 21:15:16 -0700218devices.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700219
Miklos Szeredi909021e2005-09-27 21:45:20 -0700220FUSE
221----
222
223Needs libfuse 2.4.0 or later. Absolute minimum is 2.3.0 but mount
224options 'direct_io' and 'kernel_cache' won't work.
225
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226Networking
227==========
228
229General changes
230---------------
231
232If you have advanced network configuration needs, you should probably
233consider using the network tools from ip-route2.
234
235Packet Filter / NAT
236-------------------
237The packet filtering and NAT code uses the same tools like the previous 2.4.x
238kernel series (iptables). It still includes backwards-compatibility modules
239for 2.2.x-style ipchains and 2.0.x-style ipfwadm.
240
241PPP
242---
243
244The PPP driver has been restructured to support multilink and to
245enable it to operate over diverse media layers. If you use PPP,
246upgrade pppd to at least 2.4.0.
247
Greg Kroah-Hartman890fbae2005-06-20 21:15:16 -0700248If you are not using udev, you must have the device file /dev/ppp
Linus Torvalds1da177e2005-04-16 15:20:36 -0700249which can be made by:
250
251mknod /dev/ppp c 108 0
252
253as root.
254
Linus Torvalds1da177e2005-04-16 15:20:36 -0700255Isdn4k-utils
256------------
257
258Due to changes in the length of the phone number field, isdn4k-utils
259needs to be recompiled or (preferably) upgraded.
260
261NFS-utils
262---------
263
264In 2.4 and earlier kernels, the nfs server needed to know about any
265client that expected to be able to access files via NFS. This
266information would be given to the kernel by "mountd" when the client
267mounted the filesystem, or by "exportfs" at system startup. exportfs
268would take information about active clients from /var/lib/nfs/rmtab.
269
270This approach is quite fragile as it depends on rmtab being correct
271which is not always easy, particularly when trying to implement
272fail-over. Even when the system is working well, rmtab suffers from
273getting lots of old entries that never get removed.
274
275With 2.6 we have the option of having the kernel tell mountd when it
276gets a request from an unknown host, and mountd can give appropriate
277export information to the kernel. This removes the dependency on
278rmtab and means that the kernel only needs to know about currently
279active clients.
280
281To enable this new functionality, you need to:
282
Robert P. J. Daye4121712006-09-11 12:39:19 -0400283 mount -t nfsd nfsd /proc/fs/nfsd
Linus Torvalds1da177e2005-04-16 15:20:36 -0700284
285before running exportfs or mountd. It is recommended that all NFS
286services be protected from the internet-at-large by a firewall where
287that is possible.
288
Andi Kleen172d8992009-04-28 23:37:02 +0200289mcelog
290------
291
292In Linux 2.6.31+ the i386 kernel needs to run the mcelog utility
293as a regular cronjob similar to the x86-64 kernel to process and log
294machine check events when CONFIG_X86_NEW_MCE is enabled. Machine check
295events are errors reported by the CPU. Processing them is strongly encouraged.
296All x86-64 kernels since 2.6.4 require the mcelog utility to
297process machine checks.
298
Linus Torvalds1da177e2005-04-16 15:20:36 -0700299Getting updated software
300========================
301
302Kernel compilation
303******************
304
Andrew Mortona1365642006-01-08 01:04:09 -0800305gcc
306---
307o <ftp://ftp.gnu.org/gnu/gcc/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700308
309Make
310----
311o <ftp://ftp.gnu.org/gnu/make/>
312
313Binutils
314--------
315o <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
316
317System utilities
318****************
319
320Util-linux
321----------
322o <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
323
324Ksymoops
325--------
326o <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
327
328Module-Init-Tools
329-----------------
330o <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>
331
332Mkinitrd
333--------
Justin P. Mattocka6557732010-07-03 15:46:13 -0700334o <https://code.launchpad.net/initrd-tools/main>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700335
336E2fsprogs
337---------
338o <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
339
340JFSutils
341--------
342o <http://jfs.sourceforge.net/>
343
344Reiserfsprogs
345-------------
Justin P. Mattocka6557732010-07-03 15:46:13 -0700346o <http://www.kernel.org/pub/linux/utils/fs/reiserfs/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700347
348Xfsprogs
349--------
Justin P. Mattocka6557732010-07-03 15:46:13 -0700350o <ftp://oss.sgi.com/projects/xfs/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700351
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700352Pcmciautils
353-----------
354o <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
355
Linus Torvalds1da177e2005-04-16 15:20:36 -0700356Pcmcia-cs
357---------
Dominik Brodowski5085cb22005-06-27 16:28:45 -0700358o <http://pcmcia-cs.sourceforge.net/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700359
360Quota-tools
361----------
362o <http://sourceforge.net/projects/linuxquota/>
363
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364DocBook Stylesheets
365-------------------
366o <http://nwalsh.com/docbook/dsssl/>
367
Martin Waitz8b0c2d92005-05-01 08:59:27 -0700368XMLTO XSLT Frontend
369-------------------
370o <http://cyberelk.net/tim/xmlto/>
371
Linus Torvalds1da177e2005-04-16 15:20:36 -0700372Intel P6 microcode
373------------------
374o <http://www.urbanmyth.org/microcode/>
375
376Powertweak
377----------
378o <http://powertweak.sourceforge.net/>
379
380udev
381----
382o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
383
Miklos Szeredi909021e2005-09-27 21:45:20 -0700384FUSE
385----
386o <http://sourceforge.net/projects/fuse>
387
Andi Kleen172d8992009-04-28 23:37:02 +0200388mcelog
389------
Justin P. Mattocka6557732010-07-03 15:46:13 -0700390o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/>
Andi Kleen172d8992009-04-28 23:37:02 +0200391
Linus Torvalds1da177e2005-04-16 15:20:36 -0700392Networking
393**********
394
395PPP
396---
Justin P. Mattocka6557732010-07-03 15:46:13 -0700397o <ftp://ftp.samba.org/pub/ppp/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700398
399Isdn4k-utils
400------------
Justin P. Mattocka6557732010-07-03 15:46:13 -0700401o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402
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