===== 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 [[https://man.freebsd.org/cgi/man.cgi?query=release&apropos=0&sektion=7&format=html|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 [[https://docs.freebsd.org/en/books/handbook/kernelconfig/|Configuring the FreeBSD Kernel]]. ==== Alternative build systems ==== === crochet === [[https://github.com/freebsd/crochet|crochet]] is a tool for building [[https://github.com/freebsd/crochet/wiki/How-to-Build-a-Disk-Image|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 === [[http://mfsbsd.vx.sk/|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 [[https://man.freebsd.org/cgi/man.cgi?query=nanobsd&format=html|nanobsd(8)]] currently maintained by WarnerLosh. There is an [[https://docs.freebsd.org/en/articles/nanobsd|older article]] describing its internal structure. === wifi tools written by Adrian Chadd === [[https://github.com/erikarn/freebsd-wifi-build|freebsd-wifi-build]] is a github-based customization of %%FreeBSD%% written and maintained by AdrianChadd. === zrouter === [[http://www.zrouter.org/|Zrouter]] is a %%FreeBSD%% based firmware image for embedded devices written by AleksandrRybalko. It is targeted towards various [[https://web.archive.org/web/20120429163152/http://zrouter.org/projects/zrouter/wiki/Supported_devices|router-based devices]]. ==== See also ==== WarnerLosh is working on a tool called [[spin|spin]] to unify some of the above tools. ---- {{tag>Stale}}