FreeBSD Status Reports for the Third Quarter of 2007
brd at FreeBSD.org
Wed Oct 10 12:00:54 PDT 2007
FreeBSD Quarterly Status Report
This report covers FreeBSD related projects between July and October
2007. The sixth EuroBSDCon was held in Denmark in September. The Google
Summer of Code project came to a close and lots of participants are
working getting their code merged back into FreeBSD.
The bugs in the FreeBSD HEAD branch are being shaked out and it is
being prepared for the FreeBSD 7 branching. If your are curious about
what's new in FreeBSD 7.0 we suggest reading Ivan Voras' excellent
summary here .
Thanks to all the reporters for the excellent work! We hope you enjoy
Google Summer of Code
* Summer of Code
* FreeBSD-update Front End
* MTund - Magic Tunnel Daemon
* Porting OpenBSD's sysctl Hardware Sensors Framework to FreeBSD
* Ports Collection infrastructure improvements
* Apple's MacBook on FreeBSD
* Multi-link PPP daemon (MPD) 5.x
* Multicast DNS
* Porting Linux KVM to FreeBSD
FreeBSD Team Reports
* FreeBSD.org Admins Report
* Ports Collection
* Network Stack Virtualization
* PC-BSD Handbook
* The Hungarian Documentation Project
* The Spanish Documentation Project
* EuroBSDcon 2007
* GNATS graphs
Apple's MacBook on FreeBSD
Contact: Rui Paulo <rpaulo at FreeBSD.org>
The Summer of Code project went well and we reached interesting
results. At least the Mac Mini should be fully supported by now.
Regarding the other Apple systems, we still need to polish some edges.
1. Integrate rpaulo-macbook p4 branch into CVS.
2. Continue the work on the remaining issues.
Contact: EuroBSDCon 2007 Organizing Committee <info at EuroBSDCon.dk>
The sixth EuroBSDCon went well. 215 people attended the conference.
Feedback has been very positive.
At the conference we had a Best Talk contest. Steven Murdoch, Isaac
Levy and Pawel Jakub "zfs-man" Dawidek each received a prize for their
Also over 300 pictures from the conference has been uploaded to Flickr
with the tag EuroBSDCon2007
Videos and slides from the talks are now online at the conference
We thank our speakers for graciously having permitted recording and
publication of their talks
EuroBSDCon 2008 will take place in Strassbourg.
Contact: Ivan Voras <ivoras at freebsd.org>
The "finstall" project is about the new graphical installer for
FreeBSD. The basic frameworks (both client-side and server-side) are
done during the SoC 2007 and it's ready for major new features to be
implemented. This project should yield an usable installer for
1. - There are several patches needed for finstall's operation that
are still waiting on re@'s approval (unionfs, pwd, kbdmap).
Finstall will be late or unusuable until these patches are
2. - After the patches are committed, there are several exciting
features to be implemented, among others ZFS and GEOM RAID support.
FreeBSD-update Front End
Contact: Andrew Turner <andrew at FreeBSD.org>
The freebsd-update front end is able to wait for freebsd-update to
download a new set of patches to apply. It can then install and
rollback the patches on either the local computer or over a SSH tunnel.
Since the end of the Summer of Code work has moved to BerliOS. The
focus has been on writing tests for the front end, back end and
communication library. The library has had tests written for most of it
while the front and back ends have none.
1. Write more tests.
FreeBSD.org Admins Report
Contact: FreeBSD.org Admins Team admins at FreeBSD.org <>
Over the last couple of months several FreeBSD.org systems have been
experiencing hardware issues. This included the main web-server
www.FreeBSD.org which had a bad fan. The bad fan has been replaced so
it should hopefully be stable again. In general we are working on
replacing older hardware with newer systems and consolidating machine
functions in the process.
Since August most FreeBSD.org services have been available via IPv6
with connectivity provided from ISC using a tunnel.
To honor the "Eat your own dog-food" principle the first two
FreeBSD.org infrastructure systems have been upgraded to FreeBSD 7 and
more are being upgraded as time permit.
Due to heavy load on the project's Perforce and CVS server the two
services are being moved to seperate systems to improve performance of
both CVS and Perforce.
Contact: Edwin Groothuis <edwin at FreeBSD.org>
With the leaving of bsd@, we lost the GNATS statistics webpages. On
this URL I generate a new set of graphs, right now a subset of what
bsd@ had, hopefully a superset of that in the future.
Contact: Ivan Voras <ivoras at freebsd.org>
GEOM_VIRSTOR (virtual disk space / over-commit GEOM class) has been
committed to 7-CURRENT and will ship in 7.0-RELEASE. Thanks to Pawel
Jakub Dawidek and others who have made this possible.
1. It needs wider exposure and testing.
MTund - Magic Tunnel Daemon
Contact: Matus Harvan <mharvan at FreeBSD.org>
IP can easily be tunneled over a plethora of network protocols at
various layers, such as IP, ICMP, UDP, TCP, DNS, HTTP, SSH. While a
direct connection may not always be possible due to a firewall, the IP
packets could be encapsulated as payload in other protocols, which
would get through. However, each such encapsulation requires the setup
of a different program and the user has to manually probe different
encapsulations to find out which of them works in a given environment.
MTund is a tunneling daemon using run-time loadable plugins for the
different encapsulations. It automagically selects the best
encapsulation in each environment and can fail over to another
encapsulation. Several plugins have been implemented and the daemon
supports multiple concurrent clients.
Note that the project originally started under the name of Super Tunnel
Daemon, but was later renamed to Magic Tunnel Daemon (MTund).
1. Config file format and parser.
2. More plugins (http, ssh, ...).
Multi-link PPP daemon (MPD) 5.x
Contact: Alexander Motin <mav at FreeBSD.org>
New mpd-5.x branch has been started and first public release is planned
soon. The main goal of the new branch is to implement new operation
principles based on dynamic on-demand links/bundles creation. There are
several benefits received from new design:
* Significantly simplified server configuration - no more tons of
* New multilink implementation - no more predefined link-bundle
* Call forwarding (LAC, PAC, TSA) like in Cisco VPDN setups can now
be enabled/configured depending on peer auth name/domain.
1. L2TP auth proxying support.
Contact: Fredrik Lindberg <fli at FreeBSD.org>
The project (started out as a GSoC 2007 project) aims to provide a
complete Multicast DNS and Service Discovery suite. Much progress have
been made since the last status report and the project is slowly
reaching a usable state. Most features are complete and the current
focus is on fixing outstanding bugs, fine tuning and testing. However,
there are still a few open tasks (see below). More information and
snapshots can be found at the wiki page.
1. Avahi library wrapper.
2. dns_sd (Apple) library wrapper.
3. Testing (always welcome).
Network Stack Virtualization
Contact: Marko Zec <zec at fer.hr>
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 environmens,
each maintaining its private network interface set, IPv4 and IPv6
network and port address space, routing tables, IPSec configuration,
firewalls, and more.
The prototype, which is kept in sync with FreeBSD -CURRENT, should be
sufficiently stable for testing and experimental use. The project's web
page includes weekly code snapshots, as well as a virtualized FreeBSD
system installed on a VMWare disk image available for download.
The short-term goal is to deliver production-grade kernel support for
virtualized networking for FreeBSD 7.0-RELEASE (as a snap-in kernel
replacement), while continuing to keep the code in sync with -CURRENT
for possible merging at a later date.
Contact: Murray Stokely <murray at FreeBSD.org>
Contact: Matt Olander <matt at FreeBSD.org>
Contact: Fukang Chen <loader at FreeBSD.org>
The PC-BSD derivative of FreeBSD is becoming increasingly popular for
new users of BSD. Much of the content in the existing FreeBSD Handbook
is directly applicable to PC-BSD. We are writing PC-BSD specific
installation and port/packages chapters (PBI). These chapters will be
checked into docs/en_US.ISO8859-1/books/pcbsd-handbook and will include
some of the same chapters as the Handbook does, but with a different
&os entity and possibly with some conditional changes in those chapter
1. More work is needed on a PC-BSD ports/packages chapter. Fukang may
already have some work in this area so coordinate with him first.
2. More text is needed for the PC-BSD installation chapter to augment
the screenshots that Fukang has collected. Contact him to
Porting Linux KVM to FreeBSD
Contact: Fabio Checconi <fabio at FreeBSD.org>
Contact: Luigi Rizzo <luigi at FreeBSD.org>
Linux KVM (Kernel-based Virtual Machine) is a software package that can
be used to create virtual machines fully emulating x86 hardware on top
of machines supporting Intel VT-x or AMD-V virtualization extensions,
available on newer AMD and Intel processors, e.g., recent Athlon64,
Core 2 Duo, Xeon and so on.
Linux KVM has been ported to FreeBSD as a loadable kernel module, using
the linux-kmod-compat port (in /usr/ports/devel/) to reuse as much as
possible of the original source code, plus an userspace client
consisting in a modified version of qemu, that uses KVM for the
execution of its guests.
The porting has been completed, many of the limitations present at the
end of the Summer of Code have been removed and the known bugs have
been fixed. Some configurations have been tested, FreeBSD-CURRENT i386
guests have been booted on Intel and AMD processors, both in i386 and
amd64 (host) installations. Only one client at a time is supported by
now and performance is not that exciting, but the project seems to be
ready to receive wider testing.
Porting OpenBSD's sysctl Hardware Sensors Framework to FreeBSD
Contact: Constantine A. Murenin <cnst at FreeBSD.org>
Contact: Shteryana Shopova <syrinx at FreeBSD.org>
The GSoC2007/cnst-sensors project was about porting the sysctl
hw.sensors framework from OpenBSD to FreeBSD. The project was
successfully completed , committed into DragonFly BSD , and is now
pending final review and integration into the FreeBSD's CVS tree
(subject to the tree being unfrozen).
The sensors framework provides a unified interface for storing,
registering and accessing information about hardware monitoring
sensors. Sensor types include, but are not limited to, temperature,
voltage, fan RPM, time offset and logical drive status. In the OpenBSD
base system, the framework spans sensor_attach(9) , sysctl(3) ,
sysctl(8) , systat(1) , sensorsd(8) , ntpd(8) and more than 50 drivers,
ranging from I2C temperature sensors and Super I/O hardware monitors to
IPMI and RAID controllers. Several third-party tools are also
available, for example, a plug-in for Nagios and ports/sysutils/symon.
As a part of this Google Summer of Code project, all core components of
the framework were ported, including sysctl, systat and sensorsd. Some
drivers for the most popular Super I/O Hardware Monitors were ported,
too: it(4) , supporting most contemporary ITE Tech Super I/O, and lm(4)
, supporting most contemporary Winbond Super I/O. Moreover, some
existing FreeBSD drivers were converted to utilise the framework, for
example, coretemp(4) .
1. Final Review and Commit
Contact: Mark Linimon <linimon at FreeBSD.org>
The ports count is over 17,700. The PR count has decreased a bit to
just over 700.
There have been 6 experimental runs on the build cluster. The resulting
commits include the fixup of last year's DESTDIR changes, the
refactoring of perl bits into bsd.perl.mk, the update of xorg from 7.2
to 7.3, the upgrade of all of the autoconf dependencies to the latest
version (wherever possible), and the upgrade of Python to 2.5. This
effort has resulted in the fewest number of 'open' portmgr PRs in quite
some time. portmgr appreciates all the people who worked with us on
these patches, and people's patience as we catch up.
As well, lofi@ committed the upgrade of QT to 4.3.1.
We have added 3 new committers since the last report.
1. GCC4.2 has been imported to the base for 7.0. Unfortunately, this
broke a large number of ports. The ones that have not yet been
fixed have now been flagged as 'broken' for both i386 and amd64, as
appropriate. Please see the GCC4 status page (above) if you are
able to help.
2. 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.
3. Although we have added many maintainers, we still have many
unmaintained ports. The packages on amd64 are lagging behind a bit;
those on sparc64 require even more work.
Ports Collection infrastructure improvements
Contact: Gábor Kövesdán <gabor at FreeBSD.org>
The two most important parts of this Summer of Code projects have been
The DESTDIR support for the Ports Collection has been rewritten to use
a chrooted install. Now it is much more lightweight and easier to
understand, but it works well for the most common cases, where it is
supposed to be useful.
The Perl parts of the Ports Collection infrastructure have been
extracted into an own module. At the same time, a new version handling
has been invented. You can find more info on the Wiki.
Summer of Code
Contact: Murray Stokely <murray at FreeBSD.org>
Contact: Robert Watson <rwatson at FreeBSD.org>
We're happy to report the successful conclusion of our third
consecutive Google Summer of Code. By all accounts, the FreeBSD
participation in this program was an unqualified success. We narrowed
down the many impressive applications to 25 that were selected for
funding and 92% of these completed successfully and were awarded the
full $4,500 stipend. The FreeBSD Foundation was also granted $500 per
student from Google for a total of $12,500.
These student projects included security research, improved
installation tools, new utilities, and more. Many of the students have
continued working on their FreeBSD projects even after the official
close of the program. Three students have already been granted full
src/ commit access to CVS and more are expected. At least 2 of our
FreeBSD mentors will be meeting with Google organizers in Mountain View
this month to discuss the program at the Mentor Summit.
1. Integration of student projects into FreeBSD -CURRENT. Several are
currently blocked on the FreeBSD 7.0 code freeze, but we hope to
see these contributions included in a future release.
2. Updating the ideas list. Many of the items listed there have been
completed and we could always use new projects for next year's
students and for others to work on throughout the year.
The Hungarian Documentation Project
Contact: Gabor Kovesdan <gabor at FreeBSD.org>
Contact: Gabor Pali <pgj at FreeBSD.org>
We have a new volunteer, Gabor Pali, who provided us some high-quality
contributions. As a result, we have been able to add 5 new articles
since the last status report.
There is also an ongoing effort in the Perforce repository to translate
the FreeBSD Handbook to Hungarian. Any kind of support is highly
1. Translate the Handbook.
The Spanish Documentation Project
Contact: J. Vicente Carrasco Vayá <carvay at FreeBSD.org>
Contact: Gabor Kovesdan <gabor at FreeBSD.org>
After a long break in this project, we started reviewing and refreshing
our translations. We have to update the content to reflect the current
state of the English version. There are a few parts written in a poor
style, another task is to improve these a bit. Any kind of help is
1. Sync the website with the English version.
2. Sync the documentation with the English version.
3. Review the quality of poorly translated parts.
4. Add more translations.
Contact: Hans Petter Sirevaag Selasky <hselasky at freebsd.org>
During the last three months there has been a flush of changes going
into the FreeBSD USB P4 project. The changes mainly consern the ability
to support the USB device side and multi frame USB transfers. Up to
date the FreeBSD USB stack has only supported the USB Host Side. Before
Christmas 2007 the P4 USB project will offer USB device support and
some simple USB device side implementations. Technically an USB device
side driver will look very similar to an USB host side driver. Infact
there will be very few differences. Support for multi frame USB
transfers opens up the possibility to transfer multiple short-packet
terminated USB frames to/from different memory locations resulting in
only one interrupt on the USB Host Controller. More specific: I have
implemented support for the "alt_next" pointer in the EHCI Transfer
Descriptor. This should give a noticable increase in the maximum number
of short-packet terminated BULK frames that can be transferred per
I regularly get questions from people asking about when the USB P4
project will be merged into FreeBSD-current. The answer is not simple,
but probably something like another year. The reason is not that the
current code in the USB P4 project is not usable, but rather that the
quality needs to be raised in means of making already good solutions
more technically excellent, writing more documentation and styling the
Ideas and comments with regard to the new USB API are welcome at
freebsd-usb at freebsd.org.
More information about the freebsd-stable