Realme C12 - HemanthJabalpuri/HemanthJabalpuri GitHub Wiki

I bought Realme C12 on Oct 19, 2020 for ₹ 7,199 /- in Flipkart Big Billion Days sale.

It is my first device with Android 10. I used only upto Android 6(Lava A72) before. Many things are changed between Android 6 and Android 10. Previously I can use One-Click root apps to root my device(Samsung Galaxy S4 mini). It don't even need a unlocked bootloader.

Now in Realme C12, I need to unlock bootloader first to do any flashing. But Realme didn't provided the permission for it. Realme uses a Deep-Testing/In-depth Test method for allowing bootloader unlock. An app called In-depth Test is used to give permission. It needs Internet Connection to send details to Realme and get permission status. In this way, they are blocking users for bootloader unlocking.
Realme doesn't give that permission easily. We have to spam them daily for that. After so much of spam in different ways, we got permission on March 2nd 2021.

Now comes the actual process, C12 users can flash C11 ROMs since both share same firmware. ROMs are at initial stages. So I have decided to use GSI. It screwed me up. Actually it is a Realme issue. I can't able to boot GSI😞. Many times, I am getting cannot open super partition error in fastbootd. I thought my device is a faulty one. I can't even able to flash Stock ROM in stock recovery with this issue. After many attempts GSI booted. But after flashing another GSI, same bootloop happens. Even flashing the same GSI that booted before doesn't works now.

Now I flashed LineageOS 18.1 ROM(which is only ROM available at that time). It has bugs that doesn't have workarounds(at that time). I can able to use this peacefully. But now I tried to flash Stock ROM. Magically now it got sucess. I am happy after booting to Stock ROM. Now I have tried again to flash GSI. Good news is, from now I can able to flash and boot GSI like normal. From this I figured out that, flashing Stock ROM after unlocking bootloader is necessary.

My bad is that, I choosed a Mediatek device. What's crazy thing with this is, we can easily brick it even if we do some small mistakes like flashing Realme UI 1.0 Android 10 Stock Recovery in Realme UI 2.0 Android 11. I did flashed like this😞. It doesn't able to boot to recovery or bootloader mode. Flashing in SP Flash Tool is restricted, since no DA file is available for it. Some great developers wrote a exploit for disabling this security feature. It is called MTK-Bypass. I used it and flashed UI 2.0 Stock Recovery. Now all went fine.

After some days, ROMs for my device increased. They are going to be encrypted. This means if you can't unlock device, you cannot able to read/write to Internal Storage and /data. Decryption is not working in my device TWRP😣. But it is working in PBRP. I don't use PBRP since it has some weird issues like booting to bootloader, can't able to decrypt with PIN/Password. Without decryption, we can't able to do Nandroid backup of encrypted ROMs(GSIs are always encrypted) in TWRP. Fixing it in TWRP needs small thing. Many devs of my device rejected to fix decryption in TWRP. Since they are busy with other things. Finally I have fixed it myself and @miju12 who is a contributor of CandyROMs compiled it. I don't know how to compile custom recovery. Now I wanted to learn, since I don't want to bother devs for the things I want to fix.

Developing TWRP for my C12

I don't have knowledge and resources like WiFi, powerful PC or server to compile it. But I found a project that make use of Github Actions for compiling TWRP. For this, we only need a Github account😃. I used the workflow from that project and build TWRP for the first time on May 12nd 2021. From this time, I am trying to fix other issues too, like MTP, fastbootd, adb sideload. On 9th June 2021, I fixed all these issues at here At this time, I tried to help many other people who are trying to make TWRP for their device. A person named donsenpai asked me to join in his group and contribute to build TWRP for unknown devices. Now, I got a person waiting to fix TWRP for his Infinix Zero 8. In 6 days, I fixed almost all issues in it with the help of tester kusti420, donsenpai, lopestom.

Compiling ROMs

Since I learnt how to make TWRP, it's time to build ROMs(only building, not developing). First a person I know named bx2nero told me to use Linode Server. It gives free trail for some days with 100$ worth. I built Lineage in 5th June 2021 initially without vendor tree(I thought including vendor tree will make seperate vendor partition). It made VoLTE not work. All many trail and error, I built a working ROM in 17th July 2021. Now I decided to maintain a good ROM. I found ArrowOS.