Personal tools

Log in

Changes

From Planet Computers

Jump to: navigation, search

Linux Flashing Guide

12,313 bytes added, 11:29, 21 June 2018
Created page with "==Introduction== This document will guide you through the necessary steps needed to flash your Gemini with Linux or Android OS. '''Please note: ''' '''<span style="color: #ff..."
==Introduction==
This document will guide you through the necessary steps needed to flash your Gemini with Linux or Android OS.

'''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>'''

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


To flash your Gemini with an Android or Linux firmware you will need a Windows or Linux PC and you will have to complete the following steps:

# Download and Install FlashTool for Windows or Linux
# Down


==Download and Install FlashTool on Windows==
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.

You can find the latest drivers here: [http://support.planetcom.co.uk/download/FlashToolDrivers.zip 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: [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.

You can now skip the next part regarding Linux and move on to the '''Download Gemini Firmware''' section.

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==
'''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]

Once downloaded, extract the flash tool by typing:

<code>tar -zxvf FlashToolLinux.tgz</code>

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

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

And inside the file put the following 2 lines:

<code>ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"</code><br /><code>ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"<br /></code>

After that, restart the udev:

<code>sudo service udev restart</code>

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

<code>cd FlashToolLinux</code>

<code>sudo ./flash_tool.sh</code>


'''Notes - Ubuntu 18.04'''

On Ubuntu you will need to install the following dependency:

<code>sudo apt-get install libjpeg62</code>


'''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 gedit and flash_tool):

<code>xhost +local:</code>

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

<code>udevadm control --reload-rules && udevadm trigger</code>

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-Only Gemini Firmware==
Now that the Flash Tool is running, it is time to download the Gemini Firmware.

Planet Computers provides both an Android-only firmware and a Linux or Android-Linux firmware.

If you choose to flash a standard Android firmware, you will have to download one from this page: [[Gemini Firmware|Gemini Firmware.]]

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



==Download Android/Linux Gemini Firmware==
If you choose to flash a Linux or Android-Linux firmware, then you will have to repartition your device, reserving some space for Linux and some for Android. To repartition your Gemini you will have to use our partition tool, available at [http://support.planetcom.co.uk/partitionTool.html http://support.planetcom.co.uk/partitionTool.html]. A screenshot of the tool is provided below.

[[File:Screen_Shot_2018-06-20_at_11.06.06.png|center|640x422px|border]]

You can choose the partition size for Linux and Android by dragging the planet slider left or right. You can choose to have an Android-only Gemini, a multi boot Linux-Android or a Linux-only Gemini. Once you have selected the partition sizes you have to select your Gemini model using the appropriate drop down menu.

There are 3 Gemini versions, please make sure you select the right version for your device. WiFi-Only Gemini users should select "Gemini WIFI-Only". 4G Gemini users using x25 chip (early release Geminis) should select "Gemini x25" and finally Gemini 4G x27 users should select the "Gemini x27" option. If you are not sure about your Gemini version, just check under Settings -> Wireless & networks. If you see a menu called SIM cards, then you have an x27 Gemini, otherwise you have an x25 Gemini.

After selecting the partition size, you can select the operating systems to use for each boot mode. Gemini supports 4 boot modes. When the Gemini is OFF, press Esc(On) key for around one second to initiate the booting process. Immeditately after that, the unit will vibrate, and after a few seconds the screen will turn ON. When the screen turns ON, the Gemini will check the status of the Esc (On) key and of the side silver button. Based on the status of those buttons there are 4 possible booting modes:

* Boot 1: Both Esc (On) key and side button are not pressed. This is the default booting option when no buttons are pressed.
* Recovery Mode: Esc (On) is pressed. This will always boot into overy mode.
* Boot 2: Side button is pressed.
* Boot 3: Esc(On) key is pressed and Side button is also pressed

As an example, the following screenshot shows a Gemini WIFI-Only model, configured with 28 GB for both Android and Linux, where the boot modes are set as:

* Boot 1: Standard Android
* Boot 2: Debian GNU/Linux
* Boot 3: Sailfish OS


[[File:Screen_Shot_2018-06-20_at_11.16.03.png|center|640x421px|border]]


After you made your selection, there are 3 modules to download using the buttons on the right:

* The Base firmware contains the basic Android firmware. This is the main component, it needs to be extracted to reveal the Gemini Base firmware folder. All the other component need to be copied/unzipped here.
* The Scatter file contains the definition of your Gemini partition, based on your selection. This needs to be copied into the firmware folder
* The optional Linux (Debian, Sailfish or Debian+Sailfish) contains the additional Linux module. This needs to be unzipped into the firmware folder

Once you have extracted the base firmware, copied the scatter file and unzipped the optional Linux module, you will be ready to proceed to the next step.

==Configuring Flash Tool==
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 specific scatter file of the firmware that you want to flash, which is located in the firmware folder


[[File:flash1.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.


[[File:nvram.png]]


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.



==Flashing the Gemini with an alternative firmware==
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|center|640x419px|border]]

Now, open the firmware folder from the firmware zip file you downloaded and select the scatter file. If you selected an Android firmware, then the scatter file will be called''' Gemini_Android.txt'''. If you selected an Android/Linux firmware, then the scatter file name will depend on the space you reserved for them, for example''' Gemini_x27_A26GB_L30GB_Multi_Boot.txt'''.

Once you select the scatter file, the table should be populated as below:


[[File:flash2.png]]


Make sure all the partitions are found and are checked. If some partitions are not found (location tab is empty), double checked that you unzipped the Linux module in the firmware folder.

Finally, change the '''Download Only''' drop down menu to '''Firmware Upgrade''' and click on the '''Download''' button. When switching between a standard Android to a dual boot Android/Linux firmware, you must use the '''Firmware Upgrade '''mode because you need to format the device and change the partitions.

Connect your Gemini and restart it. As soon as the Gemini is rebooted, the flash tool will detect the device and it will update the OS with the selected firmware.



==Manually Update Android firmware==
Planet Computers provides over-the-air update for standard Android installations. For custom installation, you will need to manually update the Android firmware.

To update the Android firmware, simply download the latest Android firmware from [http://support.planetcom.co.uk/index.php/Gemini_Firmware http://support.planetcom.co.uk/index.php/Gemini_Firmware] and use the '''Download Only''' option while selecting only the system partition, as in the screenshot below

[[File:Screen_Shot_2018-06-20_at_15.57.55.png|center|640x421px|border]]



==Linux dual boot notes==
The dual boot mechanism works as follow:

* '''Dual boot Android-Linux firmware'''
** 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.