NetBSD binary kernel modules usable on Linux in rump kernels
Some years ago I wrote about the possibility to load and use standard NetBSD kernel modules in rump kernels on i386 and amd64. With the recent developments in buildrump.sh and the improved ability to host rump kernels on non-NetBSD platforms, I decided to try loading a binary NetBSD kernel module into a rump kernel compiled for and running on Linux. The hypothesis was that the NetBSD kernel modules should just work since both the NetBSD kernel and Linux processes use the ELF calling convention, and all platform details are abstracted by the rump kernel hypercall layer. Sure enough, after two small fixes to the hypervisor I could mount and access a FFS file system on Linux by using ffs.kmod as the driver.
[Read More] [2 comments]
gnats, mail-index outage
The machine normally running www.NetBSD.org and also gnats and mail-index.NetBSD.org had a hardware problem. It is now working again on a new chassis. [0 comments]
NetBSD 5.2 Released!
The NetBSD Project is pleased to announce that version 5.2 of the NetBSD operating system is now available. NetBSD 5.2 is the second feature update of the NetBSD 5.0 release branch. It represents a selected subset of fixes deemed critical for security or stability reasons, as well as new features and enhancements. Users running NetBSD 5.0.3 or earlier are encouraged to upgrade to either NetBSD 5.2 or NetBSD 6.0, depending upon their specific requirements.
For full details of the 5.2 release, please see the NetBSD 5.2 release notes.
Please note that all fixes in security/critical updates (i.e., NetBSD 5.0.2, 5.1.2, etc.) are cumulative, so the latest update contains all such fixes since the corresponding minor release. These fixes will also appear in future minor releases (i.e., NetBSD 5.3, etc.), together with other less-critical fixes and feature enhancements.
Complete source and binaries for NetBSD 5.2 are available for download at many sites around the world. A list of download sites providing FTP, HTTP, AnonCVS, SUP, and other services may be found at http://www.NetBSD.org/mirrors/. We encourage users who wish to install via ISO images to download via BitTorrent by using the torrent files supplied in the ISO image area. A list of hashes for the NetBSD 5.2 distribution has been signed with the well-connected PGP key for the NetBSD Security Officer: http://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-5.2_hashes.asc
[0 comments]
Support for swap on Zorro III RAM boards added
The new z3rambd(4) driver allows using Zorro III RAM boards (like ZorRAM and BigRamPlus) as swap space. If the kernel is built without this driver, it is also possible to use these boards as normal RAM memory in some configurations (which was the usual behaviour). However, it might have performance consequences, it is advised to use Zorro III RAM as swap space where possible. [0 comments]
X-Surf IDE support added
The xsurf(4) driver was extended to support IDE controller present on Individual Computers X-Surf cards. [0 comments]
NetBSD 5.2_RC1
The first release candidate of NetBSD 5.2 is now available for download at: http://ftp.NetBSD.org/pub/NetBSD/NetBSD-5.2_RC1/
NetBSD 5.2 is intended for those who have an application using NetBSD 5.0.x or 5.1.x who don't want the churn of upgrading to NetBSD 6.0, but would like bug fixes and some stable new features. There have been a number of changes since 5.1. See src/doc/CHANGES-5.2 for the full list.
Those of you who prefer to build from source can continue to follow the netbsd-5 branch, but the netbsd-5-2-RC1 tag is available as well.
Please help us test this and any upcoming release candidates as much as possible. Remember, any feedback is good feedback. We'd love to hear from you, whether you've got a complaint or a compliment.
[0 comments]
A2000-style RTC driver rewritten
The driver for A2000-style Real Time Clock modules (popular also on A1200 CPU cards) had bit-rotted so far as to be useless. It was rewritten as machine-independent msm6242b(4) driver, with amiga-specific frontend under old a2kbbc(4) name. [0 comments]
Kernel Drivers Compiled to Javascript and Run in Browser
The unique anykernel capability of NetBSD allows the creation of rump kernels, which are partially paravirtualized kernels running on top of a high-level hypervisor. This technology e.g. enables running the same file system driver in the monolithic kernel or as a microkernel style server in userspace. POSIX-compatible systems have been more or less supported as rump kernel hypervisors for the past 5 years. A long-time goal has been to extend hypervisor support further, for example to embedded systems. This would bring the solid driverbase of NetBSD available to such systems with only the cost of implementing the hypervisor.
To see how far things can go, last week I started toying with the idea of using a javascript engine as a rump kernel hypervisor. I was planning to compile the NetBSD kernel sources into javascript and manually implement the hypervisor. After some searching for a C->javascript compiler, I found emscripten, which translates C into javascript via LLVM bitcode. Not only is the compiler itself extremely mature, but there is also extensive support for the POSIX API. This meant that I could not only compile the kernel drivers to javascript with emscripten, I could also compile the existing POSIX hypervisor and have it work.
The approach of compiling kernel drivers into javascript allows them to be directly accessed from existing javascript code. Yes, I did add a sys/arch/javascript into the kernel source tree. This contrasts the approach taken by another similar experiment, where an x86 Linux is run inside a x86 machine emulator running in a javascript engine.
I have thrown together a small proof-of-concept demo of how to build a web service with the capability to access file system images using kernel file system drivers compiled to javascript. I compiled a rump kernel with support for the FFS, tmpfs and kernfs file systems. This rump kernel backend is tied to a lightweight web page which passes requests from forms to the rump kernel and displays results. When the javascript is run, it downloads an FFS image (rump.data), bootstraps a rump kernel, and mounts the FFS image r/o at /ffs. The status can be further manipulated with interactive commands.
The demo is available here. I've tested it to work with Firefox and tested it to not work with Internet Explorer. YMMV with other browsers. Note, the javascript and the FFS image together are close to 5.5MB in size, so the page may load for a few moments over a slow link -- javascript is not exactly compact and whitespace removal was the only size reduction technique I used. If you're interested in comparing the generated javascript with the C sources, you can also look at the unoptimized version (14MB).
[16 comments]
Hydra AmigaNet / ASDG LAN Rover driver rewritten
The ed(4) driver, supporting Hydra AmigaNet and ASDG LAN Rover cards was rewritten by Frank Wille. The new incarnation solved compatibility problems of old ed(4) driver (especially with 68040 and 68060) [0 comments]
End of Life for 4.x on November 17
With the release of NetBSD 6.0, we bid a fond farewell to older releases, the NetBSD 4.x series. While we have many plans for active support of the most recent (6.x) and next most recent (5.x) release branches, 4.x is coming to the end of its supported life. As of November 17, one month after the 6.0 release, the following branches will no longer be maintained:
- netbsd-4-0
- netbsd-4
- There will be no more pullups to the branches (even for security issues)
- There will be no security advisories made for any of the 4.x releases
- The existing 4.x releases on ftp.NetBSD.org will be moved into /pub/NetBSD-archive/
We are giving these remaining few weeks of support to give people time to migrate their machines to the newer release. We may choose to issue security advisories and/or release patches if a security issue should arise before November 17.
Here's hoping NetBSD 6 serves you as well as, or preferably better than, NetBSD 4 did!
[1 comment]
An X680x0 day again
Three X68030s (including 060turbo) and X68000 PRO-II with Xellent30 running NetBSD/x68k were exhibited on NetBSD booth at Open Source Conference 2012 Hiroshima. See pictures on Togetter for details. [0 comments]
Proudly announcing NetBSD 6.0!
The NetBSD Project is pleased to announce NetBSD 6.0, the fourteenth major release of the NetBSD operating system. Changes from the previous release include scalability improvements on multi-core systems, many new and updated device drivers, Xen and MIPS port improvements, and brand new features such as a new packet filter.
NetBSD 6.0 is dedicated to the memory of Allen Briggs, who passed away in March 2012.
[Read More] [11 comments]