FreeNAS 9.10/10 Build System
Python Makefile Shell

Building / Updating FreeNAS 9.10 or 10

Build Guide

Detailed instructions for building FreeNAS can be found here.

The steps below are the short summary version.


  • Operating System

    • For building FreeNAS 9.10 (only), your build environment must be FreeBSD 10.3-RELEASE or later.
    • For building FreeNAS 10, your build environment must be FreeBSD 11.0-RELEASE or later.
  • Free space

    • For building on a ZFS based system, you must have ~60GB space free.
    • For building on a UFS based system, you must have ~100GB space free.
  • An amd64 capable processor. 12GB of memory, or an equal/greater amount of swap space, is also required.

  • An internet connection for downloading source and packages

Building FreeNAS

Note: All these commands must be run as root.

Install the dependencies:

# make bootstrap-pkgs

Download and assemble the source code:

# make checkout PROFILE=profile_type

Compile the source, then generate the .ISO:

# make release PROFILE=profile_type

The vaid profile types are "freenas9" and "freenas10" (see the build/profiles directory). Instead of specifying PROFILE=profile_type, you can set the profile type in the file build/profiles/profile-setting (e.g. echo freenas9 > build/profiles/profile-setting).

Once the build completes successfully, you'll have release bits in the _BE directory. 😄

Updating an existing installation

To update an existing FreeNAS 9.10 or 10 instance that you are using for development purposes:

  • make update
  • make ports
  • make reinstall-package package=freenas host=root@

Where is the IP address of your development platform. SSH will be used to push and install the new packages onto that host. (Note previous comment about setting the profile.)