Automated testing in NetBSD 5.0
With the release of NetBSD 5.0, a new testing infrastructure for the operating system will get wide exposure. This testing infrastructure is based on the Automated Testing Framework (ATF), a project that was started as part of the Google Summer of Code 2007 program, and that provides a platform-independent framework to easily write and automatically exercise test cases. As of this release, only a few NetBSD-specific tests are available as ATF-based tests, but they are a good preview of what the future will look like.
Starting from this release, you will see a new tests.tgz distribution set during the installation of NetBSD. If you choose to install it, sysinst will populate /usr/tests with a new collection of test programs that are based on the ATF framework. Once installed, edit /etc/atf/NetBSD.conf to suit your system preferences and then, to run the tests, do:
# cd /usr/tests
# atf-run | atf-report
The whole idea of providing the test programs as an installable distribution set is that your specific combination of hardware and software is not available to system developers, so only you can make sure that the system behaves as it should. Furthermore, by successfully running the tests, you can have a good feeling that everything is working as expected!
As far as I know, there are some tests in this release that are broken, but I'm not sure if this is because the tests themselves are broken or because the features under test are broken. Help is welcome in this area!
There is still a lot of work to do in the automated testing area... but the fact that ATF is now bundled in a formal release of NetBSD raises my willingness to work on it. If only I had enough time... At the very least, expect many more ATF-based test cases in NetBSD 6.0.
[0 comments]
Announcing NetBSD 5.0
On behalf of the NetBSD developers, I am proud to announce that NetBSD 5.0, the thirteenth release of the NetBSD operating system, is now available.
NetBSD 5.0 features greatly improved performance and scalability on modern multiprocessor (SMP) and multi-core systems. Multi-threaded applications can now efficiently make use of more than one CPU or core, and system performance is much better under I/O and network load.
This improved performance is the result of a rewritten threading subsystem based on a 1:1 threading model, new kernel synchronization primitives, kernel preemption, a rewritten scheduler implementation, real-time scheduling extensions, processor sets, and dynamic CPU sets for thread affinity. Almost all core kernel subsystems, like virtual memory, memory allocators, file system frameworks for major file systems, and others were audited and overhauled to make use of highly concurrent algorithms.
In addition to scalability and performance improvements, a significant number of major features have been added. Some highlights are: a preview of metadata journaling for FFS file systems (known as WAPBL, Write Ahead Physical Block Logging), the 'jemalloc' memory allocator, the X.Org X11 distribution instead of XFree86 on a number of ports, the Power Management Framework, ACPI suspend/resume support on many laptops, write support for UDF file systems, the Automated Testing Framework, the Runnable Userspace Meta Program framework, Xen 3.3 support for both i386 and amd64, POSIX message queues and asynchronous I/O, and many new hardware device drivers.
For full details, please see the 5.0 release notes.
Complete source and binaries for NetBSD 5.0 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, and other services may be found at http://www.NetBSD.org/mirrors/
[0 comments]
dhcpcd-5 released and imported into NetBSD -current
dhcpcd-5 has now been imported into -current. I've run a full distribution build and install without any issues so hopefully nothing broken :)
Here's a list of the major changes from dhcpcd-4
- Single daemon can now run DHCP on multiple interfaces at the same time
- Configuration profiles per interface, ssid, arping and fallback
- Listens to 3rd party programs changing routing information
- Supports DHCP INFORM over PPP
- Can configure static options for destination address
- Control socket so 3rd party program can control or listen directly to dhcpcd events
- Is also a BOOTP client
There's now an rc.d script for it which is now recommended over ifconfig_bge0=dhcp in /etc/rc.conf
Any dhcpcd-gtk users will need to upgrade to dhcpcd-gtk-0.4.0 as there was a last minute variable rename due to a recent rc.subr change looking for the flags environment variable.
Enjoy!
[0 comments]
Summer of Code 2009 is on!
For the fifth consecutive year, the NetBSD Project is proud to participate in Google's Summer of Code program as a mentoring organization and we're pleased to announce the list of projects that have been accepted for this summer. This year's selected students include a number of NetBSD developers, returning SoC alumni and a few freshmen. We're very excited to have projects ranging from the areas of filesystems over install automation to userland tools and we expect the entire NetBSD community to benefit tremendously.
In the coming weeks, you will see our students engage the NetBSD community for support with their projects; please give them a warm welcome and help our developers, students and mentors lead all these projects to success!
[0 comments]
Switching between wired and wireless automatically
I was asked recently how to switch between wired and wireless automatically on NetBSD, and remembered that Hubert Feyrer has a good way of doing it.
So please feel free not to send me any chocolate if you don't find this useful.
[2 comments]
NetBSD 5.0_RC4 available for download
NetBSD 5.0_RC4 is available for download.
Notable changes include:
- Added the RLIMIT_AS resource, which limits the total address space available to processes
- Improved NFS server stability
- FFS improvements
- A fix for a pf(4) DoS
- re(4) now works with the RealTek 8111C, which is found on many current motherboards with Intel chipsets
Pkgsrc-2009Q1 has been branched
Just a quick note to say that pkgsrc has been branched for pkgsrc-2009Q1, and has already had some pullups - thanks to the pkgsrc-releng folks.
We're going to sort out the release announcement now, and get that out around the same time as the binary packages get built.
Thanks to all involved in making this branch happen.
Enjoy pkgsrc-2009Q1, folks!
[0 comments]
NetBSD is now available on Twitter!
There are also facebook groups and pages you can add:
- NetBSD group.
- The NetBSD Project page.
- NetBSD Users group.
- pkgsrc page.
Recent Xen-related Changes to NetBSD-current
With all the emphasis on NetBSD-5.0 over the last few months (and, yes, it's looking good now, there may be a third release candidate, and the final bits are being polished off now), NetBSD-current has taken a back seat. Whilst this is quite understandable, there have been some really neat features added recently. Manuel Bouyer has done even more work on NetBSD/Xen, and has added support for an i386 domain0 kernel with PAE support - this requires a i386PAE or x86_64 hypervisor (available in pkgsrc).
He has also added a PCI pass-through support for Xen3. The dom0 kernel gets a pciback PCI driver, to which the device specified in the pciback.hide boot parameter will attach. DomU kernels get a xpci device, to which pci buses will attach.
The virtualisation benefits of NetBSD are growing even more, with the recent sighting of a jym-xensuspend branch in the repository. This branch contains the code required to support the Xen save/restore/migrate facilities. It affects domU frontend drivers (xbd, xennet, xencons, hypervisor), autoconf(9) machinery, as well as MD code (mostly pmap(9)).
I have to thank both Manuel Bouyer and Jen-Yves Migeon for doing so much great work with NetBSD/Xen - formidable
[0 comments]
Pkgsrc-2009Q1 Freeze starts on March 22nd, 23:59 UTC
In preparation for the pkgsrc-2009Q1 branch, pkgsrc will be frozen for new packages and infrastructure changes, starting on Sunday March 22nd, at 23:59 UTC.
Some background to our freezes: pkgsrc makes four releases a year, named after the quarter in which all the work took place, and the quarter in which the packages themselves could last have been updated. The release name is thus 2009Q1, 2009Q2, etc. So that we can stabilise packages before the branch is created, we institute a freeze on new functionality - no new packages, and the infrastructure itself does not get changed. This means that we can take a look at the results of bulk build runs, and fix up any loose ends in the packages themselves, without having to worry about the basic building blocks of pkgsrc changing from under us - we have a stable platform to build upon.
It always happens that third party software vendors want to release a new version of their software just after we've entered the freeze. When that happens, we ask the pkgsrc developers to make a judgement call on it - they are the ones who will be maintaining this, after all - and if they think it needs to be updated, we ask them to get approval from the pkgsrc PMC. Again, to minimise the effect on other packages, we like to limit this to leaf packages. These are packages which can be changed easily with no consequences - packages which are not pre-requisites for any other package.
In general, pkgsrc tries to be conservative without being out of date in the versions of the packages. Trying to stay on the bleeding edge may be great fun at times, and does ensure early access to new features, but there are consequences for others in the stability of such packages. We have some packages which are maintained like this - usually, they have a -devel suffix - but the vast majority of packages are known to be good versions. We know, because we run those versions ourselves.
So what does pkgsrc-2009Q1 have in store for us? New pkg_install tools, speedups for the buildlink3 infrastructure, gnome 2.26, and many more things.
Look for pkgsrc-2009Q1 coming to a repository near you in a couple of weeks time.
[0 comments]
News from the 5.0 front
Today, on the 16th birthday of NetBSD, I have the pleasure of announcing the availability of NetBSD 5.0_RC3.
Below are some highlighted changes since RC2:
- Considerable improvements to WAPBL.
- Further X.Org refinements, including switching sgimips to X.Org.
- Scheduler Activations support is now disabled by default in sysctl.conf.
- ddb.onpanic is now set to 1 in the kernel by default, but 0 in sysctl.conf. This avoids trying to dump if a crash occurs during the install phase.
- puffs is now enabled by default on amd64, i386, macppc, and sparc64.
- SSP kernels should work again.
- A handful of assorted stability improvements.
Google's Summer of Code 2009
Google has announced the mentoring organizations for Summer of Code 2009. This will be the fifth year that NetBSD has been able to participate.
A list of available projects can be found here. If you are interested in working on any of these projects, please contact the developer and/or mailing list referenced next to each item, and try to answer as many questions from our Project Application HowTo as possible. The interested developers will be glad to respond to you there.
In the meantime, prospective students should keep an eye on deadlines as application are only open between 23 March 2009 and 3 April 2009. Further information is available on the Summer of Code FAQ page.
[0 comments]
![[NetBSD Logo]](/tnf/resource/NetBSD-headerlogo.png)