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