- A copy of the EDK II sources, available at https://edk2.tianocore.org/svn/edk2/trunk/edk2.
- The sources of the Python tools which can be obtained from https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools.
- The misc/e2fs-libuuid port.
- GNU Make, i.e. the devel/gmake port.
Installing the e2fs-libuuid portThis is trivially easy, just do:
$ cd /usr/ports/misc/e2fs-libuuid $ sudo make installThat's all. The headers and libraries are installed under /usr/local.
Building the Base ToolsCompiling the Base Tools, i.e. the Python-based TianoCore build tools, isn't complicated but doesn't work out of the box, either. First, these two patches (patch 1, patch 2) must be applied:
$ cd /path/to/basetools $ patch -p0 < basetools_include.diff $ patch -p0 < basetools_make.diffThe first patch adjusts some include paths so that /usr/local/include is searched, too, which is required in order to find the uuid/uuid.h header. The second patch replaces invocations of make to use the $(MAKE) variable which holds the name of invoked the make binary. This is required as in FreeBSD (and other BSDs), make is not GNU make, however the latter is required to build the Base Tools. Consequently, when building the project, make sure that gmake is used: