July 29, 2009 posted by Lloyd Parkes
NetBSD has a reputation for being somewhat minimalist, and it is widely used in embedded systems. The high level concepts behind miniaturising an operating system are quite straight forward and well understood. You throw away all the features you don't want and then you compress the remainder as much as possible. Simple, right?
It's such a simple idea that every embedded system developer builds their own system for doing this. This project aims to provide NetBSD with an integrated system for constructing embedded systems so that system developers can get on with the job of implementing their application specific features. Of course, building a system that caters for all developers and not just one isn't quite as simple as it might be.
This system lets the developer select and deselect NetBSD features by specifying which syspkgs they (don't) want on their system image. In addition, individual files and directories can be trimmed from the image for cases where syspkgs packages are too coarse.
3rd party software can be automatically built and installed into the image if the developer constructs BSD makefiles for them in the same way that NetBSD builds 3rd party source in its own tree. Developers can of course just add a collection of files they already have if they want something simple.
Images formats that will be created are normal disk images (e.g. for CompactFlash cards), ISOs, gzipped tar files and kernels with a built in memory disk as root.