Introduction

This quarter included some very exciting work including the release of FreeBSD 6.4 and the much anticipated release of FreeBSD 7.1. We also launched our own official FreeBSD Forums. The first Bugathon of the year will be held this weekend, see below for more information and how to participate.

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

Contact: Phillip Neumann <pneumann@gmail.com>

Contact: Romain Tartière <romain@blogreen.org>

The BSD# Project is devoted to porting the Mono .NET framework and applications to the FreeBSD operating system.

Because of a lack of time, Mono stalled at version 1.2.5 for more than one year in the FreeBSD ports tree. However, things have moved and the BSD# Team is proud to announce that the Mono ports are about to be updated to 2.0.1. Ports depending on Mono will also be updated to the latest available version at the same occasion.

While the ports will be updated really soon now that FreeBSD 7.1 has been released, impatient people can download and merge the BSD# ports in their FreeBSD tree right now following the instructions provided on the BSD# Project's page.

Open tasks:

Test and send feedback. Port Mono applications to FreeBSD. Build a debug live-image of FreeBSD so that Mono hackers without a FreeBSD box can help us fixing bugs more efficiency.

Contact: <bugbusters@FreeBSD.org>

Last year, we didn't have many Bugathons - this year is planned to be different!

The BugBusting team is trying to improve bug handling and thus we'll start a new experiment. In the past our Bugathons were general Bugathons with no special topic set. Instead, starting in 2009 we'll try to hold a series of Bugathons that concentrate on special interest areas.

Our next Bugathon will be held from 2009-01-30 to 2009-02-01 (Fri-Sun). We'll try to handle as many network related bugs as we can. Our plan is to try to work through all network related PRs still open in GNATS.

We need a number of maintainers in the area of networking (drivers, chipsets, protocols, userland processes) to attend and committers willing to commit fixes and improvements. Of course, we also need users and administrators with special interest in network related items to be with us to sort out things. Every helping hand, everyone able to debug and analyze things is welcome.

If you're interested in getting networking stuff improved, join us to make the upcoming releases of 7.2 and 8.0 the best ever FreeBSD releases.

Join us on IRC: EFnet #FreeBSD-bugbusters from Friday 2009-01-30 to Sunday 2009-02-01. Don't miss this event!

The next Bugathon (TBA) will have topics in different special interest areas.

Open tasks:

Feel free to ask questions! You can reach the BugBusting team at bugbusters@FreeBSD.org. Be there! Work with us! Join the team - be a part!

Contact: Remko Lodder <bugmeister@>

Contact: Mark Linimon <bugmeister@>

We will be having our next Bugathon on 2009-01-30 to 2009-02-01 (see this entry).

At the recent DevSummit in Strasbourg, the participants spent half a day working through the current "recommended PRs" list. The list was divided up into sections by date, and each table was assigned one section to work through. Not only were a good number of fixes committed and their PRs closed, but the src developers were brought up to speed on the triage work that the BugBusting team has been doing (see below). We hope to build on this momentum in the future. In addition, many new ideas for improved report pages were discussed.

We continue to make good progress in categorizing PRs as they arrive with 'tags' that correspond to manpages. 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.

As well, we now have a more active set of volunteers who are willing to help users with reported problems of the form "xyz does not seem to work". These types of reports are now being handled much better than in the past.

One of those volunteers, Bruce Cran (brucec@), has now been released from mentorship.

Mark Linimon (linimon@) continues to work on more new prototype reports, including:

The commonly reported issues summary page, previously maintained by Jeremy Chadwick, has been moved to a new location.

The overall PR count jumped to over 5600 during the 6.4/7.1 release cycle, but has come down a bit.

Open tasks:

Try to find ways to get more committers helping us with closing PRs that the team has already analyzed. Think of some way for committers to only view PRs that have been in some way 'vetted' or 'confirmed'. Generate more publicity for what we've already got in place, and for what we intend to do next. Define new categories, classifications, and states for PRs, that will better match our workflow.

Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

We ended the year raising over $282,000! We received 173 donations just in December. We are very grateful to all the people who helped us come very close to our 2008 goal.

Three projects were started that are being funded by the foundation. They are Safe Removal of Active Disk Devices, Improvements to the FreeBSD TCP Stack, and Network Stack Virtualization Projects. Click here to find out more about the projects.

We were a sponsor for meetBSD. We provided a travel grant for a developer to attend this conference. We also handed out a few limited edition foundation vests for developer recognition.

Read our end-of-year newsletter, to find out what else we've done to help The FreeBSD Project and community.

Contact: Mark Foster <mark@foster.cc>

VuXML generator ("wizard") is intended for end-users who want to generate VuXML (XML) definitions. Users can just fill out an HTML form & this removes some of the guesswork and the learning curve. The resulting VuXML can be submitted via send-pr as-is for inclusion into the portaudit database.

Open tasks:

Option to submit generated XML into a "review" queue somewhere (thus eliminate the need for users to run send-pr at all) Option to generate OVAL definition in addition to VuXML Option to generate ready-to-run pr (e.g send-pr -f <outputfile>)

Contact: Mark Linimon <linimon@FreeBSD.org>

Most of the effort in the last quarter has been QA effort for 6.4-RELEASE and 7.1-RELEASE. Since that time, we have once again begun work on experimental package runs.

The ports count has jumped to over 19,600. The PR count had jumped during the freeze/slush cycle for release, but has now dropped back to its usual count of around 900.

GNOME has been updated to 2.24.3.

KDE has been updated to 4.1.4.

X.Org has been updated to 7.4.

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. Several new i386 and sparc64 machines have been added, which has helped speed up the builds. We especially appreciate the loan of a number of sparc64 machines by Gavin Atkinson.

We have added 5 new committers since the last report, and 2 older ones have rejoined.

Open tasks:

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. Although we have added many maintainers, we still have over 4,700 unmaintained ports (see, for instance, the list on portsmon). (The percentage hovers around 24%.) 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.

Links

Contact: Release Engineering <re@>

Since the last status report both 7.1-RELEASE (5 January 2009) and 6.4-RELEASE (28 November 2008) have been released. Starting with 6.4-RELEASE, a new DVD ISO image called "dvd1" is provided for amd64/i386. This image contains everything that is on the CDROM discs. So "dvd1" can be used to do a full installation that includes a basic set of packages, it has all of the documentation for all supported languages, and it can be used for booting into a "live CD-based filesystem" and system rescue mode. 6.4-RELEASE was the last release of the 6.X branch, we have currently no plan for any other 6.X release since most of the developers are focused on 8-CURRENT and 7.X.

The long awaited 7.1-RELEASE is out since 5th of January. This release process was far too long from everyone's point of view. Working on another release (6.4-RELEASE) at the same time was not helping the things, but we are aware of many problems that need to be worked on to ease the whole release process. As a consequence, we are currently working on a new plan for future 7.X (or 8.0) release. We plan to:

Reduce the freeze period of ports tree, the freeze should occur near the end of the release process during RC cycle

Change the way showstoppers are handled and do not stop a release process for non-important issues or lack of features.

Some work has also been done on the documentation build, we want to provide a more flexible way to install docs (Handbook, FAQ, etc.) and detach the documentation build from the release build to use instead ports (packages). This should make release building easier on slow architectures. Hopefully this switch will be done for 7.2-RELEASE or 8.0-RELEASE.

Regarding the time line, we still plan to release 8.0-RELEASE in mid-June 2009. A time for the 7.2-RELEASE has not been set yet.

Contact: Alexander Motin <mav@FreeBSD.org>

snd_hda(4) audio driver was significantly improved to provide better functionality according to High Definition Audio (HDA) and Universal Audio Architecture (UAA) specifications.

According to HDA specification, driver now supports multiple codecs per HDA bus and multiple audio functional groups per codec.

According to UAA specification, driver now implements idea of multiple logical audio devices per audio functional group. It means, that depending on specific system needs, single audio codec may provide several independent functions. For example, main multichannel output, headset input/output and digital SPDIF/HDMI audio input/output. Each of these functions are provided as separate pcm devices and can be used independently.

Comparing to ALSA and OSS HDA drivers which are heavily tuned to support each specific codec in every specific system, this driver uses advanced codec tracing logic which allows it to support most of existing HDA codecs and systems without any special tuning, using only information provided by system and codec itself. This also allows user to widely reconfigure logical audio devices in his system for his own needs, just by specifying wanted audio connectors usage in device.hints.

Also new driver implements SPDIF/HDMI digital audio, suspend/resume and initial parts of multichannel support.

Open tasks:

Implement input-to-output audio bypass tracing for codecs where bypass signal is not taken from main input mixer. Improve amplifiers control logic for cases where one signal can be controlled in several points. Implement multichannel playback, that required significant sound(4) modifications.

Contact: Bjoern A. Zeeb <bz@FreeBSD.org>

The multi-IPv4/v6/no-IP jails project patch has finally been committed to FreeBSD-CURRENT at the end of November.

As an alternate solution to full network stack virtualization, this work shall provide a lightweight solution for multi-IP virtualization. The changes are even more important because of the emerging demand for IPv6. Ideally this will be merged to FreeBSD 7 before 7.2-RELEASE and stay in FreeBSD 8 for the transitional period to full network stack virtualization.

Since the commit a few minor things have been fixed and work to address most of the remaining old jails PRs has almost been finished. The fallout from ports breakage has been handled with help from Erwin Lansing from the PortMgr Team.

Contact: Bjoern A. Zeeb <bz@FreeBSD.org>

Contact: Marko Zec <zec@FreeBSD.org>

The network stack virtualization project aims at extending the FreeBSD kernel to maintain multiple independent instances of networking state. This allows for networking independence between jail-like environments, each maintaining its own private network interfaces, IPv4 and IPv6 network and port address space, routing tables, IPSec configuration, firewalls, and more.

During BSDCan 2007 an initial commit plan had been worked out. The Developer Summit at Cambridge in August brought the first parts of VImage into the kernel. Marko gave a summary and outlook at EuroBSDCon in Strasbourg. From autumn until December all but the last step had been committed by Marko.

Druing December Bjoern was able to work full time on VImage because of FreeBSD Foundation funding. In addition to helping with reviews, summarizing things on the Wiki, a virtual cross-over Ethernet-like interface pair was developed to be able to bring networking to an instances without the mandatory need of netgraph.

The next steps will be to bring in the most important last step giving us multiple network stacks. After that all developers will be able to help to find (and fix) bugs. Further subsystems not yet addressed will need to be virtualized then. In addition to this Jamie Gritton's management interface will be imported.

Contact: Joseph Koshy <jkoshy@FreeBSD.org>

Support for Intel (TM) Atom/Core/Core2 family PMCs was added to PmcTools. Bugs in the toolset were tracked down and fixed, and the ABI between libpmc(3) and hwpmc(4) was reworked to hopefully be more future proof.

Contact: Alexander Motin <mav@FreeBSD.org>

Contact: M. Warner Losh <imp@FreeBSD.org>

FreeBSD mmc(4)/mmcsd(4) stack was improved to support all MMC/SD card types existing now. Support was added for SD High Capacity (SDHC) cards and MultiMediaCards (MMC) memory cards of normal (up to 2GB) and high capacity. Support was also added for 4/8bits wide buses, High Speed timings and multi-block transfers allows to reach speeds up to 25MB/s (SD) and 52MB/s (MMC) depending on which card and controller was used.

Added SD Host Controller driver, sdhci(4), that implements support for SD specification compatible PCI SD/MMC card readers to be used with mmc(4)/mmcsd(4) stack. Driver supports PIO and DMA transfers, 1/4bits buses, high speed timings, card insert/remove detection and write protection.

Open tasks:

Many of the existing SD Host Controllers have undocumented registers beyond SD specification. Some of them are unable to detect the card without some additional initialization implemented.

Contact: Rafal Jaworowski <raj@semihalf.com>

This work is bringing support for another Book-E style PowerPC implementation (PPC440/460 core) embedded in a wide range of system-on-chip devices. Current state highlights:

Locore kernel initialisation

TLB handling

Console (UART)

Interrupts controller (UIC)

USB controller (OHCI, EHCI)

Multi user operation

The CPU layer (kernel start-up, TLB handling) is derived from existing E500 support. Eventually the code will be re-factored so that the common logic is shared between processor variations and only the lowest-level routines are provided separately. A number of drivers for peripherals integrated on the chip needs to be written (Ethernet, PCI/PCI-Express, crypto engines, SATA, I2C, SPI, GPIO and others).

Contact: Marius Strobl <marius@FreeBSD.org>

FreeBSD 8.0-CURRENT now has basic support for sun4u-machines based on UltraSPARC III and beyond. This is still a work in progress though due to the diversity of these machines, hardware errata and bugs in machine independent parts of FreeBSD showing up. A install image with the latest code which in comparison to the official snapshot 200812 contains more dcons(4) fixes, an isp(4) working with 10160 and 12160 on sparc64, an endian-clean mpt(4) as needed for the on-board controller found in Fire V440, workarounds needed for Fire V880 and a fix for machines with more than 8GB of RAM (tested with 16GB) are available at the above URL. Known working machines so far are:

Blade 1000

Blade 1500

Blade 2000

Fire 280R

Fire V210

Fire V440 (except for the on-board NICs)

Fire V880

Netra 20/Netra T4

The stability of FreeBSD on these machines is en par with that on pre-USIII-based sun4u-machines. Machines similar to the ones above like for example Fire V240 should also just work with all essential on-board devices, i.e. serial console, ATA/SCSI controller and NIC, being supported. So far the intention is to MFC this code in time for FreeBSD 7.2.

Open tasks:

Apart from serial devices, only cards supported by creator(4) are currently usable as console, i.e. not even machfb(4) works in sun4u-machines based on UltraSPARC III or beyond at this point (it will trigger a RED state exception, which should not be that hard to fix though), let alone XVR graphics cards. A driver for the Sun Cassini/Cassini+ as well as National Semiconductor DP83065 Saturn Gigabit NICs found on-board for example in Fire V440 and as add-on cards is under development but still needs some work. There is no driver for controlling the fans in machines based on the Excalibur board, yet. This means that Blade 1000/2000 are not very usable as workstations so far due to the noise caused by the fans permanently running at full speed. There is no support for host-to-PCI-Express or host-to-PCI-X bridges so far, at least for the latter due to lack of access to such machines. Adding support for the XMITS PCI-X bridges to the existing schizo(4) should be rather straightforward, PCI-Express will require a new driver and probably some additional tweaking though.

Contact: Giorgos Keramidas <keramida@FreeBSD.org>

Contact: Manolis Kiagias <manolis@FreeBSD.org>

The FreeBSD Greek Documentation Project managed to complete a significant amount of work during 2008. The first ten chapters of the Handbook are now completely translated and kept in sync with the English text. Work is also progressing nicely in the second part of The Handbook, with many new translated chapters. At this pace, we hope to have a complete Greek Handbook by 8.0-RELEASE.

More volunteers are always welcome of course, as there is still plenty of work to be done.

Open tasks:

Complete the Greek translation of the Handbook (about ten chapters remaining) Complete the Greek translation of the FAQ (currently at around 40%) Translate more documentation (articles) to Greek Begin a Greek website on FreeBSD.org (volunteers needed)

Contact: Gábor Kövesdán <gabor@FreeBSD.org>

Contact: Gábor Páli <pgj@FreeBSD.org>

Hungarian translation of the FreeBSD Documentation Project Primer for New Contributors has been finished and now it is available both online and for download.

We hope that having the FDP Primer translated will encourage people to help our work. There is always place in our team, every submitted translation or feedback is appreciated and very welcome.

Beside the continuous maintenance of the Hungarian documentation and web pages, a new article translation has been added to the Hungarian Documentation Set, CUPS.

Open tasks:

Read the translations, send feedback Translate web pages Translate articles Translate release notes for -CURRENT and 7.X

Contact: Gábor Kövesdán <gabor@FreeBSD.org>

Some bugs have been fixed in the buffering and binary file detection parts of grep. Due to the differences between the GNU regexp library and our libc regexp implementation, I switched to the GNU library so that we can maintain an acceptable level of compatibility. The desired option would be to drop both GNU grep and the GNU regexp library, but unfortunately we cannot just do that because of these incompatibilities. Accordingly, the first step should be replacing grep and then we should review and optimize our regexp library. With this decision, BSD grep has acquired a higher level of compatibility and now seems to be much more useful.

Open tasks:

Make a portbuild run with BSD grep and fix possible bugs.

Contact: FreeBSD Forums Admins <forum-admins@>

Contact: FreeBSD Forums Moderators <forum-moderators@>

The FreeBSD forums were publicly launched on November 16th, 2008 as a complementary support channel to our great mailing lists.

There were almost 2000 new users registered in the first three days and each day we receive about 20 new user registrations. After less than three months after going public, we are now serving around 10,000 posts in 1,500 threads. We have received very positive feedback from our users, which we take as a good compensation for our efforts put into this project.

Contact: Murray Stokely <murray@FreeBSD.org>

A new channel has been setup on YouTube explicitly for BSD conference recordings. This channel does not have the normal 10 minute limit so full high quality presentations from 30 minutes to nearly 2 hours have been uploaded. So far over 23 videos are available from MeetBSD and NYCBSDCon, with more from BSDCan and AsiaBSDCon coming soon.

We are currently looking for more videos from BSDCan, EuroBSDCon, AsiaBSDCon, etc to upload to the channel. We also need help in creating subtitles for each video in various languages. If you would like to help out in generating subtitles for your language or if you have old video content from one of the above BSD conferences please let us know.

Open tasks: