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.

1

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.

github.com/Luminous418/LumiROM

2

Run the Workflow

Open your forked repository and click on the Actions tab.

Select LumiROM Tools from the left sidebar and click Run workflow.

3

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.

4

Hugging Face Upload (Optional)

The workflow can automatically upload the final ROM file to Hugging Face servers. To enable this:

💡 Token Setup:
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.

1

Clone the Repository

Open a Linux terminal and clone the source code:

bash
git clone https://github.com/Luminous418/LumiROM.git cd LumiROM
2

Configure Build Variables

Edit the top variables in the build_local.sh script:

build_local.sh
VARIABLES TO CONFIGURE: STOCK_DEVICE="$1" # Your device model TARGET_DEVICE="$2" # The phone you want to port TARGET_CSC="$3" # The region from the target device TARGET_IMEI="$4" # The IMEI from target device USE_MODS="$5" # Include mods (OTA app, Vulkan fix, VoLTE fix, tweaks, wallpapers) USE_GALAXY_AI="$6" # Include Galaxy AI features USE_UI_8_TETHERING_APEX="$7" # Set to true if kernel BPF < 5.10 LUMIROM_MAINTAINER="$8" # Your GitHub name
3

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
bash build_local.sh <STOCK_MODEL> <TARGET_MODEL> <CSC> <IMEI> <USE_MODS> <USE_GALAXY_AI> <USE_UI_8_TETHERING_APEX> <LUMIROM_MAINTAINER>
4

Manage Firmware Cache

The build tool features a smart cache manager to avoid downloading clean firmwares multiple times. Test it interactively:

Interactive Console
$ bash scripts/cache_manager.sh status [CACHE STATUS] Checking firmware cache directory... Cache status: ENABLED Total firmware versions cached: 3 Latest build cached: SM-A346B (One UI 8.5) Integrity check: PASS