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