The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/Documentation/Changes

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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/>
  415 

Cache object: 1243b12c364f6a74ab0b9765755cbb7b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.