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