NanoBSD is a tool currently developed by Poul-Henning Kamp which creates a FreeBSD system image for embedded applications, suitable for use on a Compact Flash card (or other mass storage medium). It can be used to build specialized install images, designed for easy installation and maintenance of systems commonly called “computer appliances”. Computer appliances have their hardware and software bundled in the product, which means all applications are pre-installed. The appliance is plugged into an existing network and can begin working (almost) immediately.
The features of NanoBSD include:
Ports and packages work as in FreeBSD — Every single application can be installed and used in a NanoBSD image, the same way as in FreeBSD.
No missing functionality — If it is possible to do something with FreeBSD, it is possible to do the same thing with NanoBSD, unless the specific feature or features were explicitly removed from the NanoBSD image when it was created.
Everything is read-only at run-time — It is safe to pull the power-plug. There is no necessity to run fsck after a non-graceful shutdown of the system.
Easy to build and customize — Making use of just one shell script and one configuration file it is possible to build reduced and customized images satisfying any arbitrary set of requirements.