The NetBSD Foundation Quarterly Report: January - June 2007
NetBSD is an actively developed operating system. With 54 different system architectures in total and binary support of 53 architectures in our last official release (NetBSD 3.1), our widely portable Packages Collection "pkgsrc" and large userbase there is a lot going on within the project. In order to allow our users to follow the most important changes over the last few months, we provide a brief summary in these official status reports, released with irregular regularity. These reports are suitable for reproduction and publication in part or in whole as long as the source is clearly indicated.
This status report summarizes the changes within NetBSD from January 2007 until June 2007.
To learn more about NetBSD visit its homepage hat http://www.NetBSD.org/, for a list of code changes see the src/doc/CHANGES and pkgsrc/doc/CHANGES-2007 files. Individual changes to the NetBSD source and pkgsrc can be monitored on the "source-changes" and "pkgsrc-changes" mailing lists, see the archives at http://mail-index.NetBSD.org/source-changes and http://mail-index.NetBSD.org/pkgsrc-changes.
January 2007 - June 2007
- Docathon 
- mklivecd update 
- linux plugins in native browser 
- Google Summer of Code
- NetBSD on the road
- evbmips: Netgear WGT624 v3 netbooting support added 
- i386: Microsoft Xbox support added 
- macppc: AOAKeylargo and AOAK2 audio support added
- powerpc hackathon 
- uGuru hardware system monitor support added 
- Daylight Saving Time Changes come and go 
- aiboost(4) added 
- Direct Rendering Manager imported into -current 
- Hardware monitoring on Ultra Enterprise 450 (sparc64) 
- POSIX Asynchronous I/O committed into -current 
- New driver for JMicron JMB36x Technologies committed 
- yamt-idlelwp branch merged 
- On Demand Clock Modulation added 
- IPv6 Fast Forward integrated 
- wide-curses support added 
- Branch updates
The NetBSD Project is pleased to announce that we have now have a second "build cluster" building releases of NetBSD daily. The Computer Science Department at Western Washington University in Bellingham Washington (USA) is using part of their cluster of i386 machines to build daily releases for NetBSD when they are not required for other use. The cluster is composed of 24 machines: the build master and 23 slaves. This cluster is currently building about two complete releases every day.
Because this is the second build cluster and to allow for the build clusters to not use the same snapshot name, the WWU cluster checks out the sources of two minutes past midnight instead of midnight like the first build cluster. So releases named something like 200702250000Z are built on the original cluster and releases with names like 200702270002Z are built on the WWU cluster.
The NetBSD daily builds are available at http://releng.NetBSD.org.
The NetBSD project is pleased to welcome the following new developers during the first quarter of 2007:
- Arnaud Degroote (login: degroote), who will be working on fast_ipsec, ipv6 mobility and routing code.
- Daniel Sieger (login: dsieger) will be working on the kernel and documentation.
- Keiichi SHIMA (login: keiichi) will be working on IPv6.
- Mark Kirby (login: mkirby), who will be working on website documentation.
- Nicolas Joly (login: njoly), who will be working on port-amd64, compat_linux and miscellaneous tasks.
- Mindaugas Rasiukevicius (login: rmind), who will be working on kernel and threading.
- Stephen Borrill (login: sborrill), who will be working on the NetBSD Packages Collection, multimedia and support for embedded systems.
- Tobias Nygren (login: tnn) will be working in the NetBSD Packages Collection, port-sparc64 and port-hp700.
The 5th NetBSD Hackathon took place from Friday, 6th of April, until Sunday, 8th of April 2007. The main focus of this hackathon was to bring the NetBSD WWW pages and documentation into a consistent and more up-to-date state, hence the name "docathon".
This docathon was organized by Daniel Sieger and announced on April 5th, 2007, and results were posted on April 9th, 2007 (see http://mail-index.NetBSD.org/netbsd-docs/2007/04/09/0002.html).
The great efforts of everybody involved allowed Daniel to later on provide other design suggestions easily implemented by applying new stylesheets to the .xml files. We are grateful for the work done and are looking forward to reaping the benefits in the future!
<xtraeme@NetBSD.org> has updated the
mklivecd package to version 0.15.1, providing these new
- Added support to download the sets via the target 'fetch'.
- Many error checks for options were added.
- Support for NetBSD/amd64
David Brownlee has committed patches and diffs from various people to allow linux netscape compatible plugins to work with a NetBSD native browser (such as Firefox), via the help of the www/nspluginwrapper package. One popular plugin is the multimedia/ns-flash linux Flash plugin, which can now be used by NetBSD/i386 without the need of a linux-binary version of Firefox (firefox-bin).
See http://mail-index.NetBSD.org/port-i386/2007/03/22/0014.html, http://mail-index.NetBSD.org/port-i386/2007/03/23/0015.html and http://mail-index.NetBSD.org/tech-kern/2007/04/06/0001.html for details.
http://mail-index.NetBSD.org/netbsd-java/2004/04/16/0000.html and http://mail-index.NetBSD.org/pkgsrc-users/2007/02/07/0008.html include instructions on how to use this to allow the native browser to use the java plugin as well.
For the third time in a row, the NetBSD Project has been chosen as one of the mentoring organizations in Google's Summer of Code program. Preparations for this year's iteration began in early March (http://www.NetBSD.org/changes/#soc200707), when a list of possible projects (http://www.NetBSD.org/contrib/soc-projects.html) was updated and polished by NetBSD developers, to encourage students to apply as well as to provide them with realistic expectations and detailed guidelines for each project.
Following the applicant's deadline in April (http://www.NetBSD.org/changes/#soc200707appeval), the difficult task of selecting the best proposals among the many submitted applications had to be completed, ultimately leading to the following list of selected students:
Project: Automated Testing Framework
Student: Julio M. Merino Vidal
Mentor: Martin Husemann
Project: Porting ZFS
Student: Oliver Gould
Mentor: Dieter Baron
Project: A Framework For Enforcing QoS Inside the NetBSD UVM
Student: Sumantra R. Kundu
Mentor: William Stouder-Studenmund
Project: Running Kernel File Systems in Userspace
Student: Antti Kantee
Mentor: William Stouder-Studenmund
Project: Improving the pkgsrc Build System
Student: Jörg Sonnenberger
Mentor: Johnny C. Lam
Project: Hardware Monitoring and HAL Port
Student: Jachym Holecek
Mentor: Quentin Garnier
For a full press release about the beginning of the Summer of Code, please see http://www.NetBSD.org/foundation/press/soc2007.html.
By now, the Summer of Code is in full swing, and students and mentors are busy collaborating on their respective project.
The NetBSD Project was represented by developers and other volunteers at a number of conferences and tradeshows during the first quarter of 2007. Patiently, the following people invested a lot of their personal time, money and resources to tell attendants about NetBSD, to explain (again and again) the difference between NetBSD and Linux or NetBSD and the other BSDs, sold CDs and other merchandise and in general deserve thanks for helping the NetBSD Project:
- Stefan Schumacher offered a talk on how to secure a NetBSD system using Systrace at the German Unix User Group's “Frühjahrsfachgespräch” in Berlin, Germany on March 1st, 2007. See http://net-tex.dnsalias.org/~stefan/nt/netbsd/systrace.html.
- A NetBSD booth was organized by Hubert Feyrer and manned by Stefan Schumacher, Jörg Sonnenberger and many others at the Chemnitzer Linux-Tage in Chemnitz, Germany, on March 3rd and 4th, 2007.
- AsiaBSDCon 2007 took place in Tokyo, Japan from March 8th to 11th, 2007. A number of NetBSD related talks were given. See http://asiabsdcon.org/papers/index.html for a list of papers and presentation.
- The Japan NetBSD Users' Group staffed a booth at the Open Source Conference 2007 Tokyo, in Tokyo, Japan on March 16th and 17th, 2007.
- A joint BSD booth was organized for the Linux-Infotag in Augsburg, Germany, on March 24th, 2007. See http://mail-index.NetBSD.org/netbsd-advocacy/2007/03/26/0000.html for details.
- BSDCan 2007 took place in Ottawa, Canada, from May 18th and 19th, 2007. As in previous years, number of NetBSD related talks and presentations were given. See http://www.bsdcan.org/2007/schedule/events.en.html.
- Amitai Schlair gave a presentation on pkgsrcCon 2007 at the New York BSD User Group on May 2nd, 2007. See http://www.nycbug.org/index.php?NAV=Home;SUBM=10102 and http://www.pkgsrccon.org/2007/slides/schmonz/nycbug-pkgsrccon.html
On April 19th the pkgsrc team branched the first stable branch of 2007 with support for 6588 packages. At the same time, the pkgsrc-2006Q4 branch has been deprecated, and continuing engineering starts on the pkgsrc-2007Q1 branch.
The source tar files for the new branch can be found at:
You can also use the pkgsrc-2007Q1 tag to check it out yourself from anoncvs.NetBSD.org or any of the mirrors.
Please see the detailed pkgsrc-2007Q1 announcement in Alistair G. Crooks's email to the pkgsrc-users mailing list for more information:
The fourth annual pkgsrcCon took place in Barcelona, Spain on Apr 27 - 29, 2007. pkgsrcCon is a technical conference focusing on the technology and the use of the NetBSD Packages Collection. The slides for all the presentations given in Barcelona are available online at http://www.pkgsrccon.org/2007/presentations.html
Due to the large number of supported platforms, this status report will only point out the very significant changes to some of the ports. For a full list of port-specific changes, please refer to http://www.NetBSD.org/changes/changes-3.0.html#port_specific and http://www.NetBSD.org/changes/changes-3.1.html#port_specific
The evbmips port now supports netbooting the Netgear WGT624 v3 wireless router thanks to Garrett D'Amore and Jared McNeill. The WGT624 v3 is based on an Atheros AR2315 system-on-a-chip.
Andrew Gillham and Jared McNeill have committed basic support for Microsoft's Xbox to the i386 port.
- Framebuffer in all supported modes (NTSC/PAL 4:3 / 16:9, EDTV, HDTV) via xboxfb wsdisplay driver
- XFree86 / Xorg support via wsfb
- Onboard ethernet (nfe)
- Onboard audio (auich)
- DVD-ROM drive (cd)
- USB 1.1 (ohci)
- Onboard SMBus (amdpm)
- Temperature sensors, power control, LED control (pic16lc)
- Serial EEPROM (xbseeprom)
- Xbox Gamepad as a mouse device (xboxcontroller)
- Onboard ATA (viaide)
- Onboard Hard Disk (wd)
Not yet supported:
- Xbox partition table and FATX filesystem support
- Accelerated X server (work in progress)
- Memory cards
Jared McNeill added support for the AOAKeylargo and AOAK2 series audio devices, typically found in G4 Mac Minis. This is a fun device because it doesn't have a hardware mixer; the kent-audio1 audio filter pipeline work was leveraged to add a software volume control filter to the PCM stream before it hits the hardware to provide accurate volume controls. man page: snapper(4)
The 6th NetBSD Hackathon took place on May 2nd, 2007 with a focus on OEA PowerPC ports and chips (601, 603, 604, and similar chips). This hackathon was organized by Tim Rightnour (see http://mail-index.NetBSD.org/port-powerpc/2007/04/24/0000.html for his announcement). Results of the event were posted at http://mail-index.NetBSD.org/port-powerpc/2007/05/04/0000.html and work continued on the "ppcoea-renovation" branch (see below).
The NetBSD Project published the following NetBSD Security Advisories in the first half of 2007:
<xtraeme@NetBSD.org> has committed a driver for the uGuru hardware
system monitor found in Abit motherboards. It can report the value from
all sensors connected to the motherboard. uGuru was written by Mihai
Chelaru. The ug(4) driver will be available in NetBSD 4.0.
In February and March of 2007, many organizations scrambled to get their systems ready for the change in Daylight Saving Time in a number of countries, including the US. NetBSD has, of course, shipped with the appropriate timezone files for years; even though changes to timezones in general and DST rules in particular happen a few times a year throughout the world, the NetBSD operating system has of course always provided accurate and up to date zone files as soon as possible.
See http://www.NetBSD.org/changes/#dst2007 for details.
<xtraeme@NetBSD.org> has ported the ASUS AI Booster ACPI Hardware
monitor driver, found in all newer ASUS motherboards from FreeBSD. See
aiboost(4) for details.
Jared McNeill imported supported for DRM and DRI into -current. He also provided the start of a mesa-dri package that can be found in pkgsrc-wip/mesa-dri now, and which is the OpenGL library that uses the DRI/DRM interface. A lot of this is work in progress, and there's also a status report with some hints on how to get various cards going (at http://www.NetBSD.org/~jmcneill/index.html), together with some more hints on how to get things going at http://mail-index.NetBSD.org/tech-x11/2007/03/31/0012.html and http://mail-index.NetBSD.org/tech-x11/2007/03/31/0004.html.
See also the manual page for drm(4) in NetBSD-current.
Tobias Nygren has committed a driver to support hardware monitoring on sparc64 Ultra Enterprise 450. See envctrl(4).
Mindaugas Rasiukevicius committed support for POSIX Asynchronous I/O into -current. Please see http://www.NetBSD.org/~rmind/aio.html for implementation details.
Manuel Bouyer has committed a driver for the JMicron JMB36x PCI Express to SATA 2/PATA controllers from JMicron Technologies. See jmide(4). The driver will appear on NetBSD 4.0.
YAMAMOTO Takashi merged the yamt-idlelwp branch into -current on 2007-05-17. This branch had the following goals:
- separate context switching and thread scheduling. (cf. gmcgarry_ctxsw)
- implement idle lwp.
- clean up related MD/MI interfaces.
- make scheduler(s) modular.
It greatly reduces and simplifies the amount of machine-dependent code for doing lwp switching in the kernel. A major effect of these changes is that there will now always be a lwp active, even if that lwp is just running the idle loop.
<xtraeme@NetBSD.org> has ported the Intel On Demand Clock
Modulation driver from FreeBSD/OpenBSD. This driver is used to save power
and overheating in CPUs supporting the Thermal Monitor feature on Intel
Enabled with “options INTEL_ONDEMAND_CLOCKMOD”, if supported a
machpdep.clockmod node in sysctl will be created, use sysctl -d
machdep.clockmod to see descriptions.
IPv6 Fast Forward has been integrated into NetBSD by Liam J. Foy. This is the counterpart to IPv4 Fast Forward, and is implemented by using flows. Each flow of packets describes a connection between two end points. The flow caches details like the route used, and it's accessed using simple hashing techniques. This technique allows IPv6 forwarding to use a lot less CPU resources, which may be scarce on legacy and/or embedded systems, and throughput is effectively limited by the bus bandwidth and the network driver's performance only.
To enable IPv6 Fast Forward, your kernel must be built with "options GATEWAY". The ip6.maxflows sysctl can be used to set the maximum number of cached flows, a value of 0 disables IPv6 Fast Forwarding. See the options(6) and sysctl(7) manpages for more information.
Both IPv6 and IPv4 Fast Forward also have a new sysctl:
These sysctls control the size of the hash table - a larger hash table results in less collisions.
Brett Lymn announced on May 29th, 2007, that together with Julian Coleman, he had merged the wide curses modifications that were originally done by Ruibiao Qiu as a Google Summer of Code 2005 project (see http://netbsd-soc.sourceforge.net/projects/wcurses/). This now allows the new curses library to properly display wide character locales, such as Simplified Chinese, Traditional Chinese and Japanese.
From time to time, branches are created in the CVS repository to allow for independent development of certain features. Work on these branches is often driven by individual developers and changes are eventually fed back into the main development tree. The following provides a brief update of some of the different branches marked as 'active' in CVS at the time of this writing:
General renovation and cleanup of all OEA PowerPC ports. The work on the branch is approximately 60% complete. Currently macppc, mvmeppc, prep, ibmnws, sandpoint, and pmppc have been converted over to the new shared code. Conversion of bebox is currently underway. Still remaining to do on the branch: Rewrite ofppc, soft intr pic integration, fix macppc bus_dma, convert marvell code to shared code.
Fix a number of issues present with Scheduler Activations
This is a new branch created on May 15th, 2007. It is based off of the netbsd-4 branch and is intended to stage improvements for the Scheduler Activations system for NetBSD 4. Improvements include not allocating memory while preparing to tsleep(), reducing inappropriate upcall delivery (hopefully also eliminating the need to mlock stacks), and being able to pthread_kill() running threads.
Back to the NetBSD Foundation Inc. page