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

Introduction

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 reading.


Google Summer of Code

Projects

FreeBSD Team Reports

Network Infrastructure

Documentation

Miscellaneous



Google Summer of Code


finstall

Links
URL: http://wiki.freebsd.org/finstall

Contact: Ivan Voras <ivoras@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 7.0-RELEASE.

Open tasks:

  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 unusable until these patches are committed.
  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

Links
URL: http://developer.berlios.de/projects/facund/

Contact: Andrew Turner <andrew@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.

Open tasks:

  1. Write more tests.

gvirstor

Links
URL: http://wiki.freebsd.org/gvirstor

Contact: Ivan Voras <ivoras@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.

Open tasks:

  1. It needs wider exposure and testing.

MTund - Magic Tunnel Daemon

Links
mtund Wiki Page URL: http://wiki.freebsd.org/MTund
MTund Poster URL: http://www.inf.ethz.ch/personal/mharvan/docs/eurobsdcon.pdf

Contact: Matus Harvan <mharvan@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).

Open tasks:

  1. Config file format and parser.
  2. More plugins (http, ssh, ...).

Porting OpenBSD's sysctl Hardware Sensors Framework to FreeBSD

Links
Port OpenBSD's sysctl hw.sensors framework to FreeBSD, a Google Summer of Code 2007 project URL: http://wiki.freebsd.org/GSoC2007/cnst-sensors
cnst's GSoC2007 blog URL: http://cnst.livejournal.com/tag/GSoC2007
cnst's GSoC2007 atom feed URL: http://cnst.livejournal.com/data/atom?tag=GSoC2007
Project completion announcement from 2007-09-13 URL: http://lists.freebsd.org/pipermail/freebsd-hackers/2007-September/021722.html
URL: http://p4web.freebsd.org//depot/projects/soc2007/cnst-sensors/?ac=83

Contact: Constantine A. Murenin <cnst@FreeBSD.org>
Contact: Shteryana Shopova <syrinx@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).

Open tasks:

  1. Final Review and Commit

Ports Collection infrastructure improvements

Links
Wiki page URL: http://wiki.freebsd.org/G%C3%A1borSoC2007

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

The two most important parts of this Summer of Code projects have been accomplished.

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

Links
Official FreeBSD Summer of Code 2007 Final Status Update URL: http://www.FreeBSD.org/projects/summerofcode-2007.html
Google Blog Post About FreeBSD URL: http://googlesummerofcode.blogspot.com/2007/09/updates-from-freebsd.html
FreeBSD Summer of Code Wiki URL: http://wiki.freebsd.org/SummerOfCode2007

Contact: Murray Stokely <murray@FreeBSD.org>
Contact: Robert Watson <rwatson@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.

Open tasks:

  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. http://www.FreeBSD.org/projects/ideas


Projects


Apple's MacBook on FreeBSD

Links
URL: http://wiki.freebsd.org/AppleMacbook

Contact: Rui Paulo <rpaulo@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.

Open tasks:

  1. Integrate rpaulo-macbook p4 branch into CVS.
  2. Continue the work on the remaining issues.

Multi-link PPP daemon (MPD) 5.x

Links
Project home URL: http://sourceforge.net/projects/mpd/
ChangeLog URL: http://mpd.sourceforge.net/doc5/mpd5.html

Contact: Alexander Motin <mav@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 predefined links/bundles,
  • New multilink implementation - no more predefined link-bundle relations,
  • Call forwarding (LAC, PAC, TSA) like in Cisco VPDN setups can now be enabled/configured depending on peer auth name/domain.

Open tasks:

  1. L2TP auth proxying support.

Multicast DNS

Links
URL: http://wiki.freebsd.org/MulticastDNS

Contact: Fredrik Lindberg <fli@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.

Open tasks:

  1. Avahi library wrapper.
  2. dns_sd (Apple) library wrapper.
  3. Testing (always welcome).

Porting Linux KVM to FreeBSD

Links
URL: http://feanor.sssup.it/~fabio/freebsd/lkvm/

Contact: Fabio Checconi <fabio@FreeBSD.org>
Contact: Luigi Rizzo <luigi@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.


USB

Links
Current USB files URL: http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/usb/src/sys/dev/usb&HIDEDEL=NO
Current USB API README file URL: http://perforce.freebsd.org/fileLogView.cgi?FSPC=//depot/projects/usb/src/sys/dev/usb/README

Contact: Hans Petter Sirevaag Selasky <hselasky@freebsd.org>

During the last three months there has been a flush of changes going into the FreeBSD USB P4 project. The changes mainly concern 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 noticeable increase in the maximum number of short-packet terminated BULK frames that can be transferred per second.

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 code.

Ideas and comments with regard to the new USB API are welcome at freebsd-usb@freebsd.org.



FreeBSD Team Reports


FreeBSD.org Admins Report

Contact: FreeBSD.org Admins Team admins@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 separate systems to improve performance of both CVS and Perforce.


Ports Collection

Links
The FreeBSD Ports Collection URL: http://www.freebsd.org/ports/
Contributing to the FreeBSD Ports Collection URL: http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/
FreeBSD ports unfetchable distfile survey (Bill Fenner's report) URL: http://people.freebsd.org/~fenner/portsurvey/
FreeBSD ports monitoring system URL: http://portsmon.FreeBSD.org/index.html
The FreeBSD Ports Management Team URL: http://www.freebsd.org/portmgr/index.html
The Marcuscom Tinderbox URL: http://tinderbox.marcuscom.com
GCC4 Status Page URL: http://wiki.freebsd.org/gcc4

Contact: Mark Linimon <linimon@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.

Open tasks:

  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.


Network Infrastructure


Network Stack Virtualization

Links
URL: http://imunes.tel.fer.hr/virtnet/

Contact: Marko Zec <zec@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.



Documentation


PC-BSD Handbook

Links
PC-BSD Web Page URL: http://www.pcbsd.org
FreeBSD Handbook URL: http://www.FreeBSD.org/handbook

Contact: Murray Stokely <murray@FreeBSD.org>
Contact: Matt Olander <matt@FreeBSD.org>
Contact: Fukang Chen <loader@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 files.

Open tasks:

  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 coordinate.

The Hungarian Documentation Project

Links
Info for volunteers URL: http://www.freebsd.org/hu/docproj/hungarian.html
Hungarian website URL: http://www.freebsd.org/hu/
Perforce repository URL: http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/docproj%5fhu&HIDEDEL=NO

Contact: G�bor K�vesd�n <gabor@FreeBSD.org>
Contact: G�bor P�li <pgj@FreeBSD.org>

We have a new volunteer, G�bor P�li, 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 welcome.

Open tasks:

  1. Translate the Handbook.

The Spanish Documentation Project

Links
Info for volunteers URL: http://www.freebsd.org/doc/es_ES.ISO8859-1/articles/fdp-es/

Contact: J. Vicente Carrasco Vay� <carvay@FreeBSD.org>
Contact: G�bor K�vesd�n <gabor@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 highly welcome.

Open tasks:

  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.


Miscellaneous


EuroBSDcon 2007

Links
URL: http://2007.EuroBSDCon.org/

Contact: EuroBSDCon 2007 Organizing Committee <info@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 fantastic talks.

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 website.

We thank our speakers for graciously having permitted recording and publication of their talks

EuroBSDCon 2008 will take place in Strassbourg.


GNATS graphs

Links
URL: http://people.freebsd.org/~edwin/gnats/

Contact: Edwin Groothuis <edwin@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.


News Home | Status Home