[Xiaomi Mi Mix 2 ROMs, Kernels, Recoveries, & Other] Huexxx:
View attachment 6101672

Spoiler content hidden.

CherishOS for Mi Mix 2 [chiron]

* Has a Pixel UI noodles by Hung Phan. So many features that you probably won't find in any ROM. All you can dream of and all you'll ever need. Just flash and enjoy...

Based on Android 14

Whats working?

Wi-Fi

RIL

Mobile data

GPS

Camera

Flashlight

Camcorder

Bluetooth

FM radio

Fingerprint reader

NFC

Lights

Sound/vibration

Known issues

Tell me!
​

Pre-Installation

Choose your flavors

1. You can choose between the traditional EXT4 or the new EROFS for /system partition

2. KernelSU is included on kernel, so you can install if you want KernelSU app v0.9.5 in order to get root and flash magisk modules. It's mandatory to update if you have an older version already installed. However, you can flash Magisk if you prefer.

3. Take into account that the acronym EROFS stands for Enhanced Read-Only File System, so you cannot directly modify it. This implies that you can only flash GApps over Vanilla EROFS rom with magisk GApps, wasting /data space, so EXT4 version with standard GApps is the preferred way. If you want to use EROFS and GApps you should stick to offered GApps version. It's easy to disable unwanted apps.

4. Now you can dirty-switch between both flavors, so if you are already on EROFS you can switch to EXT4 and vice versa. But take into account that you must use unmodified /system partition and mantain the same version... GApps-GApps or Vanilla-Vanilla.

5. Always make a backup before putting your data at risk!

Decide if you want encryption or not

1. Once selected /system partition fs, you can choose also fs for /data and /cache partitions between traditional EXT4 or F2FS

2. Rom includes new features like Fuse passthrough, SDCardFS deprecation and Casefold support, but atm you can't simultaneously have them with encryption support.

3. If you want encryption, you must just use unmodified ROM.

4. However, if you prefer to go unencrypted, you must flash Disable_Dm-Verity_ForceEncrypt-Huexxx.zip (hereinafter DFE, mirror here) just after the ROM (or after magisk), in a row, before first boot. Always last! You must use this DFE version, because it adds needed casefold flags. If you use an older DFE version you won't get new features working

Installation

First Time Install / Clean Flash

1. Due to latest changes, is mandatory to use my last TWRP posted below

2. You must format /data partition, so all your data and internal storage will be deleted. Please backup your files

3. Reboot into recovery mode

4. Download the ROM[+Magisk][+DFE] and copy it into internal storage. It's mandatory to make it now because after /data format you won't have internal storage until ROM boots up first time

5. Flash the ROM[+Magisk][+DFE] in this order

6. If already encrypted: Go to Wipe --> Swipe to Factory Reset --> Reboot into recovery

7. Now TWRP respects your actual /data fs when formatting. To just format data, follow step 8. If you prefer to change fs between ext4 <--> f2fs, you must follow step 9.

8.

Format /data:

Go to Wipe -->

8.1 For non-encrypted F2FS: --> Format Data / Casefold --> Type yes and accept

8.2 Otherwise: Format Data --> Type yes and accept --> Reboot to system

9.

Change /data fs:

Go to Wipe --> Advanced Wipe --> Select Data --> Repair or Change File System --> Change File System -->

9.1. Supported filesystems for /data are EXT4 and F2FS

9.2. To change from F2FS to EXT4: --> EXT4 --> Swipe to Change --> Reboot to system

9.3. To change from EXT4 to encrypted F2FS: --> F2FS --> Swipe to Change --> Reboot to system

9.4. To change from EXT4 to non-encrypted F2FS: --> F2FS / Casefold --> Swipe to Change --> Reboot to system

Dirty Flash over previous CherishOS v5.2 or later

NOTE: Do not dirty flash over old versions earlier than 5.2. In that case do a clean flash

1. Always make a backup before putting your data at risk!

2. Due to latest changes, is mandatory to use my last TWRP posted below

3. Reboot into recovery mode

4. Download the ROM[+Magisk][+DFE] and copy it into internal storage. You can stay at current installed flavor (EXT4 or EROFS) or switch to the other one, it should work fine.

5. Flash the ROM[+Magisk][+DFE] in this order

6. Due to changes on KernelSU (from v0.8.0 it uses sparse files for modules.img) and QPR2 it's highly recommended to delete /data/adb/ksu/modues.img and /data/adb/ksu/modules_update.img prior to update. Then you can reinstall desired modules afterwards. In case of bootloop or any strange problem on boot after update, delete them from TWRP. Also, if you get into a bootloop after installing any KernelSU module, you can do it to resolve the problem. I've created a .zip package to do the task for you. Flash clean_kernelsu.zip (mirror, mirror2) on TWRP to delete both files and hence clean all installed KernelSU modules.

7. Reboot to system

Change /cache filesystem

1. You can change /cache fs in the same way as /data

2. You can use EXT4 or F2FS regardless of /data filesystem

3. You can do it whenever you want

DexOpt your installation

On modern android versions, ROM is not dexopted on first boot. The process is done on certain situations, as leaving your phone charging overnight and other situations. To ensure a fluid experience, good deep sleep and

good battery backup, I recommend to dexopt after clean installation or dirty with cache/dalvik clean.

You can read more about this here.

You can do it from an installed terminal emulator (ROOT) or from adb connection (NON ROOT).

- ROOT

su [enter]
cmd package compile -a -f -m everything-profile [enter]
cmd package bg-dexopt-job [enter]

- NON ROOT

adb shell [enter]
cmd package compile -a -f -m everything-profile [enter]
cmd package bg-dexopt-job [enter]

Wanna try Lawnchair?

I'll offer you two methods to test/enjoy latest Lawnchair Launcher on your CherishOS.

Install Lawnicons along with it to get themed icons.

1.- Simple installation:

Just install release or debug version and change default launcher on Apps settings.

There are two problems with this method:

- App opening won't have quickstep animations, a bit ugly

- You won't have Lawnchair recents

The benefit is that, over GApps version, you can use "circle to search" feature

2.- Magisk/KernelSU modules:

I've created two Magisk/KernelSU modules to replace Pixel Launcher/Launcher3 with latest Lawnchair dev fully working over QPR2. You can download them from below links. One is based on latest dev release, from MrSluffy's v7 module, and the other one is based on latest debug Nightlie. Use the one you prefer, both work fine, but maybe debug one will be more frequently updated.

In order to get it correctly working over KernelSU, prior to install it, you must go to settings (gear wheel in the upper right corner) --> Disable ' Umount modules by default'.

Once you've configured KernelSU, you can install the module. Do not install both modules! Only one in a row! Due to changes on .apk source, you must remove v1 before installing.

Problems by disabling 'Umount modules by default'? That option comes enabled by default. After disabling it, some apps like banking ones that worked fine before would fail to work because they need module umounting to avoid KernelSU detection. In that case, you can do two things:

- Go to SuperUser tab, select the problematic app and enable 'Umount modules' to check if that solves the problem. Maybe you'll have to reboot to make it work

- If the app keeps failing, you can solve the problem simply upgrading Lawnchair, installing the apk over the module, and restoring original KernelSU config

- Install release or debug version, acording to installed module. Ensure to use the same version!

- Re-enable 'Umount modules by default' on KernelSU settings

- Reboot​

Download EROFS Version​

Vanilla (you cannot flash standard GApps)​

GApps​

googledrive / mediafire / devuploads​

googledrive / mediafire / devuploads​

MD5: 0b343aae668b06dde430481a840ec3cd​

MD5: 50cb110a2c767686d227e38bce1d76ef​

SHA1: d2c0a3b017dbe37933fb6a9ed9d2cd218aae1ba4​

SHA1: 894a38f4ed4d3dfb8283f78177332c87a6effb85​

Download EXT4 Version​

Vanilla​

GApps​

googledrive / mediafire / devuploads​

googledrive / mediafire / devuploads​

MD5: 8b3e80bdbec055f6869387119e76c3aa​

MD5: 45b60b721fd46b7250b45e4001bc0b12​

SHA1: 180cef6fa473736053842a7d1fba4994b2989cf9​

SHA1: ef34adebe725615446bee8686851c8dee95cae39​

Download latest TWRP-3.7.1_12-Huexxx-240129​

googledrive / mediafire / devuploads​

MD5: 89177b76a12ed15dcb16d8175037d79c​

SHA1: 80b1605579d42e1e0a391f7f495eaef7e7c3027e​

Download Lawnchair_Unofficial_v1.1_Magisk_KSU.zip​

googledrive / mediafire / devuploads​

MD5: d92164067f4aa8eaaff7a831ea4325a3​

SHA1: 87f02828aa1ac2e21be7906e6a349a8698720c89​

Download Lawnchair_Debug_Unofficial_v1.1_Magisk_KSU.zip​

googledrive / mediafire / devuploads​

MD5: 1ccaa827c12dbd432889e45286819be4​

SHA1: 6836571d816e9866ce09f5981db22995f4f4764e​

Android OS version: 14.0.0_r35

Build ID: AP1A.240505.005

Security patch level: May 05 2024

Build author/Device Maintainer: Huexxx

Source code: CherishOS GitHub repos

Trees and Kernel: Huexxx GitHub repos

Status: Stable

SELinux Status: Enforcing

Release date: 2024-06-03

Buy me a Beer!​