answered
2014-07-17 14:35:05 +0200
This post is a wiki.
Anyone with karma >75 is welcome to improve it.
Edit (2019-06-03): This old answer from 2014 is still basically valid.
Its fundamental point is to never downgrade "across" a "stop release", because that will most likely make your SailfishOS installation unusable.
In general, even downgrading to a slightly minor version (not "across" a stop release, e.g. from 2.2.1.18 to 2.2.0.29) may result in a multitude of issues, hence downgrading is not recommended.
The proper way to downgrade is to execute a "factory reset" followed by upgrading to the intended release.
More info: https://jolla.zendesk.com/hc/en-us/articles/201836347#6
See also Downgrade Sailfish OS and subsequent comments.
Ok, the almost answer was given here. But there, the starting point was defined as Sailfish OS 1.0.2.5, which would mean you loose all data and settings.
The following steps worked for me, application (including Android apps) and data (mainly) remained intact, however I had to re-configure the e-mail account. No warranty given. You downgrade on your own risk!
You should not downgrade to a version below 1.0.2.5. If you are upgrading from a version below that, observe the Exceptions stated on this helpdesk page on updates (towards the end of the page).
- Make sure to have internet access (WLAN recommended).
- Ensure you have developer mode access: https://together.jolla.com/question/32459/howto-access-command-line-with-root-privileges/.
- Start Terminal.
- Get root access:
– Enter devel-su
and <Enter>.
– When requested: Enter your password (according to step 2) and <Enter>.
Now you have root access. (I am not sure, whether root access is required, but I would expect so.) - Enter
ssu re 1.0.7.16
and <Enter>.
Instead of "1.0.7.16" write any other version you want to downgrade to – however I have tested it with downgrading from 1.0.8.19 to 1.0.7.16 only.
Terminal message: "The device is now in release mode!" - Enter
version --dup
and <Enter>.
The downgrade starts. - Wait until a message like "reboot device" and the Terminal prompt appears.
- Enter
exit
and <Enter>.
This exits the root access mode. - Enter
exit
and <Enter>.
This exits Terminal.
In my case, the system version (menu |- Settings | System | Product information -|) showed the requested version number now. - Reboot: Press the start button to the right until device starts to shut down. When shut down press that button again until device starts to boot.
- Test your system.
- Disable "Remote connection" which had to be enabled during step 2.
Remote connection allows to SSH your device e.g. via WLAN and is a potential security risk, in particular if you selected a rather weak password. However, in order to get root access, you need remote connection enabled, otherwise you cannot set a password for root access -- which I regard as a potential security hole in the Sailfish OS concept: It should not be necessary to allow remote connections to get root access.
Good luck.
Never try to downgrade Sailfish OS to an earlier version with the "version --dup" command! This may lead to an inconsistent state of the software system, i.e. break your device.
The only applicable ways of downgrading are:
jovirkku ( 2019-11-11 09:58:47 +0200 )edit- factory reset (Settings > Reset device)
- reflashing (in case of Sailfish X).