Skip site navigation (1) Skip section navigation (2)


This Status Report covers FreeBSD related projects between April and June 2008. During this period The FreeBSD Foundation has released their July Newsletter.

Thanks to all the reporters for the excellent work! We hope you enjoy reading.

Google Summer of Code


FreeBSD Architecture

The Ports Collection


    Google Summer of Code

    Layer2 filtering


    Contact: Gleb Kurtsou <>
    Contact: Andrew Thompson <>

    Project aims to improve layer2 filtering in ipfw and pf. So far following project goals are achieved: pfil framework is extended to handle ethernet packets, ipfw layer2 filtering is greatly simplified, added l2filter and l2tag per interface flags. Both ipfw and pf firewalls support filtering by ethernet addresses, support stateful filtering with ethernet addresses and firewall's lookup tables are extended to contain ethernet addresses.

    Open tasks:

    1. Implement ARP filtering options in IPFW.

    Porting BSD-licensed text-processing tools from OpenBSD

    Wiki page URL:
    Perforce depot URL:

    Contact: Gábor Kövesdán <>

    The grep utility is ready for a thorough test on the portbuild cluster. It is almost compatible with GNU grep, but there are differences in the regex handling at the level of the regex libraries of GNU and the base system one, thus a better compatibility is very hard to implement.

    Some progress has been made on diff, but some important options are still missing. The sort utility seems to be very problematic in the aspect of the wide character support by design, thus it was given a lower priority.

    Open tasks:

    1. Finish the incomplete options of diff and optimize it.
    2. Investigate about the opportunities to fix sort.


    Build cluster


    Contact: Kris Kennaway <>

    For the past couple of months I have been working on generalizing the package build cluster to allow it to host other batch and interactive jobs. Currently we make an inefficient use of build machines because various projects have dedicated machines that are either underloaded or overloaded for their particular tasks. The goal is to provide a framework for combining all of these machine resources into a single cluster that can be shared by many users, reducing dead time and allowing distributed build tasks to take advantage of extra build resources when available. Developers will be able to obtain on-demand interactive access to a jail running on any of the available architectures, with root access. Similarly, batch jobs will specify their resource requirements and be dispatched to run on a suitable machine in the cluster. Current status: The job queue manager is working and is now being used to map package builds to machines. Various package build scripts have been rewritten to use it instead of the previous build scheduler. The generic job dispatcher is being prototyped and will be validated with several existing services such as INDEX builds. Various support services like ZFS snapshot replication have been written.



    Contact: Ivan Voras <>

    Between the last report and this one, the project has yielded a LiveCD installer for i386 containing FreeBSD 7.0-RELEASE. The project was presented at BSDCan 2008. The development is progressing slowly due to the lack of free time. I'm looking for funding that will allow me more involvement in the project. The big item currently in development is documentation and description of the protocol used between the front-end and the back-end, which will result in more robustness in the implementation and could support third-party clients. This sub-project is near completion. The project is currently hosted at SourceForge to allow contribution from non-FreeBSD developers.

    Open tasks:

    1. Partition editor.
    2. Package selection.

    FreeBSD Bugbusting Team

    BugBusting URL:
    PRs indexed by manpage URL:
    PRs indexed by tag URL:
    PRs which may have already been committed URL:
    Well-Known PRs as determined by the bugbusting team URL:
    Commonly Reported Issues URL:

    Contact: Ceri Davies <bugmeister@>
    Contact: Remko Lodder <bugmeister@>
    Contact: Mark Linimon <bugmeister@>

    We have granted Bruce Cran (bruce@) direct access to GNATS and Volker Werth (vwe@) has been released from mentorship. We appreciate their help!

    We had a third bugathon in June, which resulted in the closing of a number of bugs and the investigation/classification of several others. We are still trying to find ways to get more committers helping us with closing PRs that the team has already analyzed.

    We continue to make good progress in categorizing PRs as they arrive with 'tags' that correspond to manpages. (Special thanks go to Dylan Cochran for the help.) As a result, we now have created some prototype reports that allow browsing the database by manpage.

    In addition, another new report, oriented towards PR submitters, summarizes the most commonly reported issues. Many of these issues persist because they are difficult to fix. Before filing a PR, you may want to check through this list.

    Mark Linimon summarized the good technical suggestions from the bugathons so far this year to the wiki. As a part of this, he rearranged the wiki pages, so if you have not seen them for a while, please see BugBusting. In particular, the Resources page is much more complete.

    Jeremy Chadwick (koitsu@) is now maintaining a page that summarizes some of the commonly reported issues. This complements some of the reports, above, but includes a great deal more information, including how-tos.

    The overall PR count has been holding at around 5300 since the last release.

    Open tasks:

    1. Think of some way for committers to only view PRs that have been in some way 'vetted' or 'confirmed'.
    2. Generate more publicity for what we've already got in place, and for what we intend to do next.
    3. Define new categories, classifications, and states for PRs, that will better match our workflow.

    Graphics support for the boot loader


    Contact: Oliver Fromme <>

    This project aims to implement graphics support for FreeBSD's boot loader. It will replace the existing ASCII menu. (Note that the ASCII menu will still be available when graphics mode cannot be used, such as on serial console or on unsupported hardware.)

    For a more detailed description and screen shots please refer to the project's Wiki URL above.

    Progress is slow (due to lack of time) but steady. The code currently lives in the Perforce repository. I'll try to prepare a first public CFT as soon as possible.

    Open tasks:

    1. Implement a platform switch.
    2. Implement "themes" support (in FORTH).
    3. Documentation.


    Current USB files URL:
    Current USB API README file URL:

    Contact: Hans Petter Sirevaag Selasky <>

    During the last three months there has been a number of changes. Most notably all global USB symbols have been renamed to "usb2_" to allow for co-existence with the old USB stack. Also there is now a completely new and reworked UGEN driver which allows multiple drivers to hook onto the same USB device. No more need to unload any kernel drivers. For example it is now possible to have a userland Mouse driver stealing half of the mouse events at the same time "ums" is loaded. The only disadvantage is that your mouse cursor will move slower on the screen. This is maybe not the most common use-case, but it illustrates that kernel USB drivers are no longer locking out other USB userland drivers. A new userland libusb is in the works for FreeBSD. The USB stack now also has support for independent USB BUS, USB Device, and USB Interface permissions. That means you can more easily give USB permissions to USB device drivers at either USB BUS, USB Device or USB Interface level. All USB modules have now been grouped into functional categories: usb2_bluetooth, usb2_ndis, usb2_controller, usb2_quirk, usb2_core, usb2_serial, usb2_ethernet, usb2_sound, usb2_image, usb2_storage, usb2_input, usb2_template, usb2_misc, and usb2_wlan.

    Ideas and comments with regard to the new USB API are welcome on the FreeBSD-USB Mailing List.

    FreeBSD Architecture

    ARM/Marvell port

    Orion in Perforce URL:

    Contact: Rafal Jaworowski <>
    Contact: Bartlomiej Sieka <>

    After the last couple of months of intensive development going on towards FreeBSD support for Marvell System-on-Chip devices, we have FreeBSD 8.0-CURRENT running on the following systems:

    • Orion (already available in Perforce):
      • 88F5281
      • 88F5181
      • 88F5182
    • Kirkwood - 88F6281
    • Discovery - MV78100

    The above families of SOCs are built around CPU cores compliant with ARMv5TE instruction set architecture definition. They share a number of integrated peripherals, for most of which we already have operational and stable drivers:

    • UART
    • EHCI USB 2.0
    • Ethernet
    • IDMA (general purpose DMA engine)
    • XOR
    • TWSI (I2C)
    • Timers, watchdog, RTC
    • GPIO
    • Interrupt controller
    • L1, L2 cache

    High level functional summary:

    • Production Quality
    • Error-free Operation
    • Multiuser
    • Self-hosted kernel/world builds
    • NFS- or USB-mounted root filesystem

    The code is partially available (Orion in Perforce), other variants will also be integrated with Perforce/SVN soon.

    Open tasks:

    1. Drivers that are In-progress: PCI and PCIE.

    The Ports Collection

    Ports Collection

    The FreeBSD Ports Collection URL:
    Contributing to the FreeBSD Ports Collection URL:
    FreeBSD ports unfetchable distfile survey (Bill Fenner's report) URL:
    FreeBSD ports monitoring system URL:
    The FreeBSD Ports Management Team URL:
    marcuscom Tinderbox URL:

    Contact: Mark Linimon <>

    The ports count has jumped to over 19,000. The PR count has been holding steady at around 900.

    KDE has been updated to 4.1. Special thanks go to Martin Wilke for a great deal of pre-testing.

    GNOME has been updated three times, first to 2.22.1 and then to 2.22.2 and 2.22.3.

    Other notable updates are automake, gettext, libtool, and m4.

    Florent Thoumie has been working on some updates to the pkg_* tools.

    Ion-Mihai Tetcu has set up a tinderbox with several purposes: first, to quickly try to build packages as changes are committed; secondly, to build them with a non-standard set of environment variables; and thirdly, to build older packages with the non- standard set of environment variables. As a result of all this work, and work by various committers, we are much closer to building packages corrected in the NOPORTDOCS case.

    Kris Kennaway has done a substantial rewrite of the package building tools, including moving as a default to ZFS, which allows quick cloning of src and ports directories. It is now much easier to manage and monitor the builds. Work on this is continuing. See the commits to Tools/portbuild/scripts for more information. (Work is ongoing to update the Package Building article.) Related work has involved cleaning up some of the ports infrastructure; in particular, the INDEX builds are now much faster.

    We have been able to do many -exp runs since the last report, including those for, autotools update, CC environment passing, the KDE 4.1 pre-integration and post-integration checks, lockmgr changes, tty changes, and others.

    Although a number of PRs have been closed, we are still at 57 portmgr PRs, the same as the last report.

    The following large changes are in the pipeline:

    • Introduction of Perl 5.10

    We are currently building packages for amd64-6, amd64-7, amd64-8, i386-6, i386-7, i386-8, sparc64-6, and sparc64-7. RELENG_5 has reached the end of its supported life.

    We have added 4 new committers since the last report.

    Open tasks:

    1. Most of the remaining ports PRs are "existing port/PR assigned to committer". Although the maintainer-timeout policy is helping to keep the backlog down, we are going to need to do more to get the ports in the shape they really need to be in.
    2. Although we have added many maintainers, we still have over 4,000 unmaintained ports (see, for instance, the list on portsmon). We are always looking for dedicated volunteers to adopt at least a few unmaintained ports. As well, the packages on amd64 and sparc64 lag behind i386, and we need more testers for those.

    Qt/KDE4 Status Report


    Contact: Martin Wilke <>
    Contact: FreeBSD KDE Team <>

    Qt4 has been updated to 4.4.1 in our test repository. We ran into some runtime problems with Qt 4.4.0, so it was never committed it to the ports tree. Most of the problems have been fixed in 4.4.1 and we plan to commit it in a few days.

    At the moment, the KDE 4.1 ports are ready for testing before they are committed to the FreeBSD ports tree. We have already had the first Call for Public Testing on July 17th, 2008 with KDE 4.1 beta2. The feedback has been positive so far. If you want to help to test them to speed up the process, please visit the Wiki page and provide feedback.

    We plan to have it all committed by the middle of August.


    FreeBSD FAQ Renovation

    FreeBSD FAQ Renewal Proposal URL:

    Contact: Gábor Páli <>
    Contact: Manolis Kiagias <>

    An extensive work on renovating the FreeBSD FAQ has been started to support its Greek and Hungarian translations. Further improvements and content changes are still possible, we hope other committers will help us to keep the FAQ updated and tuned further.

    We have launched a renewal proposal to collect and organize the ideas around a more interactive, accurate, open for comments, consistent across several views etc. FAQ document. We would like to experiment with methods to implement the goals mentioned before, and help is more than welcome.

    Open tasks:

    1. Review the renovated FAQ.
    2. Add more question and answers to the FAQ.
    3. Refine the FAQ renewal proposal.

    The FreeBSD Dutch Documentation Project

    Main documentation site URL:
    Project site URL:

    Contact: Remko Lodder <>
    Contact: Rene Ladan <>

    The FreeBSD Dutch Documentation Project is an ongoing project to translate the FreeBSD Documentation resources to the Dutch language.

    The project is currently progressing very well in translating the FreeBSD Handbook to the Dutch language, the last chapter is being translated by the project members.

    Recent achievements include the translation of the Jails chapter, and the Virtualization chapter, as well as progression on the Advanced Networking chapter. Rene Ladan is a keyplayer in that region.

    We also started with the FAQ translation, which is another major target which we should be reaching at some point.

    If you care to helpout with the translation(s) and/or want to know something about it, please do not hesitate to contact us, we are glad to help where possible.

    Open tasks:

    1. Finish the Handbook translation.
    2. Finish the FAQ translation.
    3. Finish the Website translation.
    4. Keep the projects in sync with the English version(s).

    The FreeBSD Hungarian Documentation Project

    Hungarian Web Site for FreeBSD URL:
    Hungarian Documentation for FreeBSD URL:
    The FreeBSD Hungarian Documentation Project's Wiki Page URL:
    Perforce Depot for The FreeBSD Hungarian Documentation Project URL:

    Contact: Gábor Kövesdán <>
    Contact: Gábor Páli <>

    Hungarian translation of the FreeBSD Handbook has been finally committed to the doc repository. The translation of the FreeBSD FAQ has also been started, however, the original document needed to be brought up to date first. Two other article translations has been added, compiz-fusion and linux-users.

    Our Perforce depot was reorganized for the better layout, giving newcomers more space to play. The checkupdate script written by Giorgos Keramidas, a new tool for checking translations has been adopted to help the project's work.

    Open tasks:

    1. Translate release notes for -CURRENT and 7.X.
    2. Translate more articles.
    3. Translate books/fdp-primer.

    The FreeBSD Spanish Documentation Project

    Spanish Web Site for FreeBSD URL:
    Spanish Documentation for FreeBSD URL:
    The FreeBSD Spanish Documentation Project's Wiki Page URL:
    Perforce Depot for The FreeBSD Spanish Documentation Project URL:

    Contact: José Vicente Carrasco Vayá <>
    Contact: Gábor Kövesdán <>

    We have not made any significant progress in this period. We definitely need more active translators to progress with the translation project.

    Open tasks:

    1. Complete renovation of the Spanish web site.
    2. Update Handbook translation.
    3. Translate release notes for -CURRENT and 7.X.

    News Home | Status Home