linux-old/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.4 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.2.x
   8kernel, please consult the Changes file included with 2.2.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.2.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
  34Last updated: February 13, 2002
  35
  36Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).
  37
  38Current Minimal Requirements
  39============================
  40
  41Upgrade to at *least* these software revisions before thinking you've
  42encountered a bug!  If you're unsure what version you're currently
  43running, the suggested command should tell you.
  44
  45Again, keep in mind that this list assumes you are already
  46functionally running a Linux 2.2 kernel.  Also, not all tools are
  47necessary on all systems; obviously, if you don't have any PCMCIA (PC
  48Card) hardware, for example, you probably needn't concern yourself
  49with pcmcia-cs.
  50
  51o  Gnu C                  2.95.3                  # gcc --version
  52o  Gnu make               3.77                    # make --version
  53o  binutils               2.9.1.0.25              # ld -v
  54o  util-linux             2.10o                   # fdformat --version
  55o  modutils               2.4.2                   # insmod -V
  56o  e2fsprogs              1.25                    # tune2fs
  57o  jfsutils               1.0.12                  # fsck.jfs -V
  58o  reiserfsprogs          3.6.3                   # reiserfsck -V 2>&1|grep reiserfsprogs
  59o  xfsprogs               2.6.0                   # xfs_db -V
  60o  pcmcia-cs              3.1.21                  # cardmgr -V
  61o  quota-tools            3.09                    # quota -V
  62o  PPP                    2.4.0                   # pppd --version
  63o  isdn4k-utils           3.1pre1                 # isdnctrl 2>&1|grep version
  64                          
  65Kernel compilation
  66==================
  67
  68GCC
  69---
  70
  71The gcc version requirements may vary depending on the type of CPU in your
  72computer. The next paragraph applies to users of x86 CPUs, but not
  73necessarily to users of other CPUs. Users of other CPUs should obtain
  74information about their gcc version requirements from another source.
  75
  76The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it
  77should be used when you need absolute stability. You may use gcc 3.0.x
  78instead if you wish, although it may cause problems. Later versions of gcc 
  79have not received much testing for Linux kernel compilation, and there are 
  80almost certainly bugs (mainly, but not exclusively, in the kernel) that
  81will need to be fixed in order to use these compilers. In any case, using
  82pgcc instead of egcs or plain gcc is just asking for trouble.
  83
  84Note that gcc 2.7.2.3 is no longer a supported kernel compiler. The kernel
  85no longer works around bugs in gcc 2.7.2.3 and, in fact, will refuse to
  86be compiled with it. egcs-1.1.2 has register allocation problems in very
  87obscure cases. We have ensured the kernel does not trip these in any known
  88situation. The 2.5 tree is likely to drop egcs-1.1.2 workarounds.
  89
  90The Red Hat gcc 2.96 compiler subtree can also be used to build this tree.
  91You should ensure you use gcc-2.96-74 or later. gcc-2.96-54 will not build
  92the kernel correctly.
  93
  94In addition, please pay attention to compiler optimization.  Anything
  95greater than -O2 may not be wise.  Similarly, if you choose to use gcc-2.95.x
  96or derivatives, be sure not to use -fstrict-aliasing (which, depending on
  97your version of gcc 2.95.x, may necessitate using -fno-strict-aliasing).
  98
  99Make
 100----
 101
 102You will need Gnu make 3.77 or later to build the kernel.
 103
 104Binutils
 105--------
 106
 107Linux on IA-32 has recently switched from using as86 to using gas for
 108assembling the 16-bit boot code, removing the need for as86 to compile
 109your kernel.  This change does, however, mean that you need a recent
 110release of binutils.
 111
 112If you can, upgrade to the latest 2.9.5 or 2.1x binutils release.  Older
 113releases such as 2.8, 2.8.xx, and the FSF's 2.9.1 should be avoided if
 114at all possible.  The later releases of 2.9.1.0.x (anything where x >= 22)
 115can and do compile the kernel properly, but there are many benefits in
 116upgrading to 2.9.5 or 2.1x if you're up to it.
 117
 118System utilities
 119================
 120
 121Architectural changes
 122---------------------
 123
 124DevFS is now in the kernel.  See Documentation/filesystems/devfs/* in
 125the kernel source tree for all the gory details.
 126
 127The Logical Volume Manager (LVM) is now in the kernel.  If you want to
 128use this, you'll need to install the necessary LVM toolset.
 129
 13032-bit UID support is now in place.  Have fun!
 131
 132Linux documentation for functions is transitioning to inline
 133documentation via specially-formatted comments near their
 134definitions in the source.  These comments can be combined with the
 135SGML templates in the Documentation/DocBook directory to make DocBook
 136files, which can then be converted by DocBook stylesheets to PostScript,
 137HTML, PDF files, and several other formats.  In order to convert from
 138DocBook format to a format of your choice, you'll need to install Jade as
 139well as the desired DocBook stylesheets.
 140
 141Util-linux
 142----------
 143
 144New versions of util-linux provide *fdisk support for larger disks,
 145support new options to mount, recognize more supported partition
 146types, have a fdformat which works with 2.4 kernels, and similar goodies.
 147You'll probably want to upgrade.
 148
 149Ksymoops
 150--------
 151
 152If the unthinkable happens and your kernel oopses, you'll need a 2.4
 153version of ksymoops to decode the report; see REPORTING-BUGS in the
 154root of the Linux source for more information.
 155
 156Modutils
 157--------
 158
 159Upgrade to recent modutils to fix various outstanding bugs which are
 160seen more frequently under 2.4.x, and to enable auto-loading of USB
 161modules.  In addition, the layout of modules under
 162/lib/modules/`uname -r`/ has been made more sane.  This change also
 163requires that you upgrade to a recent modutils.
 164
 165Mkinitrd
 166--------
 167
 168These changes to the /lib/modules file tree layout also require that
 169mkinitrd be upgraded.
 170
 171E2fsprogs
 172---------
 173
 174The latest version of e2fsprogs fixes several bugs in fsck and
 175debugfs.  Obviously, it's a good idea to upgrade.
 176
 177JFSutils
 178--------
 179
 180The jfsutils package contains the utilities for the file system.
 181The following utilities are available:
 182o fsck.jfs - initiate replay of the transaction log, and check
 183  and repair a JFS formatted partition.
 184o mkfs.jfs - create a JFS formatted partition.
 185o other file system utilities are also available in this package.
 186
 187Reiserfsprogs
 188-------------
 189
 190The reiserfsprogs package should be used for reiserfs-3.6.x
 191(Linux kernels 2.4.x). It is a combined package and contains working
 192versions of mkreiserfs, resize_reiserfs, debugreiserfs and
 193reiserfsck. These utils work on both i386 and alpha platforms.
 194
 195Xfsprogs
 196--------
 197
 198The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
 199xfs_repair utilities, among others, for the XFS filesystem.  It is
 200architecture independent and any version from 2.0.0 onward should
 201work correctly with this version of the XFS kernel code (2.6.0 or
 202later is recommended, due to some significant improvements).
 203
 204
 205Pcmcia-cs
 206---------
 207
 208PCMCIA (PC Card) support is now partially implemented in the main
 209kernel source.  Pay attention when you recompile your kernel ;-).
 210Also, be sure to upgrade to the latest pcmcia-cs release.
 211
 212Quota-tools
 213-----------
 214
 215Support for 32 bit uid's and gid's is required if you want to use
 216the newer version 2 quota format.  Quota-tools version 3.07 and
 217newer has this support.  Use the recommended version or newer
 218from the table above.
 219
 220Intel IA32 microcode
 221--------------------
 222
 223A driver has been added to allow updating of Intel IA32 microcode,
 224accessible as both a devfs regular file and as a normal (misc)
 225character device.  If you are not using devfs you may need to:
 226
 227mkdir /dev/cpu
 228mknod /dev/cpu/microcode c 10 184
 229chmod 0644 /dev/cpu/microcode
 230
 231as root before you can use this.  You'll probably also want to
 232get the user-space microcode_ctl utility to use with this.
 233
 234If you have compiled the driver as a module you may need to add
 235the following line:
 236
 237alias char-major-10-184 microcode
 238
 239to your /etc/modules.conf file.
 240
 241Powertweak
 242----------
 243
 244If you are running v0.1.17 or earlier, you should upgrade to
 245version v0.99.0 or higher. Running old versions may cause problems
 246with programs using shared memory.
 247
 248Networking
 249==========
 250
 251General changes
 252---------------
 253
 254The IP firewalling and NAT code has been replaced again.  The new
 255netfilter software (including ipfwadm and ipchains backwards-
 256compatible modules) is currently distributed separately.
 257
 258If you have advanced network configuration needs, you should probably
 259consider using the network tools from ip-route2.
 260
 261PPP
 262---
 263
 264The PPP driver has been restructured to support multilink and to
 265enable it to operate over diverse media layers.  If you use PPP,
 266upgrade pppd to at least 2.4.0.
 267
 268If you are not using devfs, you must have the device file /dev/ppp
 269which can be made by:
 270
 271mknod /dev/ppp c 108 0
 272
 273as root.
 274
 275If you build ppp support as modules, you will need the following in
 276your /etc/modules.conf file:
 277
 278alias char-major-108    ppp_generic
 279alias /dev/ppp          ppp_generic
 280alias tty-ldisc-3       ppp_async
 281alias tty-ldisc-14      ppp_synctty
 282alias ppp-compress-21   bsd_comp
 283alias ppp-compress-24   ppp_deflate
 284alias ppp-compress-26   ppp_deflate
 285
 286If you use devfsd and build ppp support as modules, you will need
 287the following in your /etc/devfsd.conf file:
 288
 289LOOKUP  PPP     MODLOAD
 290
 291Isdn4k-utils
 292------------
 293
 294Due to changes in the length of the phone number field, isdn4k-utils
 295needs to be recompiled or (preferably) upgraded.
 296
 297Getting updated software
 298========================
 299
 300Kernel compilation
 301******************
 302
 303egcs 1.1.2 (gcc 2.91.66)
 304------------------------
 305o  <ftp://sourceware.cygnus.com/pub/gcc/releases/egcs-1.1.2/egcs-1.1.2.tar.bz2>
 306
 307gcc 2.95.3
 308----------
 309o  <ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3.tar.gz>
 310
 311Make 3.77
 312---------
 313o  <ftp://ftp.gnu.org/gnu/make/make-3.77.tar.gz>
 314
 315Binutils
 316--------
 317o  <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
 318
 319System utilities
 320****************
 321
 322Util-linux
 323----------
 324o  <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
 325
 326Ksymoops
 327--------
 328o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
 329
 330Modutils
 331--------
 332o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.4/>
 333
 334Mkinitrd
 335--------
 336o  <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>
 337
 338E2fsprogs
 339---------
 340o  <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.25.tar.gz>
 341
 342JFSutils
 343---------
 344o  <http://oss.software.ibm.com/jfs/>
 345
 346Reiserfsprogs
 347-------------
 348o  <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
 349
 350Xfsprogs
 351--------
 352o  <ftp://oss.sgi.com/projects/xfs/download/>
 353
 354LVM toolset
 355-----------
 356o  <http://www.sistina.com/lvm/>
 357
 358Pcmcia-cs
 359---------
 360o  <ftp://pcmcia-cs.sourceforge.net/pub/pcmcia-cs/pcmcia-cs-3.1.21.tar.gz>
 361
 362Quota-tools
 363----------
 364o  <http://sourceforge.net/projects/linuxquota/>
 365
 366Jade
 367----
 368o  <ftp://ftp.jclark.com/pub/jade/jade-1.2.1.tar.gz>
 369
 370DocBook Stylesheets
 371-------------------
 372o  <http://nwalsh.com/docbook/dsssl/>
 373
 374Intel P6 microcode
 375------------------
 376o  <http://www.urbanmyth.org/microcode/>
 377
 378Powertweak
 379----------
 380o  <http://powertweak.sourceforge.net/>
 381
 382Networking
 383**********
 384
 385PPP
 386---
 387o  <ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz>
 388
 389Isdn4k-utils
 390------------
 391o  <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz>
 392
 393Netfilter
 394---------
 395o  <http://netfilter.filewatcher.org/iptables-1.2.tar.bz2>
 396o  <http://netfilter.samba.org/iptables-1.2.tar.bz2>
 397o  <http://netfilter.kernelnotes.org/iptables-1.2.tar.bz2>
 398
 399Ip-route2
 400---------
 401o  <ftp://ftp.inr.ac.ru/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
 402
 403Suggestions and corrections
 404===========================
 405
 406Please feel free to submit changes, corrections, gripes, flames,
 407money, etc. to me <chris.ricker@genetics.utah.edu>.  Happy Linuxing!
 408
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.