The NetBSD Foundation Quarterly Report: January - June 2007

NetBSD Quarterly Status Report

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.

-Jan Schaumann

January 2007 - June 2007

Administrative

Miscellaneous

pkgsrc

Ports

Security

Technical


Administrative

New build cluster hosted at WWU [20070302]

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.

New Developers [20070501]

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.

Miscellaneous

Docathon [20070405]

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!

mklivecd update [20070411]

Juan RP has updated the mklivecd package to version 0.15.1, providing these new features:

  • Added support to download the sets via the target 'fetch'.
  • Many error checks for options were added.
  • Support for NetBSD/amd64

linux plugins in native browser [20070406]

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.

Google Summer of Code

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:

  1. Project: Automated Testing Framework

    Student: Julio M. Merino Vidal

    Mentor: Martin Husemann

  2. Project: Porting ZFS

    Student: Oliver Gould

    Mentor: Dieter Baron

  3. Project: A Framework For Enforcing QoS Inside the NetBSD UVM

    Student: Sumantra R. Kundu

    Mentor: William Stouder-Studenmund

  4. Project: Running Kernel File Systems in Userspace

    Student: Antti Kantee

    Mentor: William Stouder-Studenmund

  5. Project: Improving the pkgsrc Build System

    Student: Jörg Sonnenberger

    Mentor: Johnny C. Lam

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

NetBSD on the road

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:


pkgsrc

pkgsrc-2007Q1 has been branched [20070419]

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:

  • ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2007Q1/pkgsrc-2007Q1.tar.gz
  • ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2007Q1/pkgsrc-2007Q1.tar.bz2

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:

http://mail-index.NetBSD.org/pkgsrc-users/2007/04/19/0005.html

pkgsrcCon 2007 [20070427]

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


Ports

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

evbmips: Netgear WGT624 v3 netbooting support added [20070320]

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.

http://www.invisible.ca/space/netgear-wgt624-v3-hacking

i386: Microsoft Xbox support added [20070107]

Andrew Gillham and Jared McNeill have committed basic support for Microsoft's Xbox to the i386 port.

Supported hardware:

  • 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

http://www.feyrer.de/NetBSD/bx/blosxom.cgi/nb_20070106_1655.html

macppc: AOAKeylargo and AOAK2 audio support added

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)

powerpc hackathon [20070502]

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


Security

Security Advisories released

The NetBSD Project published the following NetBSD Security Advisories in the first half of 2007:


Technical

uGuru hardware system monitor support added [20070121]

Juan RP 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.

Daylight Saving Time Changes come and go [20070227]

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.

aiboost(4) added [20070320]

Juan RP has ported the ASUS AI Booster ACPI Hardware monitor driver, found in all newer ASUS motherboards from FreeBSD. See aiboost(4) for details.

Direct Rendering Manager imported into -current [20070401]

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.

Hardware monitoring on Ultra Enterprise 450 (sparc64) [20070414]

Tobias Nygren has committed a driver to support hardware monitoring on sparc64 Ultra Enterprise 450. See envctrl(4).

POSIX Asynchronous I/O committed into -current [20070430]

Mindaugas Rasiukevicius committed support for POSIX Asynchronous I/O into -current. Please see http://www.NetBSD.org/~rmind/aio.html for implementation details.

New driver for JMicron JMB36x Technologies committed [20070515]

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.

yamt-idlelwp branch merged [20070517]

YAMAMOTO Takashi merged the yamt-idlelwp branch into -current on 2007-05-17. This branch had the following goals:

  1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw)
  2. implement idle lwp.
  3. clean up related MD/MI interfaces.
  4. 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.

On Demand Clock Modulation added [20070320]

Juan RP 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 CPUs.

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 integrated [20070307]

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:

  • net.inet6.ip6.hashsize
  • net.inet.ip.hashsize

These sysctls control the size of the hash table - a larger hash table results in less collisions.

wide-curses support added [20070529]

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.

See also:

Branch updates

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:

Branch update: ppcoea-renovation

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.

Branch update: wrstuden-fixsa

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