**Things you just have to know** Various things that aren't documented anywhere else. * Generally, cross-builds via qemu are only feasible for the **arm** and **mips** variants. Specifically, attempts to use **powerpc64** and **sparc64** under qemu simply hang. * If you use [[https://svnweb.freebsd.org/base/head/release/release.sh|release.sh]], you may use any value of **WORLDDIR** you wish, as long as that value is and only is **/usr/src**. * release.sh also shows a misleading error message if your selected image size is too small; something like 'mdconfig: cannot open md0'. * The fix is to go into the //release/%%<%%arch>// subdirectory (e.g. [[https://svnweb.freebsd.org/base/head/release/arm/|/arm]]) and edit //%%<%%yourboard>.conf// to change **IMAGE_SIZE** to something larger, e.g., **"3072M"**. * If you want to build for -CURRENT, you must build //from// -CURRENT. You cannot build from xyz-STABLE. * If your -CURRENT builds crash because of jemalloc, sprinkle the following magic pixie dust into **/etc/make.conf**: * **MALLOC_PRODUCTION="**%%<%%any_value_here>**"** * AFAICT the [[https://svnweb.freebsd.org/base?view=revision&revision=324340|armv7 src changes]] have not been MFCed to 11-STABLE. **Mark's TODO list** * Add fixes for the above to the [[https://bugs.freebsd.org/bugzilla/buglist.cgi?list_id=201462&product=Base%20System&query_format=advanced&resolution=---&short_desc=release.sh&short_desc_type=allwordssubstr|list of PRs]] for [[https://svnweb.freebsd.org/base/head/release/release.sh|release.sh]].