Skip to content

Latest commit

 

History

592 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LumiROM Logo

Specific Device Workflow All Devices Workflow Stars Forks License

LumiROM is a custom ROM created to provide a totally new experience to low-end MediaTek devices. It focuses on stability while upgrading the Android version, so you can test new One UI releases and enjoy new features such as Galaxy AI ✨

Quick Start

What does it do?

It downloads the firmware from Samsung servers using samloader, extracts the partition images and then applies all the features implemented in the repository - Galaxy AI, heavy debloat, Knox patches, performance tweaks and QoL improvements - so the device can be used again with a fresh and modern experience.

The whole process can run either on GitHub Actions or locally on your machine (requires Ubuntu/Debian distro or WSL).

Changelogs

Check the changelogs folder to learn more about each release and useful information.

Supported Devices

Device Model Fingerprint Base
Samsung Galaxy A22 SM-A225F Side-FP SM-A245F (A24)
Samsung Galaxy A22 5G SM-A226B Side-FP SM-A245F (A24)
Samsung Galaxy A32 SM-A325F FOD SM-A346B (A34)
Samsung Galaxy A32 SM-A325M FOD SM-A346B (A34)
Samsung Galaxy F22 SM-E225F Side-FP SM-A245F (A24)
Samsung Galaxy M32 SM-M325F FOD SM-A346B (A34)

Where:

  • Fingerprint: FOD means fingerprint under display, Side-FP means side-mounted fingerprint (power button).
  • Base: the newer Samsung device whose firmware LumiROM downloads and uses to build the port for your phone, so it can run a modern One UI build on older hardware.

Features

System Optimization

  • Heavy debloated system (150+ bloatware apps removed).
  • Deodexed ROM for cleaner and smaller partitions.
  • Improved performance and smoother UI experience.
  • Optimized background processes.
  • Better battery efficiency.
  • Enhanced CPU responsiveness and processing.
  • HighEnd launcher animations.
  • EROFS filesystem - compressed, read-only, saves storage space.
  • Disabled file-based encryption (FBE) and full-disk encryption (FDE).
  • VNDK and SELinux fixes applied per-device.
  • Init tweaks for extra performance.
  • VoLTE fix.
  • Custom wallpapers included.

Galaxy AI ✨

  • Call assist - change the caller's voice and make real-time translated calls.
  • Writing assist - compose and translate text, summarize long texts and more.
  • Note assist - automatic text organization and summarization.
  • Transcript assist - AI-powered voice transcriptions.
  • Browsing assist - summarized web browsing.
  • Photo assist - AI photo editing and object removal.
  • Weather wallpaper - wallpapers that change based on time and weather conditions.
  • Now brief - smart notification summaries.
  • Now nudge - intelligent reminders and prompts.
  • Health assist - AI-powered health assistance.

Enhanced Functionality

  • Screenshot anywhere (enabled globally).
  • More floating features enabled.
  • Screen recorder support.
  • Bluetooth recording support.
  • Built-in Cloudy app - download and install new ROM versions directly from the phone, even from a ZIP stored on the sdcard (available since 8.6.4).

Knox Patches (built-in, no root needed)

Knox functionality is patched directly via smali modifications - no modules or root required:

  • Knox Guard - disabled to prevent carrier locking.
  • Flag Secure - bypassed to allow screenshots everywhere.
  • Secure Folder - patched to work without Knox integrity checks.
  • Private Share - patched for integrity verification bypass.
  • Signature Verification - minimum scheme lowered for sideloading.
  • SSRM - patched to match stock device policies.
  • ICCC - removed to prevent soft-bootloops.
  • KnoxGuard app - removed from system.

Supported apps with Knox Patches

These apps will work without installing any module or having root on the device.

How to Use

Method 1: GitHub Actions

1. Fork the Repository

Give a ⭐ star to the repository. Fork the repository to your GitHub account.

2. Run the Workflow:

Open your forked repository.

  • Go to the Actions tab.
  • Select LumiROM Tools.
  • Click Run workflow.

3. Set Your Device Model:

Fill in the STOCK_DEVICE and TARGET_DEVICE options:

  • STOCK_DEVICE: your phone's model. If it is present in the /LumiROM/Devices folder of this repository (see Supported Devices), the tool will work for your device. If not, it will not work.
  • TARGET_DEVICE, TARGET_CSC and TARGET_IMEI: refer to your device's Base from the Supported Devices table - the base model, a region code and a valid 15-digit IMEI of that base device.

Note

The All Devices workflow (Matrix) is only intended for the developer, as it builds LumiROM for every supported device at once in a single run. If you are building from a fork, always use the LumiROM Tools workflow instead.

4. Kernel BPF Version Option (USE_UI_8_TETHERING_APEX):

Tick this option only if your kernel BPF version is lower than 5.10 (e.g. 5.4); otherwise leave it disabled. You can check your kernel version under Settings → About phone → Software information → Kernel version.

All supported devices in this repository already have BPF 5.10-compatible kernels, so leave it disabled when building for them.

5. Output Filesystem:

The tool builds the images in EROFS format because:

  • It is recommended for devices with small partitions.
  • It saves storage space.
  • Compression allows fitting more content in the image.

Note

The only downside is that your kernel must support EROFS, but all supported devices already use EROFS kernels, so there is no problem.

6. Upload

Use the DESTINATION option to choose where the ROM will be uploaded - Hugging Face or GoFile (GoFile is the default, since it doesn't need any account):

  • If you choose Hugging Face, the ROM will be auto uploaded to Hugging Face servers using a custom upload mechanism, but you need to create an account and set up two things on your fork before running the workflow:

Tip

  • Create a Hugging Face account.
  • Go to Settings and then to Access Tokens. Create a new token with write permissions and copy it.
  • Go back to the repository, go to Settings → Secrets and variables → Actions and add the token as a repository secret with the name HF_TOKEN.
  • On the same page, in the Variables tab, add a repository variable with the name HF_USER and your Hugging Face username as the value.
  • If you choose GoFile, it will generate a link once the ROM is uploaded, ready to be downloaded. No need for any account.

7. Images Only (Optional):

Tick the ZIP_IMG option if you want the partition images (.img) inside a ZIP instead of a flashable ROM - useful if you prefer flashing the images yourself. Leave it disabled to get the normal flashable ZIP.

Method 2: Local Build

You can also build LumiROM directly on your Linux machine using the local build script. This method includes a firmware cache system so you only need to download the firmware once.

Requirements:

  • A Linux machine with Ubuntu/Debian (or WSL on Windows).
  • Around 15 GB of free disk space for the firmware download and the build.

1. Clone the repository:

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

2. Choose your options:

Only the stock model, region and IMEI are required - everything else has a default:

bash build_local.sh -s SM-A325F -c DBT -i 353117555323497
Option Meaning
-s, --stock Your phone model - must be one of the supported models (e.g. SM-A325F)
-c, --csc Region code of the base firmware (e.g. DBT)
-i, --imei A valid 15-digit IMEI of the base device - you can find examples inside build_local.sh
-t, --target Base device to port from - auto-derived from your stock model if omitted (see the Base column of the Supported Devices table)
-m, --maintainer Your name - defaults to your git username
--no-mods Exclude mods (Cloudy app, Vulkan fix, VoLTE fix, tweaks, wallpapers)
--no-ai Exclude Galaxy AI features
--bpf-legacy Enable only if your kernel BPF is lower than 5.10
--img-zip Deliver the partition images (.img) in a ZIP instead of a flashable ROM
-h, --help Show all options and the supported devices

Tip

If you omit a required option, the script asks for it interactively, so running bash build_local.sh alone also works.

3. Run the build:

Add any extra options you need:

bash build_local.sh -s SM-A225F -c DBT -i 358212589089183 --no-mods --img-zip

The script will install dependencies, download firmware (if not cached), apply all patches and build the ROM. The output ZIP will be in the `ROM/` folder.

Before building, the script validates all your inputs intensively (models, CSC, IMEI) and detects the One UI version automatically, so you don't need to configure anything else. Builds made locally are tagged as Unofficial.

4. Manage firmware cache:

Use the cache manager to check, list or clear your cached firmware images:

bash scripts/firmware/cache_manager.sh status    # Show cache status
bash scripts/firmware/cache_manager.sh check     # Verify required images
bash scripts/firmware/cache_manager.sh size      # Show cache size
bash scripts/firmware/cache_manager.sh list      # List all images with sizes
bash scripts/firmware/cache_manager.sh clear     # Clear cached images

Important

If you're building locally, the script logs everything it does. If something fails, please report the error to me via GitHub issues or on my Telegram channel, attaching the LOGS folder.

Note

If you don't want to mess with the repo or don't know how to do any of this, I will keep releasing updates of my ROM on my Telegram channel. Suggestions are welcome too - I'm still learning from this project, so if you find a bug or want to make the code a bit easier to understand, feel free to open a pull request!

Installing the ROM

Warning

Flashing a custom ROM will erase all data on your device. Back up everything before continuing. You are doing this at your own risk - I am not responsible for any lost data or damaged devices.

Once you have downloaded or built LumiROM, there are three ways to install it:

Option 1: Cloudy app (LumiROM 8.6.4+)

Starting from LumiROM 8.6.4, the ROM includes Cloudy, which handles the whole installation process for you:

  • Open Cloudy and download the ROM directly from inside the app, or
  • Tap Select ROM from internal storage and pick the ZIP if you already downloaded it.

Option 2: Recovery

If you don't have the Cloudy app:

  1. Download the ROM ZIP.
  2. Reboot your phone into recovery mode.
  3. Select the ROM ZIP and flash it.

Option 3: ADB sideload (from PC)

  1. Install ADB on your PC.
  2. Download the ROM ZIP and open a terminal in the folder where it is located.
  3. Reboot your phone into recovery mode and select Apply update from ADB (sideload mode).
  4. From the PC, run:
adb sideload <rom>.zip

Licensing

This project is licensed under the MIT License - see the LICENSE file for details.

About

LumiROM official scripts to make roms for all MTK G80 devices, made with love by Lumi!

Resources

Stars

4 stars

Watchers

0 watching

Forks

Contributors

Languages