Build UN1CA

Building UN1CA is pretty straightforward and only requires running a few commands to get the job done. However, setting up your environment correctly is necessary before proceeding to avoid errors/issues.

Minimum requirements

  • Linux-based OS x64
  • 16 GB+ RAM
  • 40 GB+ free space

System dependencies

The following dependencies must be installed:

For reference, here’s an example on how to install most of the dependencies via APT:

sudo apt install -y \
    attr ccache clang git golang libbrotli-dev \
    libgtest-dev liblz4-dev libpcre2-dev libprotobuf-dev libunwind-dev libusb-1.0-0-dev \
    libzstd-dev lld openjdk-11-jdk protobuf-compiler zip zipalign

Building UN1CA

Once you have made sure all the dependencies are installed, you can now clone the repository via git:

git clone --recurse-submodules https://github.com/BlackMesa123/UN1CA.git && cd UN1CA

If you have the repository cloned already, but didn’t clone the submodules, you can do so afterwards with the following command:

git submodule update --init --recursive

It’s now time to set up the build system. The following command will automatically build all the required tools by the build system and generate the build config for the choosen target device.

. ./buildenv.sh <target>

Now you just have to build the ROM with:

run_cmd make_rom

If everything went right, you’ll find the generated flashable zip/tar file inside the out folder.

Continue to How the build system works