Rooting Cubot KingKong Mini 2

Android

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 KingKong Mini 2

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.

kong

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:

  • It pretty tiny and light.
  • Looks durable.
  • Screen protection foil installed by default (easy to scratch it though)
  • Nice handling, fits my hand well and the corners are nicely protected with added plastic material.
  • The speaker is pretty loud, although the sound might be a bit better.
  • Strong vibrations!
  • USB-C (oh, come on, this should be standard today!)
  • Two SIM cards stots and dedicated MicroSD slot.
  • Notification diode (hooray, this should be standard everywhere, not a huge advantage).
  • Easy to flash LineageOS generic build which works just perfectly.

Cons:

  • The camera is pretty crappy, the front one is probably better than on my Xiaomi, but I've never used that one. The normal camera is just crap, it has serious issues with low light conditions, in normal light, it's usable.
  • Low battery life, I would expect several days long runtime from a phone like this. It can hold for two days or so when not using the phone much, but it's better to charge it every day, my old Xioami Redmi 5A lasted two times longer....
  • No 3,5 mm jack for headphones, use bluetooth or USB-C ones. I don't use a phone as an mp3 player, so that's ok for me.
  • The on screen keyboard is really tiny, it seems almost impossible to hit the correct key, but surprisingly, the typing is not that bad. I wouldn't rather write long emails on it, but it's ok for SMS and short messages in various crappy services like Messenger, etc. But writing while walking is just impossible.
  • It's a rugged phone, but I doubt it's waterproof.

Project Treble

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.

Flashing the GSI image

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.

  • Enter Settings->Phone info and tap several times on the Build number, now in Settings->System->For Developers allow Debug over USB and Bootloader unlock
  • Connect to PC with android SDK installed and run adb reboot bootloader, you'll need to confirm device authorization on your phone.
  • Once in bootloader, run fastboot flashing unlock to unlock the bootloader and follow the instructions on your phone (this step factory resets the phone, you'll loose all your data).
  • Download the official stock ROM and unpack the downloaded rar.
  • In the directory with unpacked ROM, run fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img to flash the vbmeta.img with disabled Android Verified Boot to allow flashing unofficial ROMs.
  • Reflash the recovery and boot partitions by running fastboot flash boot boot.img and 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 fastboot reboot to fastboot, the system can be flashed only from this mode, for some reason it doesn't work in the previous mode...
  • Now you can flash the system.img by running the fastboot flash system YOUR_SYSTEM_IMAGE.img. Select system.img file from the ROM you want to flash.
  • fastboot reboot and you are booted in your new ROM!

Rooting the LineageOS

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).

Life without Google on Android

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.

  • To install google apps, check the OpenGapps, here you can download various google apps versions (tiny with minimal apps required for full blown package with all the crap). The downloaded zip can be then flashed in recovery mode by running adb sideload youfile.zip.
  • To live without google apps either don't install anything or check the MicroG project that aims to reimplement the google services required by some apps to run properly. It's still in early state, but it's more and more usable these days.

If you decide to live without google apps, you have no store to install apps from, so:

  • Install F-Droid from downloaded apk file - an alterntive app store with opensource android apps
  • Through the F-Droid install the Aurora store an alternative Google Play like app that uses an anonymous account to download apps from Google Play.

What now? There's a bunch of apps I install on my rooted devices:

  • AdAway - Ad blocker for Android
  • AfWall - App firewall, can block access to network (per network interface) for various app
  • Fennec - Firefox browser, still better in privacy than Chromium

Previous Post