My old Xiaomi Redmi stopped showing red channel, so it was time to enter the hell of Android devices marked and find the least crappy device out there. I've selected the cheap and tiny Cubot KingKong Mini 2 (4 inch phone in 2021? finally someone started making small Android phones!).
The name of this page is a bit misleading as this is about review of the KingKong phone, flashing a new ROM to the device and other stuff, acquiring root is only a small portion of the process, if you can thing about a better short title that would summarize all of this, let me know :).
The device selection was again mostly about compromises and despair. I wanted sub 6 inch phone with dimensions around my old Redmi 5A or smaller and USB-C connector as we are in 2021. These two criteria left me with very few options (Android only, don't like Apple as a company), when limited the prices below 250$, I was left with around 10 devices. Most of them pretty crappy ones or already not in stock anywhere. However, I've found something interesting, the Cubot KingKong Mini 2.
This phone is strange, it has only 4 inch screen, that means it's tiny, I mean really tiny, even bit smaller than my first Android phone - ZTE Blade. It has a decent performance for the price - I'm not going to play games, anything over 2 GB of RAM and around 4 cores CPU is OK for me (hmm, my computer had similar specs not that many years ago, where the hell are we going?). It also comes with a rugged design although it doesn't mention any level of the IP protection, so it could survive my handling well. Other choices were horrible or huge and expensive, so I've ordered that beast.
First opinions? I love it! So to sum things up: Pros:
The project Treble is an interesting solution for the Android ROMs creation. In the old days, each device needed a custom ROM to be created for each model as the ROM contained all the device specific data (kernel, drivers,...). This was very annoying, buy a not that popular device and even if you manage to unlock the bootloader and reflash the partitions you are left with a stock rom and maybe some attempts to port LineageOS or similar ROM which lefts you with non-working camera or some other peripheral, or maybe occasional reboot, etc.
With project Treble, all the device specific parts of the system are separated to a vendor partition and the actual OS can be exchanged without rebuilding and tuning it to a specific device type. And here comes the Generic System Image of the Android. It's a generic image that can be flashed to any phone which is project Treble compatible and has a same CPU architecture for which the image was compiled. Can you see it now? If you can find a generic image for the same architecture, you can flash it and use it -> no more Could you port rom xy to device ab requests. No more begging on XDA for porting the latest LineageOS for your device or spending numerous nights trying to do it yourself, just get a generic image and you are good to go.
Most of the recent phones with Android 10 and above should be compatible with GSI images and there already are people building various ROMs for multiple CPU platforms! For my favorite LineageOS, check the wonderful XDA thread, the author builds the LineageOS GSI images for all the usual platforms out there and it works like a charm!.
So, for the KingKong Mini 2 which requires a ARM 32-bit with 64-bit binder, AB compatible image, I downloaded the lineage-18.1-20210808-UNOFFICIAL-treble_a64_bvS.img.xz variant. As you can see, only the system.img file is present, not the .zip file with all the partitions inside as I was used on my previous phones.
Following steps are taken from the XDA forum, however these are generic for most of the MediaTek and similar devices.
Following steps might brick your device, use with caution and on your own risk.
adb reboot bootloader, you'll need to confirm device authorization on your phone.
fastboot flashing unlockto unlock the bootloader and follow the instructions on your phone (this step factory resets the phone, you'll loose all your data).
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.imgto flash the vbmeta.img with disabled Android Verified Boot to allow flashing unofficial ROMs.
fastboot flash boot boot.imgand
fastboot flash recovery recovery.img. Technically this shouldn't be needed, but if your phone is running a different stock ROM version, it's advisable.
fastboot reboot fastbootreboot to fastboot, the system can be flashed only from this mode, for some reason it doesn't work in the previous mode...
fastboot flash system YOUR_SYSTEM_IMAGE.img. Select system.img file from the ROM you want to flash.
fastboot rebootand you are booted in your new ROM!
There used to be a built-in support in developer options for managing root access in the LineageOS, but that seems to be gone now. However the su binary is still present, the only missing piece is some tool that would manage the root access for other apps. Just install a Superuser app from the F-Droid and you are good to go.
If you are not using the already rooted ROM, check the Magisk, it can root the Stock Image and do several more interesting things.
The thing with rooted phone is that most of the banking app will refuse to run. If you really must use the app for access to your bank (I'm looking at you Revolut), you have to fake it somehow. What worked for me was the AppManager, install it and find the problematic app there, in the settings it's possible to disable checking for root, just do it, apply the changes and it should work now (had some issues on latest app version, had to use few months old version that works well).
Let's assume you just flashed the LineageOS image, so what's next? As there are no google apps or other crap, you have to make a though decision. To Google or not to Google.
adb sideload youfile.zip.
If you decide to live without google apps, you have no store to install apps from, so:
What now? There's a bunch of apps I install on my rooted devices: