Build Methods¶
Select your compilation method: automate through GitHub in the cloud, or compile locally on your Linux machine. Both methods produce identical flashable ZIP outputs.
GitHub Actions (Cloud)¶
Build LumiROM entirely in the cloud using GitHub's free runners - no local Linux environment required. The workflow handles everything automatically.
Fork the Repository
Give a ⭐ star to the official LumiROM repository on GitHub.
Fork the repository to your own GitHub account to execute custom build workflows.
Run the Workflow
Open your forked repository and click on the Actions tab.
Select LumiROM Tools from the left sidebar and click Run workflow.
Configure Device Parameters
Fill in your model inside the STOCK_DEVICE_MODEL option
(it must exist in the /LumiROM/Devices folder of your repository).
Set Kernel BPF Version: Check True if your kernel BPF version is 5.4 or lower.
Hugging Face Upload (Optional)
The workflow can automatically upload the final ROM file to Hugging Face servers. To enable this:
1. Create a Hugging Face account.
2. Go to Settings → Access Tokens → Generate a write token.
3. In your GitHub repository: Settings → Secrets and variables → Actions.
4. Add the token as
HF_TOKEN.
Local Build¶
Compile LumiROM locally on your Linux machine (Ubuntu/Debian) or Windows via WSL. The script is fully automated and caches firmware to avoid re-downloading.
Clone the Repository
Open a Linux terminal and clone the source code:
Configure Build Variables
Edit the top variables in the build_local.sh script:
Execute the Script
Run the script to download dependencies, apply modifications, and package
the flashable ZIP into the ROM/ directory.
The use for build_local.shis:
bash build_local.sh <STOCK_MODEL> <TARGET_MODEL> <CSC> <IMEI> <USE_MODS> <USE_GALAXY_AI> <USE_UI_8_TETHERING_APEX> <LUMIROM_MAINTAINER>
Manage Firmware Cache
The build tool features a smart cache manager to avoid downloading clean firmwares multiple times. Test it interactively: