[PATCH] time: add barrier after updating jiffies_64
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / Documentation / Changes
blobfe5ae0f550202f1692ab9dc1e45ba5735e867b1d
1 Intro
2 =====
4 This document is designed to provide a list of the minimum levels of
5 software necessary to run the 2.6 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.4.x
8 kernel, please consult the Changes file included with 2.4.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.4.x kernels.
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).
18 The latest revision of this document, in various formats, can always
19 be found at <http://cyberbuzz.gatech.edu/kaboom/linux/Changes-2.4/>.
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.
25 Smotrite file <http://oblom.rnc.ru/linux/kernel/Changes.ru>, yavlyaushisya
26 russkim perevodom dannogo documenta.
28 Visite <http://www2.adi.uam.es/~ender/tecnico/> para obtener la traducción
29 al español de este documento en varios formatos.
31 Eine deutsche Version dieser Datei finden Sie unter
32 <http://www.stefan-winter.de/Changes-2.4.0.txt>.
34 Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).
36 Current Minimal Requirements
37 ============================
39 Upgrade to at *least* these software revisions before thinking you've
40 encountered a bug!  If you're unsure what version you're currently
41 running, the suggested command should tell you.
43 Again, keep in mind that this list assumes you are already
44 functionally running a Linux 2.4 kernel.  Also, not all tools are
45 necessary on all systems; obviously, if you don't have any ISDN
46 hardware, for example, you probably needn't concern yourself with
47 isdn4k-utils.
49 o  Gnu C                  3.2                     # gcc --version
50 o  Gnu make               3.79.1                  # make --version
51 o  binutils               2.12                    # ld -v
52 o  util-linux             2.10o                   # fdformat --version
53 o  module-init-tools      0.9.10                  # depmod -V
54 o  e2fsprogs              1.29                    # tune2fs
55 o  jfsutils               1.1.3                   # fsck.jfs -V
56 o  reiserfsprogs          3.6.3                   # reiserfsck -V 2>&1|grep reiserfsprogs
57 o  xfsprogs               2.6.0                   # xfs_db -V
58 o  pcmciautils            004
59 o  pcmcia-cs              3.1.21                  # cardmgr -V
60 o  quota-tools            3.09                    # quota -V
61 o  PPP                    2.4.0                   # pppd --version
62 o  isdn4k-utils           3.1pre1                 # isdnctrl 2>&1|grep version
63 o  nfs-utils              1.0.5                   # showmount --version
64 o  procps                 3.2.0                   # ps --version
65 o  oprofile               0.9                     # oprofiled --version
66 o  udev                   071                     # udevinfo -V
68 Kernel compilation
69 ==================
71 GCC
72 ---
74 The gcc version requirements may vary depending on the type of CPU in your
75 computer.
77 Make
78 ----
80 You will need Gnu make 3.79.1 or later to build the kernel.
82 Binutils
83 --------
85 Linux on IA-32 has recently switched from using as86 to using gas for
86 assembling the 16-bit boot code, removing the need for as86 to compile
87 your kernel.  This change does, however, mean that you need a recent
88 release of binutils.
90 System utilities
91 ================
93 Architectural changes
94 ---------------------
96 DevFS has been obsoleted in favour of udev
97 (http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
99 32-bit UID support is now in place.  Have fun!
101 Linux documentation for functions is transitioning to inline
102 documentation via specially-formatted comments near their
103 definitions in the source.  These comments can be combined with the
104 SGML templates in the Documentation/DocBook directory to make DocBook
105 files, which can then be converted by DocBook stylesheets to PostScript,
106 HTML, PDF files, and several other formats.  In order to convert from
107 DocBook format to a format of your choice, you'll need to install Jade as
108 well as the desired DocBook stylesheets.
110 Util-linux
111 ----------
113 New versions of util-linux provide *fdisk support for larger disks,
114 support new options to mount, recognize more supported partition
115 types, have a fdformat which works with 2.4 kernels, and similar goodies.
116 You'll probably want to upgrade.
118 Ksymoops
119 --------
121 If the unthinkable happens and your kernel oopses, you may need the
122 ksymoops tool to decode it, but in most cases you don't.
123 In the 2.6 kernel it is generally preferred to build the kernel with
124 CONFIG_KALLSYMS so that it produces readable dumps that can be used as-is
125 (this also produces better output than ksymoops).
126 If for some reason your kernel is not build with CONFIG_KALLSYMS and
127 you have no way to rebuild and reproduce the Oops with that option, then
128 you can still decode that Oops with ksymoops.
130 Module-Init-Tools
131 -----------------
133 A new module loader is now in the kernel that requires module-init-tools
134 to use.  It is backward compatible with the 2.4.x series kernels.
136 Mkinitrd
137 --------
139 These changes to the /lib/modules file tree layout also require that
140 mkinitrd be upgraded.
142 E2fsprogs
143 ---------
145 The latest version of e2fsprogs fixes several bugs in fsck and
146 debugfs.  Obviously, it's a good idea to upgrade.
148 JFSutils
149 --------
151 The jfsutils package contains the utilities for the file system.
152 The following utilities are available:
153 o fsck.jfs - initiate replay of the transaction log, and check
154   and repair a JFS formatted partition.
155 o mkfs.jfs - create a JFS formatted partition.
156 o other file system utilities are also available in this package.
158 Reiserfsprogs
159 -------------
161 The reiserfsprogs package should be used for reiserfs-3.6.x
162 (Linux kernels 2.4.x). It is a combined package and contains working
163 versions of mkreiserfs, resize_reiserfs, debugreiserfs and
164 reiserfsck. These utils work on both i386 and alpha platforms.
166 Xfsprogs
167 --------
169 The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
170 xfs_repair utilities, among others, for the XFS filesystem.  It is
171 architecture independent and any version from 2.0.0 onward should
172 work correctly with this version of the XFS kernel code (2.6.0 or
173 later is recommended, due to some significant improvements).
175 PCMCIAutils
176 -----------
178 PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
179 PCMCIA sockets at system startup and loads the appropriate modules
180 for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
181 subsystem is used.
183 Pcmcia-cs
184 ---------
186 PCMCIA (PC Card) support is now partially implemented in the main
187 kernel source. The "pcmciautils" package (see above) replaces pcmcia-cs
188 for newest kernels.
190 Quota-tools
191 -----------
193 Support for 32 bit uid's and gid's is required if you want to use
194 the newer version 2 quota format.  Quota-tools version 3.07 and
195 newer has this support.  Use the recommended version or newer
196 from the table above.
198 Intel IA32 microcode
199 --------------------
201 A driver has been added to allow updating of Intel IA32 microcode,
202 accessible as both a devfs regular file and as a normal (misc)
203 character device.  If you are not using devfs you may need to:
205 mkdir /dev/cpu
206 mknod /dev/cpu/microcode c 10 184
207 chmod 0644 /dev/cpu/microcode
209 as root before you can use this.  You'll probably also want to
210 get the user-space microcode_ctl utility to use with this.
212 Powertweak
213 ----------
215 If you are running v0.1.17 or earlier, you should upgrade to
216 version v0.99.0 or higher. Running old versions may cause problems
217 with programs using shared memory.
219 udev
220 ----
221 udev is a userspace application for populating /dev dynamically with
222 only entries for devices actually present. udev replaces devfs.
224 FUSE
225 ----
227 Needs libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
228 options 'direct_io' and 'kernel_cache' won't work.
230 Networking
231 ==========
233 General changes
234 ---------------
236 If you have advanced network configuration needs, you should probably
237 consider using the network tools from ip-route2.
239 Packet Filter / NAT
240 -------------------
241 The packet filtering and NAT code uses the same tools like the previous 2.4.x
242 kernel series (iptables).  It still includes backwards-compatibility modules
243 for 2.2.x-style ipchains and 2.0.x-style ipfwadm.
248 The PPP driver has been restructured to support multilink and to
249 enable it to operate over diverse media layers.  If you use PPP,
250 upgrade pppd to at least 2.4.0.
252 If you are not using devfs, you must have the device file /dev/ppp
253 which can be made by:
255 mknod /dev/ppp c 108 0
257 as root.
259 If you use devfsd and build ppp support as modules, you will need
260 the following in your /etc/devfsd.conf file:
262 LOOKUP  PPP     MODLOAD
264 Isdn4k-utils
265 ------------
267 Due to changes in the length of the phone number field, isdn4k-utils
268 needs to be recompiled or (preferably) upgraded.
270 NFS-utils
271 ---------
273 In 2.4 and earlier kernels, the nfs server needed to know about any
274 client that expected to be able to access files via NFS.  This
275 information would be given to the kernel by "mountd" when the client
276 mounted the filesystem, or by "exportfs" at system startup.  exportfs
277 would take information about active clients from /var/lib/nfs/rmtab.
279 This approach is quite fragile as it depends on rmtab being correct
280 which is not always easy, particularly when trying to implement
281 fail-over.  Even when the system is working well, rmtab suffers from
282 getting lots of old entries that never get removed.
284 With 2.6 we have the option of having the kernel tell mountd when it
285 gets a request from an unknown host, and mountd can give appropriate
286 export information to the kernel.  This removes the dependency on
287 rmtab and means that the kernel only needs to know about currently
288 active clients.
290 To enable this new functionality, you need to:
292   mount -t nfsd nfsd /proc/fs/nfs
294 before running exportfs or mountd.  It is recommended that all NFS
295 services be protected from the internet-at-large by a firewall where
296 that is possible.
298 Getting updated software
299 ========================
301 Kernel compilation
302 ******************
306 o  <ftp://ftp.gnu.org/gnu/gcc/>
308 Make
309 ----
310 o  <ftp://ftp.gnu.org/gnu/make/>
312 Binutils
313 --------
314 o  <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
316 System utilities
317 ****************
319 Util-linux
320 ----------
321 o  <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
323 Ksymoops
324 --------
325 o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
327 Module-Init-Tools
328 -----------------
329 o  <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>
331 Mkinitrd
332 --------
333 o  <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>
335 E2fsprogs
336 ---------
337 o  <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
339 JFSutils
340 --------
341 o  <http://jfs.sourceforge.net/>
343 Reiserfsprogs
344 -------------
345 o  <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
347 Xfsprogs
348 --------
349 o  <ftp://oss.sgi.com/projects/xfs/download/>
351 Pcmciautils
352 -----------
353 o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
355 Pcmcia-cs
356 ---------
357 o  <http://pcmcia-cs.sourceforge.net/>
359 Quota-tools
360 ----------
361 o  <http://sourceforge.net/projects/linuxquota/>
363 DocBook Stylesheets
364 -------------------
365 o  <http://nwalsh.com/docbook/dsssl/>
367 XMLTO XSLT Frontend
368 -------------------
369 o  <http://cyberelk.net/tim/xmlto/>
371 Intel P6 microcode
372 ------------------
373 o  <http://www.urbanmyth.org/microcode/>
375 Powertweak
376 ----------
377 o  <http://powertweak.sourceforge.net/>
379 udev
380 ----
381 o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
383 FUSE
384 ----
385 o <http://sourceforge.net/projects/fuse>
387 Networking
388 **********
392 o  <ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz>
394 Isdn4k-utils
395 ------------
396 o  <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz>
398 NFS-utils
399 ---------
400 o  <http://sourceforge.net/project/showfiles.php?group_id=14>
402 Iptables
403 --------
404 o  <http://www.iptables.org/downloads.html>
406 Ip-route2
407 ---------
408 o  <ftp://ftp.tux.org/pub/net/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
410 OProfile
411 --------
412 o  <http://oprofile.sf.net/download/>
414 NFS-Utils
415 ---------
416 o  <http://nfs.sourceforge.net/>