Jason Wright and Mark Kettenis have spent much of their time at the c2k6 hackathon finishing up support for UltraSparc III processors on the OpenBSD/sparc64 architecture. A number of months ago Henric Jungheim put in several weeks of effort reverse engineering support for the UltraSparc III, then OpenBSD creator Theo de Raadt [interview] put more time into cleaning up the diff and comitting much of it to the source tree. Halfway through the hackathon, Jason and Mark have taken what was not-quite functional code and have it successfully booting into multi-user mode. A couple of years ago there was an unsuccessful attempt to obtain documentation for this processor from Sun [story], so this current effort has had to use the FreeBSD and Linux UltraSparc III implementations as references. Theo explained, "Sun released CPU docs, but that's useless. It is kind of like trying to fix a car engine with the owner's manual. The rest of the hardware is not documented."
Jason points out that not only does OpenBSD run on the UltraSparc III processor, but it is also "self hosting". In other words, it is possible to build an UltraSparc III kernel on an UltraSparc III, and then reboot to that new kernel. This is important, Jason explains, because GCC is very memory and CPU intensive, "it really hits a server hard". He goes on to add that for this reason all the different OpenBSD architectures are built on their own architecture, and that this policy often catches bugs that could otherwise be missed.
Tables are cluttered with laptops, servers, switches, cables and cords as the 2006 OpenBSD hackathon continues in Calgary, Canada. Small groups of developers talk and debate around LCD screens, while others work individually on their own projects. Behind the scenes, a donated 10 megabit wireless connection provides Internet access to all. IP addresses and DNS are provided by stock bind and dhcpd processes running on an OpenBSD server. Among other things, the infrastructure area hosts an HP DL385 with 24 GB of memory that was recently donated by HP, a G5, several Sun Blade 2000's, and an assortment of PowerPC, Alpha and Opteron-based servers. A console server provides serial connections to the servers along with logs of what went on on the serial console, useful for debugging. Power issues on the first day were resolved by evenly spreading the servers and many laptops across the available circuits in the hackathon room. Chris Kuethe explained, "the whole point of the infrastructure is that it's not supposed to be exciting, it's just supposed to be there, like a light switch."
I have spoken with another 28 OpenBSD developers from Turkey, Iceland, Ireland, Germany, Sweden, Switzerland, Denmark, Australia, Austria, Hungary, the US, and Canada. Efforts are being made on ACPI, the VFS subsystem, link-layer authentication, OpenBGPD, tcpdump, XFree86, pf, CARP, dvmrpd as a replacement for mrouted, OpenRCS, OpenCVS, the USB layer, prebinding, ipsecctl, 10 gig Ethernet support, link layer path mtu discovery, several new and improved drivers, amd64 large memory support, new CD and DVD recording features for cdio, improvements to mg, support for new architectures, numerous new and updated ports, and much more.
The 2006 OpenBSD Hackathon, c2k6, is well underway in a conference room at a hotel in downtown Calgary, Canada. The event started yesterday, May 27th, attended by nearly 50 OpenBSD developers from all over the globe. OpenBSD creator Theo de Raadt [interview] is thrilled by what is already proving to be another successful event, "I don't think anybody else does this, developers suspend their lives for a week to focus entirely on just development." Theo explains that he doesn't get much coding done himself at these hackathons, but instead focuses on ensuring beneficial communication between developers, an obvious advantage to assembling so much talent in a single room.
Walking among the cluttered tables, I've been talking with the high energy attendees of this year's hackathon, learning who's here and what they're working on. In this first installment I've talked to 18 developers from France, Switzerland, Germany, the UK, the Netherlands, Australia, Brazil, Dominica, the US, and Canada. They each talk a little about how they discovered OpenBSD and what they're working on here at the hackathon, including introducing new ports, support for SD devices, local OpenCVS functionality, improvements to OpenNTPD, improved SCSI controller support, initial support for the UltraSparc III architecture, and much more. The hackathon continues around the clock through June 2nd.