linux/Documentation/Changes History
<<
>>
Prefs
   1Intro
   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
  18Current 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
  27necessary on all systems; obviously, if you don't have any ISDN
  28hardware, for example, you probably needn't concern yourself with
  29isdn4k-utils.
  30
  31o  Gnu C                  3.2                     # gcc --version
  32o  Gnu make               3.80                    # make --version
  33o  binutils               2.12                    # ld -v
  34o  util-linux             2.10o                   # fdformat --version
  35o  module-init-tools      0.9.10                  # depmod -V
  36o  e2fsprogs              1.41.4                  # e2fsck -V
  37o  jfsutils               1.1.3                   # fsck.jfs -V
  38o  reiserfsprogs          3.6.3                   # reiserfsck -V 2>&1|grep reiserfsprogs
  39o  xfsprogs               2.6.0                   # xfs_db -V
  40o  squashfs-tools         4.0                     # mksquashfs -version
  41o  btrfs-progs            0.18                    # btrfsck
  42o  pcmciautils            004                     # pccardctl -V
  43o  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
  48o  oprofile               0.9                     # oprofiled --version
  49o  udev                   081                     # udevinfo -V
  50o  grub                   0.93                    # grub --version
  51o  mcelog                 0.6
  52o  iptables               1.4.1                   # iptables -V
  53
  54
  55Kernel compilation
  56==================
  57
  58GCC
  59---
  60
  61The gcc version requirements may vary depending on the type of CPU in your
  62computer.
  63
  64Make
  65----
  66
  67You will need Gnu make 3.80 or later to build the kernel.
  68
  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
  77Perl
  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
  84System 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
 115If 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.
 123
 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
 169PCMCIAutils
 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.
 176
 177Pcmcia-cs
 178---------
 179
 180PCMCIA (PC Card) support is now partially implemented in the main
 181kernel source. The "pcmciautils" package (see above) replaces pcmcia-cs
 182for newest kernels.
 183
 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,
 196accessible as a normal (misc) character device.  If you are not using
 197udev you may need to:
 198
 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
 216only entries for devices actually present.  udev replaces the basic
 217functionality of devfs, while allowing persistent device naming for
 218devices.
 219
 220FUSE
 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
 226Networking
 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
 248If you are not using udev, you must have the device file /dev/ppp
 249which can be made by:
 250
 251mknod /dev/ppp c 108 0
 252
 253as root.
 254
 255Isdn4k-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
 283  mount -t nfsd nfsd /proc/fs/nfsd
 284
 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
 289mcelog
 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
 299Getting updated software
 300========================
 301
 302Kernel compilation
 303******************
 304
 305gcc
 306---
 307o  <ftp://ftp.gnu.org/gnu/gcc/>
 308
 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--------
 334o  <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>
 335
 336E2fsprogs
 337---------
 338o  <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
 339
 340JFSutils
 341--------
 342o  <http://jfs.sourceforge.net/>
 343
 344Reiserfsprogs
 345-------------
 346o  <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
 347
 348Xfsprogs
 349--------
 350o  <ftp://oss.sgi.com/projects/xfs/download/>
 351
 352Pcmciautils
 353-----------
 354o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
 355
 356Pcmcia-cs
 357---------
 358o  <http://pcmcia-cs.sourceforge.net/>
 359
 360Quota-tools
 361----------
 362o  <http://sourceforge.net/projects/linuxquota/>
 363
 364DocBook Stylesheets
 365-------------------
 366o  <http://nwalsh.com/docbook/dsssl/>
 367
 368XMLTO XSLT Frontend
 369-------------------
 370o  <http://cyberelk.net/tim/xmlto/>
 371
 372Intel 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
 384FUSE
 385----
 386o <http://sourceforge.net/projects/fuse>
 387
 388mcelog
 389------
 390o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/mcelog/>
 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
 423
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.