Installing an OS update fails (download worked)

Jolla Care -

 

Sometimes installing an OS update may fail even though the download seemingly worked okay. The problem is usually caused by the device and Jolla Store being out of sync somehow.

 

 SailfishOS-could-not-be-updated-EN.jpg

 

1. Prepare using the command line

Let's download and install the OS update by initiating the process from the command line (Terminal app) instead of the menu page "Settings > System > Sailfish OS updates". In this way, some checks are by-passed which may allow the update to work okay.

Please read this help article first and do as instructed in it. It explains how to enable and disable the Developer mode. Developer mode makes access deeper to Sailfish OS possible by allowing you to get the super-user rights ("root" rights). Also, it installs the Terminal application to the device.

 

2. Start OS update from the command line

Once you have the Developer Mode enabled, do as follows:

  1. Connect your phone to a battery charger.
  2. Open Terminal app. If the font is too small make it bigger using Settings at the top right corner.
  3. Type and execute the following commands below in the grey box.

NOTE: You must not skip any Stop Releases over. All of them, higher than the release of your phone now, must be traversed.  Get familiar with the details in chapter 4 of this help article first.

Example:  Your phone has OS version 3.0.1.11 in it now (you have probably done the factory reset). To update the phone to 4.0.1.48, the update path via the stop releases is this:

         3.0.1.11 -> 3.2.0.12 -> 3.4.0.24 -> 4.0.1.48

devel-su   
## type your SSH password here

ssu re 3.4.0.24 ## replace "3.4.0.24" with the ID of the next Stop Release
## (or the final release if all stop releases passed)

version --dup     ## note the 2 dash characters in front of 'dup'!
reboot

Command  version --dup will last long as it first downloads everything necessary and then installs them. You can see the progress in percentage all the time.

If this way of updating the OS worked, please jump to chapter "Final clean up" below.

 

3. If it keeps failing

Should the update still fail then let's try some more tricks:

Delete the remainders of earlier failing OS update attempts to make a clean update possible.

 

a) Cleaning up

cd $HOME
devel-su
pkill store-client rm /home/.pk-zypp-dist-upgrade-cache/* ## Use this command for Sailfish OS 2.2.0.29 "Mouhijoki" or earlier rm ./.cache/store-client/os-info ## Use this command for Sailfish OS 2.2.1.18 "Nurmonjoki" or later rm ./.cache/sailfish-osupdateservice/os-info exit

 

 

b) Installing OS update from the command line

NOTE: You must not skip any Stop Releases over. All of them, higher than the release of your phone now, must be traversed.  Get familiar with the details in chapter 4 of this help article first.

Example:  Your phone has OS version 3.0.1.11 in it now (you have probably done the factory reset). To update the phone to 4.0.1.48, the update path via the stop releases is this:

         3.0.1.11 -> 3.2.0.12 -> 3.4.0.24 -> 4.0.1.48

devel-su
ssu re 3.4.0.24    ## replace "3.4.0.24" with the ID of the next Stop Release
## (or the final release if all stop releases passed)
version --dup ## note the 2 dash characters in front of 'dup'! reboot

 

4. Final clean up

The OS update notification may persist in the device after updating the OS with the command line method. The commands below may help in eliminating the notification:

cd $HOME
devel-su pkill store-client ## Use this command for Sailfish OS 2.2.0.29 "Mouhijoki" or earlier rm ./.cache/store-client/os-info ## Use this command for Sailfish OS 2.2.1.18 "Nurmonjoki" or later rm ./.cache/sailfish-osupdateservice/os-info

Once done, visit the menu "Settings > System > Sailfish OS updates" and seek updates using the pull-down menu. Your phone should not indicate any updates at this point but trying to search them completes the cleanup.

 

 

 

5. Troubleshooting

Command "version --dup" might fail in cases where the user has added some extra code repositories to his/her device. 

In case of trouble, we would ask you to run the command below and send a picture (pictures) showing the complete printout. Then file a service request and attach the pictures to it.

ssu lr

The correct output should be something like in the picture below (an example from Jolla Phone):

SSU-LR-SBJ.PNG

Another example from Xperia XA2:

SSU-LR-XA2-3.0.3.PNG

Section  "Enabled repositories (user)" may contain some incorrect (extra) repositories which can be removed with the command

ssu rr <repository-name

followed by

ssu ur                                       # same as "ssu updaterepos"
pkcon refresh

where <repository-name> shall be replaced with the short names in the left most column of the printout of command "ssu lr" (compare to the picture above -- note that the picture above does not have any incorrect items, though).

If you want to keep your repositories for some reason then it is also possible to only disable them for the OS update:

ssu dr <repository-name>

Afterwards they can be enabled with

ssu er <repository-name

 

 

 

Have more questions? Submit a request
Powered by Zendesk