FreeBSD and Linux Kernel Cross-Reference

This site provides source code browsing for the FreeBSD and Linux kernels, based on the software provided by the LXR Project.

The original aim of this site was to make it easier for FreeBSD developers and users to explore the FreeBSD source code, the source code of FreeBSD-derived systems such as Darwin and DragonFlyBSD, as well as gain a greater understanding of the implementation of related services in NetBSD, OpenBSD, OpenSolaris, Minix, Plan 9, and Linux. Understanding the approaches (and quirks) of other implementations is important in helping to address issues of portability and code clarity, not to mention abstraction and architecture. However, it is now seeing significant use from a much more broader community.

--> Browse the Source <--

FreeBSD 13-CURRENT (base/head)

FreeBSD 12-STABLE (base/stable/12)
FreeBSD 12.0-RELEASE (base/releng/12.0)

FreeBSD 11-STABLE (base/stable/11)
FreeBSD 11.2-RELEASE (base/releng/11.2)
FreeBSD 11.1-RELEASE (base/releng/11.1)
FreeBSD 11.0-RELEASE (base/releng/11.0)

FreeBSD 10-STABLE (base/stable/10)
FreeBSD 10.4-RELEASE (base/releng/11.4)
FreeBSD 10.3-RELEASE (base/releng/11.3)
FreeBSD 10.2-RELEASE (base/releng/11.2)
FreeBSD 10.1-RELEASE (base/releng/11.1)
FreeBSD 10.0-RELEASE (base/releng/11.0)

FreeBSD 9-STABLE (base/stable/9)
FreeBSD 9.3-RELEASE (base/releng/9.3)
FreeBSD 9.2-RELEASE (base/releng/9.2)
FreeBSD 9.1-RELEASE (base/releng/9.1)
FreeBSD 9.0-RELEASE (base/releng/9.0)

FreeBSD 8-STABLE (base/stable/8)
FreeBSD 8.4-RELEASE (base/releng/8.4)
FreeBSD 8.3-RELEASE (base/releng/8.3)
FreeBSD 8.2-RELEASE (base/releng/8.2)
FreeBSD 8.1-RELEASE (base/releng/8.1)
FreeBSD 8.0-RELEASE (base/releng/8.0)

FreeBSD 7-STABLE (base/stable/7)
FreeBSD 7.4-RELEASE (base/releng/7.4)
FreeBSD 7.3-RELEASE (base/releng/7.3)
FreeBSD 7.2-RELEASE (base/releng/7.2)
FreeBSD 7.1-RELEASE (base/releng/7.1)
FreeBSD 7.0-RELEASE (base/releng/7.0)

FreeBSD 6-STABLE (base/stable/6)
FreeBSD 6.4-RELEASE (base/releng/6.4)
FreeBSD 6.3-RELEASE (base/releng/6.3)
FreeBSD 6.2-RELEASE (base/releng/6.2)
FreeBSD 6.1-RELEASE (base/releng/6.1)
FreeBSD 6.0 (base/releng/6.0)

FreeBSD 5-STABLE (stable/5)
FreeBSD 5.5-RELEASE (base/releng/5.5)
FreeBSD 5.4-RELEASE (base/releng/5.4)
FreeBSD 5.3-RELEASE (base/releng/5.3)
FreeBSD 5.2-RELEASE (base/releng/5.2)
FreeBSD 5.1-RELEASE (base/releng/5.1)
FreeBSD 5.0-RELEASE (base/releng/5.0)

FreeBSD 4-STABLE (base/stable/4)

FreeBSD 3-STABLE (base/stable/3)
Linux 2.6 git development branch
Linux 2.4.22
Plan 9
Plan 9
CMU Mach Kernel 83
CMU Mach Kernel 84
Apple Darwin
Darwin 10.8.2 XNU (xnu-2050.18.24) - Mac OS X Mountain Lion
Darwin 10.7.2 XNU (xnu-1699.24.8) - Mac OS X Lion
Darwin 10.0 XNU (xnu-1456.1.26) - Mac OS X Snow Leopard
Darwin 9.0 XNU (xnu-1228) - Mac OS X Leopard
Darwin 8.6 XNU (xnu-792.6.70) - Mac OS X Tiger (update)
Darwin 8.0 XNU (xnu-792) - Mac OS X Tiger
Darwin 7.0 XNU (xnu-517) - Mac OS X Panther
OpenSolaris (onnv-gate branch)
Minix 3.1.1
NetBSD 5.x (netbsd-5)
NetBSD 4.x (netbsd-4)
NetBSD 3.x (netbsd-3)
NetBSD 2.x (netbsd-2-0)
DragonFly BSD

If you like this site, you might also appreciate:

  • The original Linux Cross Reference (LXR) site provides only Linux source code cross-referencing, but across a greater number of Linux kernel revisions.

  • The FreeBSD Project provides access to it and other *BSD project source trees via CVSWeb, but this is a revision control-centric source code view, rather than symbol-centric. Unlike this site, it includes the entire system source.

  • FreeBSD source code tour provides browsable and searchable system source from the -CURRENT and -STABLE branches, based on the results of running htags on the source tree snapshots.

I've found LXR invaluable in helping my navigate and understand the Linux kernel, and hope this site will be as helpful to others in navigating and understanding the FreeBSD kernel.

Robert Watson

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