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:
- brotli
- Ccache
- Clang
- CMake
- Git
- Google Test
- Node.js (installing via nvm is suggested)
- protobuf
- Python 3 (or newer)
- Java 11 (or newer)
- libusb
- lz4
- PCRE
- Perl
- zip
- zipalign
- zstd
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