Upgrade a Blackview P2 to Android 7
I thought I’d blog this quickly, as it took a fair amount of reading and head-scratching to figure out what, in the end, was a fairly simple thing!
Last year I bought a Blackview P2, because it had decent reviews (cheap, sturdy, good value) and star ratings on Amazon and I needed dual SIM. Blackview have historically been quite good about upgrading Android too, something which is a major headache for most people.
Now, the P2 shipped (ships?) with Android 6, but I had read there was an Android 7 (Nougat) upgrade available. When I went to auto-update though it said I was up to date. Odd! A bit more reading told me there is an official Blackview ‘Nougat’ ROM (more on this in a moment) available for the P2, but Blackview are making it available rather than pushing it out themselves. In other words, if you want to upgrade they’ll provide the software, but you have to do it yourself and at your own risk.
Clearly I’d prefer an automated upgrade pushed out by the manufacturer, but never mind, this is already a marked improvement on most smartphone manufacturers, who basically never ship updates ever! So I decided to look into what’s involved in upgrading my Blackview P2 to ‘Nougat’.
How upgrading Android works
I didn’t know this, and it explains a lot about why Android upgrades are such a pain, but apparently Android upgrades are firmware upgrades. Unlike a normal operating system, where you can replace a load of files on the disk, run some upgrade scripts and restart it and you have a newer version, with Android you have to (conceptually, at least) wipe the device clean and place a totally new copy of Android on it. You can preserve your ‘userdata’ and your apps will upgrade themselves (if they can) on next restart, but everything else just gets blown away entirely.
Clearly this is a risky business. If anything goes wrong you’re left with an empty device. As useful as a brick, indeed hence the term “a bricked device”.
The way you do it is you download a “ROM” (the name comes from Read-Only Memory, storage that you cannot alter from the device itself, like the BIOS on your computer, or the operating system for your Internet router) which is an image of the new operating system, in this case Android ‘Nougat’, ready to copy to your device. This is further complicated by the fact that each device needs to have the ROM tailored to it, otherwise it will not work. So you cannot download any old ‘Nougat’ ROM and install it — I had to download the specific ‘Nougat’ ROM for the Blackview P2 phone. Nothing else will work.
Once you have your ROM, you can use some special software and your computer to “flash” your phone, which means replace the existing operating system with the one contained within the ROM you have downloaded.
IMPORTANT: hopefully it goes without saying you should be really REALLY careful where you get your ROMs from, because a maliciously altered ROM would be very bad news indeed.
The process
OK, we know more about what we’re doing here. Let’s get on with doing it!
But before I explain, I am not recommending anyone do this, nor am I vouching for any of the software involved. All I can tell you is it worked for me. If you brick your P2 (or any other device) after reading this blog, it’s on you. If you don’t know what you’re doing and you can’t afford a new phone, the best thing to do is walk away!
Disclaimer over, the first thing you need is the ROM. I got it from the official Blackview forum, here:
http://bbs.blackview.hk/viewtopic.php?f=172&t=156757&sid=3c3364090f1fd3c0223bd985b5efbf7f
There’s a ROM, uploaded by ‘blackview_admin’ so I know it’s legit, and also a handy guide — grab both! (The guide is actually useful for any Android smartphone user.)
From this point onwards, I pretty much followed Blackview’s guide. I use Fedora Linux on my computer, but no matter — the software I’m using exists for Windows and Mac too. Download and install SP Flash Tool from their official website:
https://spflashtool.com/
In my case, all the Linux dependencies were already satisfied, I didn’t need to do anything special. I just moved the downloaded and unpacked archive to /opt
, made the flash_tool.sh
shell script executable and ran it. Documentation suggests Windows users may need to go and download some extra USB drivers, but it’s all on the SP Flash Tool website anyway.
Now we need to do some stuff on the phone itself. First, we need to enable developer options by going to ‘Settings’ then ‘About phone’ and tapping seven times on the build number. Android will tell you when you’ve succeeded, and then when you back out a level you’ll have developer options available. Second, we need to go into developer options and enable ‘USB debugging mode’. If you have anti-virus software (and you should!) at this point it will start nagging you this is unsafe. Ignore, we need it to “flash” the device. Third, and very important, make sure the phone has at least 70% charge.
Now the phone is all set. Power it off but do not plug it into the computer yet. Just have the USB cable plugged in and ready. (You may also remove the phone’s battery, though I didn’t need to.)
Extract the ROM to the disk on your computer and open SP Flash Tool. On the ‘Download’ tab click the ‘Scatter-loading’ button and open the “scatter file” — a .txt file in the extracted folder, in this case called ‘MT6750_Android_scatter.txt’. The panel underneath will populate with lots of lines at this point, one for each bit of the system to be replaced by the ROM.
Here’s another important step, assuming you want to keep your apps and data (though it’s a good idea to copy off any videos, photos, music, etc. you care about first, of course) you must uncheck the box against the item called ‘userdata’. Otherwise the phone will be entirely wiped.
OK, now start doing whatever it is you do to superstitiously ward off evil, for it is time. Click the ‘Download’ button in the top left corner of SP Flash Tool and plug your powered off smartphone into the computer. After a few seconds the progress bar at the bottom should start moving. All you can do now is wait nervously to see if you have a brick or a phone at the end of the process. Do not, under any circumstances, interrupt it! In fact, best do this with a laptop computer running on battery and with plenty of charge if you can.
Once done, the phone should power up and you’ll have to wait a few minutes while Android automatically upgrades all your apps and settings from Android 6 to Android 7. Then, with any luck, you’re done!
Custom recovery
I read a lot about this while I was trying to figure out how to upgrade my phone, seems the most popular “custom recovery” option out there is a system called TWRP. What you can do is replace Android’s stock boot loader with a different boot loader, which allows you more control over what images to boot with and also gives you the ability to do things like take an image of your current phone, so if you accidentally “brick” it you can restore to exactly the state it was in before. Handy!
I haven’t installed this, but courtesy of going through the process, I understand the principle. If you want to install it, you’ll need to find the TWRP ROM for your phone, because as with Android itself, TWRP needs to be built specifically for the device you’re installing it on. Unfortunately the TWRP developers do not support Blackview devices, however there is a build of the TWRP software for the Blackview P2 available:
http://bbs.blackview.hk/viewtopic.php?t=197445
If you want to use it, you download it (it is a .img file) and replace recovery.img
and recovery-verified.img
in your extracted ‘Nougat’ ROM and go through the above process again. I have not tried this, do so at your own risk!
Why would you want custom recovery? Well, if you’re going to get seriously into flashing your Android device, it’s a really handy safety net. Not least because, as I already mentioned, it allows you to use tools like NANDroid to backup your system before you break it. I never intend to flash this phone again, so I shan’t bother, but if you get ROM happy it would be a good idea.