This document provides information about the NanoBSD tools, which can be used to create FreeBSD system images for embedded applications, suitable for use on a USB key, memory card or other mass storage media.
[…]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.
↫ FreeBSD documentation
Some of the primary features of NanoBSD are exactly what you’d expect out of a tool like this, such as the system being entirely read-only at runtime, so you don’t have to worry about shutdowns or data loss, and of course, the entire creation process of NanoBSD images using a simple shell script with any arbitrary set of requirements. For the rest, it remains a FreeBSD system, so ports and packages work just as you’d expect, and assuming your specific settings for the NanoBSD image didn’t remove it, anything that works in FreeBSD, works in a NanoBSD image, too.
The documentation is, as is often the case in the BSD world, excellent, and very easy to follow, even for someone not at all specialised in things like this. Reading through it, I’m pretty sure even I could create a customised NanoBSD image and run it, since it very much looks like you’re just creating a custom installation script, adding just the things you need.
I don’t have a use for something like this, but I’m not sure how well-known NanoBSD is, and I feel like there’s definitely some among you who would appreciate this.