Difference between revisions of "Android Flashing Guide"

From Planet Computers

Jump to: navigation, search
(No summary)
(Flashing the Gemini Android firmware)
 
(37 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Introduction==
 
==Introduction==
This document will guide you through the necessary steps needed to flash your Gemini with Linux or Android OS.
+
This document will guide you through the necessary steps needed to install or update Android on your Gemini.
  
'''Please note: ''''''<span style="color: #ff0000;">Flashing Android or Linux will delete any user data on the device. Please make sure you have a backup of any important data before starting!</span>'''
+
'''Please note:&nbsp;''' '''<span style="color: #ff0000;">Installing Android will delete any user data on the device. Please make sure you have a backup of any important data before starting!</span>'''
  
<div style="text-align: justify;">'''Important Note: <span style="color: #ff0000;">please don’t use other tools to flash firmware fo your Gemini as it’s easy to loose key information such as the IMEI number. In particular, never use the “Format all + download“ option in the SP Flash Tool as this erases key information stored in the NVRAM partition and can lead to a non-functional device.</span>'''</div>
+
<div style="text-align: justify;">'''Important Note: <span style="color: #ff0000;">Please don’t use other tools to flash firmware fo your Gemini as it’s easy to loose key information such as the IMEI number. In particular, never use the “Format all + download“ option in the SP Flash Tool as this erases key information stored in the NVRAM partition and can lead to a non-functional device.<br data-attributes="%20/"><br data-attributes="%20/"></span>'''</div>
 +
There are 3 steps needed to install or upgrade Android on your Gemini:
  
 +
# Install the FlashTool software on your Windows PC or Linux PC
 +
# Download and unzip the Android firmware
 +
# Flash the firmware on your device
  
==Download and Install FlashTool on Windows==
+
These steps are detailed in the next sections.
The first step to install FlashTool on Windows PC is to install the flash tool drivers. These drivers are needed for your Windows PC to communicate with your Gemini, the minimum requirement is to have a 64bit Windows operating system.
+
 
 +
==<br data-attributes="%20/">Download and Install FlashTool on Windows==
 +
The first step to install FlashTool on a Windows PC is to install the flash tool drivers. The drivers are needed for your Windows PC to communicate with your Gemini, the minimum requirement is to have a 64bit Windows operating system.
  
 
You can find the latest drivers here: [http://support.planetcom.co.uk/download/FlashToolDrivers.zip Windows Flash Tool Drivers]
 
You can find the latest drivers here: [http://support.planetcom.co.uk/download/FlashToolDrivers.zip Windows Flash Tool Drivers]
Line 16: Line 22:
 
Now that the drivers have been installed, you can download the latest Windows flash tool: [http://support.planetcom.co.uk/download/FlashToolWindows.zip Windows Flash Tool]
 
Now that the drivers have been installed, you can download the latest Windows flash tool: [http://support.planetcom.co.uk/download/FlashToolWindows.zip Windows Flash Tool]
  
Once downloaded the Windows flash tool, please unzip it to reveal the '''FlashToolWindows''' folder. Next, run the flash tool by double clicking on '''flash_tool''' (flash_tool.exe) file in the '''FlashToolWindows''' folder.
+
Once downloaded the Windows FlashTool, please unzip it to reveal the '''FlashToolWindows''' folder. Next, run the flash tool by double clicking on '''flash_tool''' (flash_tool.exe) file in the '''FlashToolWindows''' folder.
 +
 
  
You will also need a firmware to flash, either Linux or Android. You can find the available Gemini firmware here: [[Gemini Firmware]]
 
  
 
==Download and Install FlashTool on Linux==
 
==Download and Install FlashTool on Linux==
 +
If you intend to install FlashTool on a Windows PC you can skip this section, otherwise please keep reading if you want to install FlashTool on a Linux PC.
 +
 +
'''The following procedure has been tested on Debian 9.0, Ubuntu 18.04 (see notes below) and Fedora 28 (see notes below).'''
 +
 
You can find the latest Linux flash tool software here: [http://support.planetcom.co.uk/download/FlashToolLinux.tgz Linux Flash Tool]
 
You can find the latest Linux flash tool software here: [http://support.planetcom.co.uk/download/FlashToolLinux.tgz Linux Flash Tool]
  
Line 29: Line 39:
 
Before running the flash tool you will need to add some rules to udev.
 
Before running the flash tool you will need to add some rules to udev.
  
Create the blacklist file by typing:
+
Create the blacklist file by typing (using either the "sudo command" or syntax or simply typing the command as root) :
  
 
<code>sudo gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules</code>
 
<code>sudo gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules</code>
Line 35: Line 45:
 
And inside the file put the following 2 lines:
 
And inside the file put the following 2 lines:
  
<code>ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"</code>
+
<code>ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"</code><br data-attributes="%20/"><code>ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"<br data-attributes="%20/"></code>
 
 
<code>ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"<br /></code>
 
  
 
After that, restart the udev:
 
After that, restart the udev:
Line 43: Line 51:
 
<code>sudo service udev restart</code>
 
<code>sudo service udev restart</code>
  
 +
Finally, run the flash tool application by entering into the '''FlashToolLinux''' folder and typing:
  
Finally, run the flash tool application by typing:
+
<code>cd FlashToolLinux</code>
  
<code>flash_tool.sh</code>
+
<code>sudo ./flash_tool.sh</code>
  
  
The flash tool is compiled using Debian 9 and is known to run
+
'''Notes - Ubuntu 18.04'''
  
 +
On Ubuntu you will need to install the following dependency:
  
'''Building from source'''
+
&nbsp;<code>sudo apt-get install libjpeg62</code>
  
You can also build the flash tool by yourself. You will find the source code
 
  
The tool is built using Debian 9.0
+
'''Notes - Fedora 28'''
  
 +
On Fedora you will have to write the following command to allow applications running with root privileges to access the X server (this will fix the lines above for both the gedit and the flash_tool command):
  
You will need a 64 bit Linux machine and you might need root access to run it. The executable file is flash_tool.sh. <span style="caret-color: #2b2e2f; color: #2b2e2f; font-family: 'Lucida Sans Unicode', 'Lucida Grande', Tahoma, Verdana, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;">If you get a BROM error when connecting the Gemini (see flash_tool console log) then you should follow this guide </span>[https://forum.xda-developers.com/general/rooting-roms/tutorial-how-to-setup-spflashtoollinux-t3160802/page16 https://forum.xda-developers.com/general/rooting-roms/tutorial-how-to-setup-spflashtoollinux-t3160802/page16]<span style="caret-color: #2b2e2f; color: #2b2e2f; font-family: 'Lucida Sans Unicode', 'Lucida Grande', Tahoma, Verdana, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline !important; float: none;"> - specifically the 2 points regarding udev rules.</span>
+
<code>xhost +local:</code>
  
 +
Additionally you will have to&nbsp; restart the udev service by typing (or rebooting your machine):
  
 +
<code>udevadm control --reload-rules &amp;&amp; udevadm trigger</code>
  
==Configuring Flash Tool==
+
Finally, you will need to install the following dependency:
 +
 
 +
<code>sudo yum install nas-libs-1.9.4-13.fc28.x86_64</code>
 +
 
 +
 
 +
'''Building the flash tool from source'''
 +
 
 +
You can also build the flash tool by yourself, the code is hosted on github: [https://github.com/dguidipc/SP-Flash-Tool-src Flash Tool Source]
 +
 
 +
 
 +
 
 +
==Download Android Gemini Firmware==
 +
Now that the FlashTool application is running, it is time to download the Gemini Android Firmware from the [[Gemini Firmware|Gemini Firmware page]].
 +
 
 +
After downloading the firmware, unzip it to reveal the folder containing the firmware folder, for example '''Gemini_WIFI_MP_09052018''' or '''Gemini_x27_FOTA3_12062018'''.
 +
 
 +
==Configuring FlashTool==
 
Use the choose button as in the following screenshot to load the scatter file that you will find inside the downloaded firmware. In particular:
 
Use the choose button as in the following screenshot to load the scatter file that you will find inside the downloaded firmware. In particular:
  
 
* Downlad-Agent should be set to the file MTK_AllInOne_DA.bin, which is located in the FlashToolWindows or FlashToolLinux folder.
 
* Downlad-Agent should be set to the file MTK_AllInOne_DA.bin, which is located in the FlashToolWindows or FlashToolLinux folder.
* Scatter-loading file should be set to the specific scatter file of the firmware that you want to flash, which is located in the firmware folder
+
* Scatter-loading file should be set to the '''Gemini_Android.txt''' file, which is located inside the of the firmware folder that you downloaded.
  
  
[[File:flash1.png]]
+
[[File:Screen_Shot_2018-06-21_at_10.45.58.png|center|800x511px|border]]
  
  
  
 +
==Backup the NVRAM partition==
 +
Before flashing the device with a different firmware it is a good idea to backup the current NVRAM partition. This partition stores key information for your Gemini, including the IMEI number. If it gets lost or damaged, your Gemini will not be able to take or receive calls.
 +
 +
The provided flash tool is already configured for your Gemini. To create a backup of your NVRAM partition, just click on the '''Readback''' tab and then on the '''Add''' button. A row will appear in the table as in the following screenshot.
  
  
==Backup the NVRAM partition==
+
[[File:Screen_Shot_2018-06-21_at_10.52.02.png|center|799x526px|border]]
Before flashing the device with a different firmware it is a good idea to backup the current NVRAM partition. This partition stores key information for your Gemini, including the IMEI number. If it gets lost or damaged, your Gemini will not be able to take or receive calls.
 
  
  
The provided flash tool is already configured for your Gemini. To create a backup of your NVRAM partition, just click on the '''Readback''' tab and then on the '''Add''' button. A row will appear in the table as in the following screenshot.
+
Next, just click the '''Read Back''' button, <span style="color: #252525; font-family: 'Source Sans Pro', sans-serif; font-size: 15.008px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">connect your PC to the left end USB-C port on your Gemini</span> and restart the Gemini. Once booting, the flash tool will detect the unit and will write the NVRAM partition on a file on your hard disk called NVRAM0 (see screenshot below). It’s a good idea to keep this file as a backup.
  
  
[[File:nvram.png]]
+
[[File:Screen_Shot_2018-06-21_at_10.51.50.png|center|800x527px|border]]
  
 +
==Flashing the Gemini Android firmware==
 +
Be sure to follow the previous step to store a copy of the NVRAM partition as backup.Now click back on the '''Download''' tab.
  
Next, just click the '''Read Back''' button, connect your Gemini to your PC and restart the Gemini. Once rebooted, the flash tool will detect the phone and will write the NVRAM partition on a file on your hard disk called NVRAM0. It’s a good idea to keep this file as a backup.
+
If you want to flash the complete firmware to your unit then select '''Firmware Upgrade''' from the drop down menu.This will automatically select all the partitions in the table and it will restore your unit to its factory state. Please note that you will loose all your personal data/settings. 
  
 +
Your screen should appear similar to the following screenshot:
  
  
==Flashing the Gemini with an alternative firmware==
+
[[File:Screen_Shot_2018-06-21_at_11.01.20.png|center|800x597px|border]]
Be sure to follow the previous step to store a copy of the NVRAM partition as backup. Now, run the Flash tool software and click on the '''Download''' tab. Next, locate the '''Scatter-loading File''' option and click on the associated '''choose''' '''button''', as highlighted in the picture below:
 
  
  [[File:flash1.png]]
 
  
Now, open the firmware folder from the firmware zip file you downloaded and select the scatter file.Each firmware package contains 2 firmware versions: '''Gemini_Android.txt''' can be used to flash a standard Android system, while '''Gemini_Android_Rooted.txt''' can be used to install a rooted Android version. You can also install a dual boot Android/Linux firmware, please refer to the [[Gemini Firmware]] to learn how to generate the scatter file.
 
  
Once you select the scatter file, the table should be populated as below:
+
To start the flashing process, just click the big '''Download''' button, <span style="color: #252525; font-family: 'Source Sans Pro', sans-serif; font-size: 15.008px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">connect your PC to the left end USB-C port on your Gemini</span> and restart the Gemini. Once booting, the flash tool will detect the unit and will start flashing the device with the selected firmware.
  
 +
If instead you want to manually update your Gemini without loosing your data, you should select the '''Download Only '''option from the drop down menu. After that, make sure you select all the partition with the exception of the '''userdata''' partition, which contains your data. Your screen should look like this:
  
[[File:flash2.png]]
+
[[File:Screen_Shot_2018-06-21_at_11.12.29.png|center|800x597px|border]]
  
Finally, change the '''Download Only''' drop down menu to''' Firmware Upgrade''' and click on the '''Download''' button. Connect your Gemini and restart it. . Once rebooted, the flash tool will detect the phone and it will update the OS with the selected firmware.
 
  
  
==Notes on flashing firmwares==
+
To start the flashing process, just click the big '''Download''' button, <span style="color: #252525; font-family: 'Source Sans Pro', sans-serif; font-size: 15.008px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">connect your PC to the left end USB-C port on your Gemini</span> and restart the Gemini. Once booting, the flash tool will detect the unit and will start flashing the device with the selected firmware.
When switching between a standard Android to a dual boot Android/Linux firmware, you will need to use the '''Firmware Upgrade '''mode because you need to format the device. If you don't need to repartition the device, you can use the '''Download Only '''mode and flash a single partition without formatting. This is useful because you can update the Android system partition without deleting your data (which is stored in the user data partition), or you can update the boot.img and switching from an Android system to a rooted one or viceversa.
 
  
==Linux dual boot notes==
+
The following screenshot shows a successfully completed flashing process:
The dual boot mechanism works as follow:
 
  
* '''Dual boot Android-Linux firmware'''
+
[[File:Screen_Shot_2018-06-21_at_11.17.44.png|center|800x595px|border]]
** Press Esc (On) for around one second to turn ON the unit and boot into Android. You should release the Esc (On) button before the screen turns ON, otherwise the unit will boot into recovery mode (see below).
 
** Press Esc (On) for around one second to turn ON the unit and at the same time press and hold the side button until the screen turns ON to boot into Linux. You should release the Esc (On) button before the screen turns ON, but you must keep the side button pressed until you see the turning ON. When the screen turns ON you can release the side button, and the unit will boot into Linux.
 
** Press Esc (On) and keep pressing the button until the screen turns ON to boot in recovery mode. At this stage the recovery mode is disabled and you will see a droid image with a red triangle and a "No command" text.
 

Latest revision as of 10:54, 26 February 2019

Introduction

This document will guide you through the necessary steps needed to install or update Android on your Gemini.

Please note:  Installing Android will delete any user data on the device. Please make sure you have a backup of any important data before starting!

Important Note: Please don’t use other tools to flash firmware fo your Gemini as it’s easy to loose key information such as the IMEI number. In particular, never use the “Format all + download“ option in the SP Flash Tool as this erases key information stored in the NVRAM partition and can lead to a non-functional device.

There are 3 steps needed to install or upgrade Android on your Gemini:

  1. Install the FlashTool software on your Windows PC or Linux PC
  2. Download and unzip the Android firmware
  3. Flash the firmware on your device

These steps are detailed in the next sections.


Download and Install FlashTool on Windows

The first step to install FlashTool on a Windows PC is to install the flash tool drivers. The drivers are needed for your Windows PC to communicate with your Gemini, the minimum requirement is to have a 64bit Windows operating system.

You can find the latest drivers here: Windows Flash Tool Drivers

Once downloaded, unzip the archive. You will find a folder called FlashToolDrivers, open the folder and double click on the Install (install.bat) file. Allow the installation to complete by clicking Yes when asked to make changes.

Now that the drivers have been installed, you can download the latest Windows flash tool: Windows Flash Tool

Once downloaded the Windows FlashTool, please unzip it to reveal the FlashToolWindows folder. Next, run the flash tool by double clicking on flash_tool (flash_tool.exe) file in the FlashToolWindows folder.


Download and Install FlashTool on Linux

If you intend to install FlashTool on a Windows PC you can skip this section, otherwise please keep reading if you want to install FlashTool on a Linux PC.

The following procedure has been tested on Debian 9.0, Ubuntu 18.04 (see notes below) and Fedora 28 (see notes below).

You can find the latest Linux flash tool software here: Linux Flash Tool

Once downloaded, extract the flash tool by typing:

tar -zxvf FlashToolLinux.tgz

Before running the flash tool you will need to add some rules to udev.

Create the blacklist file by typing (using either the "sudo command" or syntax or simply typing the command as root) :

sudo gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules

And inside the file put the following 2 lines:

ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"

After that, restart the udev:

sudo service udev restart

Finally, run the flash tool application by entering into the FlashToolLinux folder and typing:

cd FlashToolLinux

sudo ./flash_tool.sh


Notes - Ubuntu 18.04

On Ubuntu you will need to install the following dependency:

 sudo apt-get install libjpeg62


Notes - Fedora 28

On Fedora you will have to write the following command to allow applications running with root privileges to access the X server (this will fix the lines above for both the gedit and the flash_tool command):

xhost +local:

Additionally you will have to  restart the udev service by typing (or rebooting your machine):

udevadm control --reload-rules && udevadm trigger

Finally, you will need to install the following dependency:

sudo yum install nas-libs-1.9.4-13.fc28.x86_64


Building the flash tool from source

You can also build the flash tool by yourself, the code is hosted on github: Flash Tool Source


Download Android Gemini Firmware

Now that the FlashTool application is running, it is time to download the Gemini Android Firmware from the Gemini Firmware page.

After downloading the firmware, unzip it to reveal the folder containing the firmware folder, for example Gemini_WIFI_MP_09052018 or Gemini_x27_FOTA3_12062018.

Configuring FlashTool

Use the choose button as in the following screenshot to load the scatter file that you will find inside the downloaded firmware. In particular:

  • Downlad-Agent should be set to the file MTK_AllInOne_DA.bin, which is located in the FlashToolWindows or FlashToolLinux folder.
  • Scatter-loading file should be set to the Gemini_Android.txt file, which is located inside the of the firmware folder that you downloaded.


Screen Shot 2018-06-21 at 10.45.58.png


Backup the NVRAM partition

Before flashing the device with a different firmware it is a good idea to backup the current NVRAM partition. This partition stores key information for your Gemini, including the IMEI number. If it gets lost or damaged, your Gemini will not be able to take or receive calls.

The provided flash tool is already configured for your Gemini. To create a backup of your NVRAM partition, just click on the Readback tab and then on the Add button. A row will appear in the table as in the following screenshot.


Screen Shot 2018-06-21 at 10.52.02.png


Next, just click the Read Back button, connect your PC to the left end USB-C port on your Gemini and restart the Gemini. Once booting, the flash tool will detect the unit and will write the NVRAM partition on a file on your hard disk called NVRAM0 (see screenshot below). It’s a good idea to keep this file as a backup.


Screen Shot 2018-06-21 at 10.51.50.png

Flashing the Gemini Android firmware

Be sure to follow the previous step to store a copy of the NVRAM partition as backup.Now click back on the Download tab.

If you want to flash the complete firmware to your unit then select Firmware Upgrade from the drop down menu.This will automatically select all the partitions in the table and it will restore your unit to its factory state. Please note that you will loose all your personal data/settings. 

Your screen should appear similar to the following screenshot:


Screen Shot 2018-06-21 at 11.01.20.png


To start the flashing process, just click the big Download button, connect your PC to the left end USB-C port on your Gemini and restart the Gemini. Once booting, the flash tool will detect the unit and will start flashing the device with the selected firmware.

If instead you want to manually update your Gemini without loosing your data, you should select the Download Only option from the drop down menu. After that, make sure you select all the partition with the exception of the userdata partition, which contains your data. Your screen should look like this:

Screen Shot 2018-06-21 at 11.12.29.png


To start the flashing process, just click the big Download button, connect your PC to the left end USB-C port on your Gemini and restart the Gemini. Once booting, the flash tool will detect the unit and will start flashing the device with the selected firmware.

The following screenshot shows a successfully completed flashing process:

Screen Shot 2018-06-21 at 11.17.44.png