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

