Hopefully this isn't considered too much of a hijack, but while NetBSD on topic I'd really like to recommend taking a look at their support for "rump kernels". Basically, you can compile and use large swathes on NetBSD as a library even on non-NetBSD systems. You can use this to, for instance use the NetBSD filesystem implementations to read an unmounted disk image. Or run Firefox using the NetBSD TCP/IP stack.
http://www.netbsd.org/docs/rump/sptut.html https://github.com/anttikantee/buildrump.sh