FreeBSD Release Process

Ivan Voras sumarised a little while ago the FreeBSD release procedure:

“It goes something like this (or at least it did/will be for 8.0-RELEASE):

  1. An approximate date is set on one of the DevSummits – this is usually of the granularity of “autumn 2009″ rather than a specific day.
  2. As the set date approaches, a more specific deadline is set for a “code freeze”.
  3. Developers try to get as much code into the tree as they can before the code freeze – this is still “free-for-all” time.
  4. After the code freeze, only code specifically approved by the release engineering (releng) team can go in.
  5. During various BETA releases, a RELENG branch – what is known for the users as a “STABLE” branch is created from VCS “head”. Some early beta releases might be cut of the “head” of the tree, latter from the RELENG branch.
  6. Release candidates are cut from the RELENG (STABLE) branch. This is where debugging is turned off system-wide and the performance is as it should be in the released versions. Debugging is never turned back on for STABLE branches (except of course that developers have it on by themeselves).
  7. After a certain amount of BETA and RC releases, the number of which is determined ad-hoc as needed, a release comes out. Everyone is happy, especially developers who can now commit freely to “head” again.
  8. The release engineering period for a major .0 release takes any time from a month to several months.”
  9. To find out more about FreeBSD release engineering, visit the FreeBSD Release Enginering page or Murray Stokely’s Release Document.

    FreeBSD 6.3 end of life

    On January 31st, FreeBSD 6.3 will reach its End of Life and will no longer be supported by the FreeBSD Security Team. Users of this release are strongly encouraged to upgrade to a newer release before that date — more conservative users will probably wish to upgrade to FreeBSD 6.4 or FreeBSD 7.1 (which are both extended-support branches), while others will probably wish to upgrade to FreeBSD 7.2 or the upcoming FreeBSD 8.0.

    Read the announcement

    Clang/LLVM support on FreeBSD

    A couple of developers are working to replace GCC in the FreeBSD base system with clang/LLVM. Clang is a compiler built on the Low Level Virtual Machine compiler infrastructure. Both clang and llvm are released under a BSD like license, unlike GCC that’s GPL licensed.

    Roman Divacky has an update on the project:

    The situation as of late September:

    • i386 – kernel boots, world needs little hacks but works
    • amd64 – kernel compiles but does not boot, world needs little hacks
    • ppc – broken because of unknown RTLD bug

    All other platforms are untested. Ie. this is a regression from the situation in early spring when we could boot amd64 as well…

    A lot has happened over the spring/summer – amd64 got proper mcmodel=kernel support, compiler-rt was introduced (paving the way for libgcc replacement), we ran two experimental ports build to see how clang does there, C++ support is able to parse without warnings, we got kernel working with -O2, we promoted FreeBSD to be officially supported plaform in LLVM etc. etc.

    The developers could do with a bit of support and help with the testing. Can you?

    We have problems though: we don’t have manpower for testing (thats why amd64 kernel stopped booting) and developers for integrating stuff into FreeBSD (maintaining ports etc.). So if you are interested in helping please contact me or join us on IRC in #freebsd-clang on We especially need amd64 testers (because of the amd64 kernel bug) and people with minor platforms like arm/mips/sparc to see how clang/llvm performs there and improve that

    FreeBSD Quarterly Status Report (April-Sep 2009)

    freebsd project logo 100x100The FreeBSD Project has released it’s ‘quarterly’ update with an overview of current and finished projects:

    This report covers FreeBSD related projects between April and September 2009. During that time a lot of work has been done on wide variety of projects, including the Google Summer of Code projects. The BSDCan conference was held in Ottawa, CA, in May. The EuroBSDCon conference was held in Cambridge, UK, in September. Both events were very successful. A new major version of FreeBSD, 8.0 is to be released soon

    Table of contents:

    Google Summer of Code


    FreeBSD Team Reports

    Network Infrastructure






    Debian pushes development of kFreeBSD port

    Debian GNU/kFreeBSD has been around for a while, but now it will be an official part of the distro, combining the strength FreeBSD kernel with the GNU C library and userland utilities.

    The Debian Project has announced that it sees the port of the Debian system to the FreeBSD kernel fit to be handled equal with the other release ports. The upcoming release codenamed ‘Squeeze’ is planned to be the first Debian distribution to be released with Linux and FreeBSD kernels.

    The kFreeBSD architectures for the AMD64/Intel EM64T and i386 processor architectures are now release architectures. Severe bugs on these architectures will be considered release critical the same way as bugs on other architectures like armel or i386 are. If a particular package does not build or work properly on such an architecture this problem is considered release-critical.

    Debian’s main motivation for the inclusion of the FreeBSD kernel into the official release process is the opportunity to offer to its users a broader choice of kernels and also include a kernel that provides features such as jails, the OpenBSD Packet Filter and support for NDIS drivers in the mainline kernel with full support.

    As usual some think it’s an odd match and a waste of time and resource, others see it as a nice combination a development.

    Wowza Media Server FreeBSD port

    Dru mentiones thatWowza Media Server Pro, a commercial streaming server, was ported to FreeBSD.

    One may think that this is just another ported software to the already huge collection of FreeBSD’s ports. But this is something more, as FreeBSD has just expanded its possibilities in the commercial streaming area.

    The port was made by talented Polish engineers from InnerVision who are devoted to free and open source communities. It’s not the first FreeBSD port they have created, and as they say, definitely not the last.

    Read post

    Kernel level cryptographic filesystem (GSoC)

    Gleb Kurtsou has been working this summer working on FreeBSD kernel level cryptographic filesystem pefs as part of the Google Summer of Code. He thinks the project is now mature enough for public review and comments.

    I’m using it to encrypt my mailbox for some time already without any issues. For testing I use mostly dbench and fsx tools.

    Some of pefs features (comparing to other stacked filesystems):

    • Kernel level implementation (no fuse and similar stuff)
    • Random per file tweak value used for encryption
    • Saves metadata only in encrypted file name (doesn’t change file content)
    • Doesn’t change encrypted file size
    • Arbitrary number of keys
    • Mixing files encrypted with different keys in single directory
    • Transparent mode of operation (no encryption, read-only, allows accessing filesystem snapshots easily)
    • Key chaining (though user level utility)
    • Modern encryption algorithms (AES and Camellia in CTR mode, Salsa20)

    To read more about the project and how to download/test it, check this email or Gleb’s blogposts (incl performance benchmarks)

    Using mySQL and PostgreSQL on FreeBSD 8.0

    Is it worth upgrading to 8.0 to run mySQL or PostgreSQL databases? Graphs say more than 1000 words

    …what causes this massive speedup? FreeBSD 8 have superpages support turned on by default, and there was some hacking on the ULE schedulet too, which now can recognize the CPUs’ and their caches’ hierarchy and take those into account during its work.

    For for performance graphs, go here.

    Microsoft backed Barrelfish OS goes “open source”

    Microsoft has released the first snapshot of the Barrelfish operating system, an operating system written especifically for multicore environments.

    The Barrelfish team, a group of researchers from Microsoft Research Cambridge and the technology university ETH Zurich, says it is “motivated by two closely related trends in hardware design: first, the rapidly growing number of cores, which leads to a scalability challenge, and second, the increasing diversity in computer hardware, requiring the OS to manage and exploit heterogeneous hardware resources.”

    Tthe project has been under way for about two years and builds on ideas researchers have had for years about how system will evolve to keep up with hardware advancements.

    In Barrelfish, each core has its own kernel and does not share memory as it does in Windows or Linux. Instead, the cores communicate by passing messages, what researchers term a “multikernel” model.

    Barrelfish is still in a research phase and its code released under the 3-clause BSD-style Open Source licence.  The software is free to download.

    We all know how Microsoft has dealt with and treated opens source software in the past. Michael Kerner, from, remarks:

    As a BSD style license and without any clear open/public source code repository, this isn’t an open source operating system like Linux or even say FreeBSD. The way I see it, open source here is a means of distribution and a way for people to openly see what the researcher have done and not necessarily as a means of collaboration or contribution.