Build systems
There are several different ways to build an image out of FreeBSD components.
Primary build system
The canonical way to build a standard FreeBSD image is described in the release(7) manpage. This image is intended for installation on servers, desktops, and laptops. This is the technology that FreeBSD Release Engineering uses to create official releases. More information is available in the 8th chapter of FreeBSD Handbook Configuring the FreeBSD Kernel.
Alternative build systems
crochet
crochet is a tool for building bootable FreeBSD images. Originally written to support customizations for the BeagleBone, it has now been extended to support building the Raspberry Pi and others.
mfsbsd
mfsbsd is a set of scripts that generates a bootable image (and/or ISO file), that creates a working minimal installation of FreeBSD. It is completely loaded into memory. It is written and maintained by MartinMatuska.
nanobsd
Another build system intended to be used to create customized images for embedded systems is nanobsd(8) currently maintained by WarnerLosh. There is an older article describing its internal structure.
wifi tools written by Adrian Chadd
freebsd-wifi-build is a github-based customization of FreeBSD written and maintained by AdrianChadd.
zrouter
Zrouter is a FreeBSD based firmware image for embedded devices written by AleksandrRybalko. It is targeted towards various router-based devices.
See also
WarnerLosh is working on a tool called spin to unify some of the above tools.