Build Guide - ExtremeXT/ExtremeROM GitHub Wiki
ExtremeROM Nexus Build Guide
Requirements:
- Some kind of Linux PC (WSL may work, although be sure to use an EXT4 filesystem and a distro with f2fs support)
- About 150GB of free space (on the pc)
- Around 8GB of RAM (less may work I just haven't tested)
- A functioning brain
This is Linux only, I recommend using Ubuntu 24.04 LTS for this guide.
Installing the required dependencies
Firstly, start of by installing the required dependencies.
sudo apt update && sudo apt upgrade && 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 make cmake npm lz4 brotli patchelf curl xxd
You may need to run this twice for it to install all of them successfully.
Clone this repo
After you have got all the dependencies to install, start off by cloning this Repo with GIT
git clone --recurse-submodules https://github.com/ExtremeXT/ExtremeROM.git
⚠️ MAKE SURE THAT YOU HAVE ALL OF THE SUBMODULES CLONED
Adding your information to GIT
After this add your email to GIT with the following command
git config --global user.email [Your Email]
Replace [Your Email] with your email!
After this add your name to GIT with the following command
git config --global user.name [Your name]
Replace [Your name] with your name!
CD to the ExtremeROM Directory
Now you can cd to your cloned ExtremeROM repo.
cd ExtremeROM
Setup your build enviroment
Now that you are in your ExtremeROM folder, Setup your build environment for the device you would like to build for.
source ./buildenv.sh [Codename]
If you are unsure of your codename, Please check with either . ./buildenv.sh
or checking the Supported Models wiki.
Start building
Now that your build environment is setup, you can start compiling it with the command below!
run_cmd make_rom
ExtremeROM Nexus should start building instantly, starting by downloading the firmwares, extracting them then making the ROM!
Once it is done compiling, the output should be in ExtremeROM/out
Extras
Clean build
If you would like to build for another device you can clean up your build enviroment ready for another device!
This can be done with the following command
run_cmd cleanup work_dir apktool kernel_tmp_dir
Odin Build
Please note that for the Exynos 990 LTE devices the script downloads the kernel for the 5G variant, for now just use the TWRP version if you own one of these devices. The pre-built build can be found in Releases. This is hopefully just a temporary issue and should be fixed soon.
If you would like to build for odin flashing, do the following steps to edit your config to do so!
- Go to ExtremeROM/target//config.sh
- Replace the
zip
on the TARGET_INSTALL_METHOD line toodin
- From here, follow the build guide as normal!
Updating your clone after a commit
If there has been a new commit to ExtremeROM Nexus and you would like to build according to this new update, instead of recloning you can make GIT pull the new changes
This can be done with the following command
git fetch origin && git pull origin fifteen && git submodule update --init --recursive
Now Cleanup and you can build!
Fullscreen AOD
If you want to build with the fullscreen AOD effect do the following
IF YOU GET SCREEN BURN-IN OR PERMANANT SCREEN DAMAGE FROM THIS IT IS NOT OUR PROBLEM, YOU ARE DOING THIS UNDER YOUR OWN WILL
-
Open ExtremROM/targets/[Your Codename]/sff.sh
-
Remove the following lines
# AOD
SEC_FLOATING_FEATURE_LCD_CONFIG_AOD_BRIGHTNESS_ANIMATION=0
SEC_FLOATING_FEATURE_LCD_CONFIG_AOD_FULLSCREEN=0
One blank line (doesn't matter if it's above or under)
- Now build as usual
Thats all for now :)
made by enda in about an hour