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
- Summer of Code
- finstall
- FreeBSD-update Front End
- gvirstor
- MTund - Magic Tunnel Daemon
- Porting OpenBSD's sysctl Hardware Sensors Framework to FreeBSD
- Ports Collection infrastructure improvements
Projects
- Apple's MacBook on FreeBSD
- Multi-link PPP daemon (MPD) 5.x
- Multicast DNS
- Porting Linux KVM to FreeBSD
- USB
FreeBSD Team Reports
Network Infrastructure
Documentation
Miscellaneous
Apple's MacBook on FreeBSD
URL: http://wiki.freebsd.org/AppleMacbook
Contact: Rui Paulo <[email protected]>
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:
- Integrate rpaulo-macbook p4 branch into CVS.
- Continue the work on the remaining issues.
EuroBSDcon 2007
URL: http://2007.EuroBSDCon.org/
Contact: EuroBSDCon 2007 Organizing Committee <[email protected]>
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.
finstall
URL: http://wiki.freebsd.org/finstall
Contact: Ivan Voras <[email protected]>
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:
- - 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.
- - After the patches are committed, there are several exciting features to be implemented, among others ZFS and GEOM RAID support.
FreeBSD-update Front End
URL: http://developer.berlios.de/projects/facund/
Contact: Andrew Turner <[email protected]>
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:
- Write more tests.
FreeBSD.org Admins Report
Contact: FreeBSD.org Admins Team [email protected] <>
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.
GNATS graphs
URL: http://people.freebsd.org/~edwin/gnats/
Contact: Edwin Groothuis <[email protected]>
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.
gvirstor
URL: http://wiki.freebsd.org/gvirstor
Contact: Ivan Voras <[email protected]>
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:
- It needs wider exposure and testing.
MTund - Magic Tunnel Daemon
URL:
http://wiki.freebsd.org/MTund
URL:
http://www.inf.ethz.ch/personal/mharvan/docs/eurobsdcon.pdf
Contact: Matus Harvan <[email protected]>
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:
- Config file format and parser.
- More plugins (http, ssh, ...).
Multi-link PPP daemon (MPD) 5.x
URL:
http://sourceforge.net/projects/mpd/
URL:
http://mpd.sourceforge.net/doc5/mpd5.html
Contact: Alexander Motin <[email protected]>
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:
- L2TP auth proxying support.
Multicast DNS
URL: http://wiki.freebsd.org/MulticastDNS
Contact: Fredrik Lindberg <[email protected]>
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:
- Avahi library wrapper.
- dns_sd (Apple) library wrapper.
- Testing (always welcome).
Network Stack Virtualization
URL: http://imunes.tel.fer.hr/virtnet/
Contact: Marko Zec <[email protected]>
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.
PC-BSD Handbook
URL:
http://www.pcbsd.org
URL:
http://www.FreeBSD.org/handbook
Contact:
Murray
Stokely
<[email protected]>
Contact:
Matt
Olander
<[email protected]>
Contact:
Fukang
Chen
<[email protected]>
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:
- 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.
- More text is needed for the PC-BSD installation chapter to augment the screenshots that Fukang has collected. Contact him to coordinate.
Porting Linux KVM to FreeBSD
URL: http://feanor.sssup.it/~fabio/freebsd/lkvm/
Contact:
Fabio
Checconi
<[email protected]>
Contact:
Luigi
Rizzo
<[email protected]>
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
URL:
http://wiki.freebsd.org/GSoC2007/cnst-sensors
URL:
http://cnst.livejournal.com/tag/GSoC2007
URL:
http://cnst.livejournal.com/data/atom?tag=GSoC2007
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
<[email protected]>
Contact:
Shteryana
Shopova
<[email protected]>
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:
- Final Review and Commit
Ports Collection
URL:
http://www.freebsd.org/ports/
URL:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/
URL:
http://people.freebsd.org/~fenner/portsurvey/
URL:
http://portsmon.FreeBSD.org/index.html
URL:
http://www.freebsd.org/portmgr/index.html
URL:
http://tinderbox.marcuscom.com
URL:
http://wiki.freebsd.org/gcc4
Contact: Mark Linimon <[email protected]>
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:
- 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.
- 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 many unmaintained ports. The packages on amd64 are lagging behind a bit; those on sparc64 require even more work.
Ports Collection infrastructure improvements
URL: http://wiki.freebsd.org/G%C3%A1borSoC2007
Contact: Gábor Kövesdán <[email protected]>
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
URL:
http://www.FreeBSD.org/projects/summerofcode-2007.html
URL:
http://googlesummerofcode.blogspot.com/2007/09/updates-from-freebsd.html
URL:
http://wiki.freebsd.org/SummerOfCode2007
Contact:
Murray
Stokely
<[email protected]>
Contact:
Robert
Watson
<[email protected]>
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:
- 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.
- 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
The Hungarian Documentation Project
URL:
http://www.freebsd.org/hu/docproj/hungarian.html
URL:
http://www.freebsd.org/hu/
URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/docproj%5fhu&HIDEDEL=NO
Contact:
Gábor
Kövesdán
<[email protected]>
Contact:
Gábor
Páli
<[email protected]>
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:
- Translate the Handbook.
The Spanish Documentation Project
URL: http://www.freebsd.org/doc/es_ES.ISO8859-1/articles/fdp-es/
Contact:
J. Vicente
Carrasco Vayá
<[email protected]>
Contact:
Gábor
Kövesdán
<[email protected]>
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:
- Sync the website with the English version.
- Sync the documentation with the English version.
- Review the quality of poorly translated parts.
- Add more translations.
USB
URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/usb/src/sys/dev/usb&HIDEDEL=NO
URL:
http://perforce.freebsd.org/fileLogView.cgi?FSPC=//depot/projects/usb/src/sys/dev/usb/README
Contact: Hans Petter Sirevaag Selasky <[email protected]>
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 [email protected].
News Home | Status Home