Installing Sailfish X on Xperia X using Linux

 

 

IMPORTANT – Do not skip this step

Use your Xperia X for some time with Android OS. Check that phone calls can be made and received, that you can browse the Internet with a mobile data connection (turn WLAN off) and that the camera works. You might also want to check the touch display, loudspeaker and microphone. Use the same SIM card as will be used with Sailfish X.

What you need to begin

A. Sony Xperia X Single SIM (F5121) or Sony Xperia X Dual SIM (F5122), verified to have an unlockable bootloader (see the next chapter).
B. USB-C data cable
C. Internet connection
D. Windows computer
E. Sailfish X from the Jolla shop.

What you need to do

As a prerequisite, check that the bootloader of your device can be unlocked. If not then you cannot install Sailfish OS on it.

On your device, open the phone dialler application and enter *#*#7378423#*#* (type as if this was a phone number) to access the service menu. Tap “Service info > Configuration > Rooting Status”. If “Bootloader unlock allowed” says Yes, then your device can be unlocked. If it says No, or if the status is missing, then unlocking is not possible and you cannot install Sailfish OS.

1. Skip the Android update

  • You should not update your device to the latest version of Android.
  • Both Android 7 (build number 34.3.A.x.yyy) and Android 8 (build number 34.4.A.x.yyy) are okay as the starting point for installing Sailfish OS releases. Do not update to higher Android versions in the case updates are offered. Jolla has ported Sailfish OS to Android 7 and 8 only on this device family.
  • You can see the Android version in “Settings app > System > About Phone”. Also, check the Android baseband version of your phone in “Settings > System > About phone > Build number”: it should preferably be 34.4.A.x.yyy (where ‘x’ and ‘yyy’ can contain any number) while 34.3.A.x.yyy is also compatible.
  • If the build number happens to be higher, e.g., 34.5.A.q.zzz or even 35.x.A.q.zzz, then you should downgrade to 34.4.A.x.yyy using the Emma tool of Sony (available for Windows computers only).

 

2. Install Fastboot tools on your computer

Here is how to install Fastboot tools on different Linux distributions using a terminal:

Debian/Ubuntu/.deb distros:
apt-get install android-tools-fastboot
Fedora:
dnf install android-tools

3. Extract the Sailfish OS .zip file

3.1  You have purchased the Sailfish X license and are hence entitled to download the latest Sailfish OS .zip file from https://shop.jolla.com/downloads/ .  You can download the current (latest) version only. Please make sure that you download the correct file that matches your phone model. You can check the phone model by pulling out a white label and listing the info from the SIM card slot.

Examples:
Sailfish_OS-Jolla-4.5.0.18-f5121-1.0.0.9.zip (this image can be used for F5121)
Sailfish_OS-Jolla-4.5.0.18-f5122-1.0.0.9.zip (this image can be used for F5122)

3.2 Extract this file to a directory, resulting in a dozen of files.

 

4. Unlock your bootloader

4.0 In order to unlock the phone you need to get the unlock key that can be requested from the Sony Open Devices website.

– scroll down the page
– select your device  Xperia™ X
– scroll down the updated page
– enter the IMEI code (from Settings menu) of your device to the line near the bottom of the page
– type your email address to the next line
– click “Submit” and the unlock code will appear
– copy the code to the text buffer of your computer.

After getting the key please follow the below actions to do the actual unlocking.

4.1  Enable “Developer options” by going to “Settings > System > About Phone” and tap the “Build Number” multiple times until you see a prompt saying “You are now a developer!”
4.2. Enable “OEM unlocking” and “USB debugging” from “Settings > System > Developer options” menu.

Note that your Xperia device must have an Internet connection when doing this.

4.3 Turn off your phone
4.4 Connect USB cable to PC
4.5 Press and hold the ‘Volume up’ button gently and connect the other end of the USB cable to your phone and wait for the LED to light up BLUE. If it turns green then disconnect the cable and try again.

4.6 Open Terminal on your Linux computer. Go to the folder where you unzipped Sailfish OS in step 3.2.

4.7 Run command shown in chapter 4 “Enter unlock key” of Sony instructions. Use the unlock key from chapter 4.0. Do not forget to add the ‘0x’ prefix, remove the brackets, and prepend the command with “sudo”.

The command syntax is this:

sudo fastboot -i 0x0fce oem unlock 0x[your unlock code]

An example and the expected output:

sudo fastboot -i 0x0fce oem unlock 0xF6147ED3A507FBAD
…OKAY [ 1.716s]
finished. total time: 1.720s

The bootloader is now unlocked, allowing you to install Sailfish X on your device.

5. Getting the Sony vendor binary images

5.1 Download the Sony binary image named SW_binaries_for_Xperia_AOSP_M_MR1_3.10_v13_loire.zip for the Xperia™ X from the Sony website. The file is dated “October 10, 2017”.
5.2 Unzip the SW_binaries_for_Xperia_AOSP_M_MR1_3.10_v13_loire.zip file.
5.3 Copy the SW_binaries_for_Xperia_AOSP_M_MR1_3.10_v13_loire.img extracted from the zip and paste it to the same directory where you extracted the Sailfish OS .zip file. Once done, you should have SW_binaries_for_Xperia_AOSP_M_MR1_3.10_v13_loire.img in the same directory with fastboot.exe, flash-on-windows.bat, sailfish.img001 and some other files.

NOTE: Do all the steps above regardless of the Android version you got while updating it, also in the case of Oreo (Android 8).

6. Flashing Sailfish X to your Xperia™

Connect your device to your PC in the Fastboot mode as follows:

NOTE: If your device is still connected and the blue LED lit from step 4.7 it is ok to keep it that way and skip to step 6.5 below.

6.1 Disconnect your Xperia™ device from your PC
6.2 Turn off the device. Leave it off for at least fifteen (15) seconds.
6.3 Connect one end of a USB cable to your PC
6.4 While holding the ‘Volume Up’ button gently, connect the other end of the USB cable to your Xperia™ device. The LED next to the speaker on the device should light up blue. If green, then disconnect the cable and try again.
6.5 Open the Terminal in the same directory where you extracted the Sailfish OS .zip file (see step 3.2)
6.6 Launch the flashing script by entering the command:


sudo bash ./flash.sh

6.7 Follow the instructions in the terminal window. The last three lines should be:
Flashing completed.
Remove the USB cable and bootup the device by pressing powerkey.
Press any key to continue . . .

6.8 When flashing has finished, reboot your device into Sailfish X! You will first see a reminder of the unlocked boot loader, followed by the Sony logo. Next, Sailfish OS appears.

Happy flashing! 🙂

7. Booting up to Sailfish X

7.1 Press the Power button. First, you will see a reminder of the unlocked bootloader (please ignore), followed by the Sony logo. Next, Sailfish OS appears.
7.2 Your Xperia starts running the first boot up, a.k.a. Startup Wizard, during which it will ask you to:
  • select the display language for the phone
  • accept the End User License Agreement
  • set the security code for the device lock
  • connect to the Internet
  • set the date & time
  • sign in to your Jolla account – the same that you used for buying the license, as this makes the so-called licensed content  (including Android Support) appear in Jolla Store for your device
  • install the default Sailfish apps, Android Support (which can be installed later, too) and Aptoide Store
  • please restart your Xperia X once at this point to activate all services and complete the installation.
7.3 You can now install more Sailfish apps from Jolla Store and Android apps from Aptoide Store (and from other Android stores).

FAQ

  1. How can I check if my Xperia device can be unlocked?
    A1: See the Sony Open Devices website for detailed information on each Xperia device. Scroll down to the bottom of this page, then select your device:
    For the Xperia X (correct at the time of writing, Sony may update this information at any time):
    In your device, open the dialler and enter *#*#7378423#*#* to access the service menu.
    Tap “Service info > Configuration > Rooting Status”. If the “Bootloader unlock allowed” says Yes, then your device can be unlocked. If it says No, or if the status is missing, then unlocking is not possible.
  2. How can I check the Android Build Number (before and after installing Sailfish OS)?
    A2: Force the phone to the fastboot mode (blue LED) in the same way as in step 4.5, working in the directory of step 3.2. Then, give the command sudo fastboot getvar version-baseband
  3. After flashing Sailfish X to my Xperia™, it gets stuck on the Sony logo when it is booting up, how can I fix it?
    A3: You should reflash the device with the instructions above. Make sure that you have the correct vendor binary image from Sony (chapter 5).
  4. How does this affect my warranty with Sony?
    A4: The effect of unlocking your phone does affect your warranty, so you should make sure that you read Sony’s warnings during the unlocking process thoroughly. We also recommend that you verify that all the hardware is working properly before unlocking their devices (easier at this point), although getting repairs for existing faults under warranty may still be possible after unlocking. The effect of unlocking your phone does affect your warranty, so you should make sure that you read Sony’s warnings during the unlocking process thoroughly. We also recommend that you verify that all the hardware is working properly before unlocking their devices (easier at this point), although getting repairs for existing faults under warranty may still be possible after unlocking.