When having other packages installed with FP Open OS (e.g. opengapps or xposed) it is possible that you will get stuck in a bootloop after an update, if not installing these packages again.
Because these additional tools are installed on the /system partition, you need to reinstall them after every update, since the /system partition gets overwritten during the update. However, you should not loose data or settings, which are stored on your /data partition.
If you have not modified your FPOOS installation with such packages but run it as it is shipped, you need NOT to follow this guide; just go into the Fairphone updater app and install your update from there.
For everyone who runs a modified FPOOS, following the instructions below should help you avoiding problems, such as the bootloop, and support you by having a smooth update experience.
For now I added the (I guess so) most commonly used extensions of FPOOS, but please feel free to add other things, modify, extend and edit this post. THIS IS A WIKI after all!
- Prepare: Download the OTA update zip and zips for all your modifications
- Boot to TWRP
- Flash the update
- Flash all your modifications before rebooting
- Reboot to system.
For more info read on below, but don’t follow any instructions for flashing or modifying something you didn’t flash before the update. If you didn’t need it before, you won’t need it now.
Before starting update,
1.1 Create a (Titanium) Backup of your apps and settings, and save all your files (offline maps, photos, music etc.).
Be sure to get your backup off the phone — onto a removable SD card or copied to a computer. It is very easy to wipe everything.
Make sure to have the latest
1.2 OpenGAPPS (choose ARM; 5.1 or 6 according to your version)
1.3 Xposed framework installer (Android 5.1 | Android 6)
1.4 Fdroid.apk from https://f-droid.org/
1.5 optional a prepared platform.xml (see 4b), required on Android 5.1 as needed)
on the SD card
1.6 and manually download the latest fp2*ota-userdebug.zip update file from code.fairphone.com and also save it to your SD card.
Note: If your device is encrypted, you need to save the files to the external SD card, as you cannot access your internal SD card from TWRP unless you use the community port!
1.7 Make sure that USB-debugging (in developer settings) is activated. This is required to use
After you made sure to have the necessary files incl. the latest update file on your SD card, initiate the update process by entering the recovery (TWRP).
You can do either by using the adb command
adb reboot recovery or by turning off your phone, and powering it on again while pressing the Vol. Up button until the phone vibrates.
From within the recovery you can install all files in a batch: When you are in the recovery (TWRP), select the
install option of the menu, and select all the files you want to install, such as
3.2 OpenGAPPS and the
3.3 xposed framework
In order to install FDroid as a system app, you can either use TWRP’s file manager to copy the
FDroid.apk file into
/system/priv-app, or, while still in the recovery start an ADB shell (will not work on encrypted devices unless you use the community port of TWRP)
4.1 get su rights
4.2 mount -o rw,remount /system
4.3 copy the Fdroid.apk into /system/priv-app
4.4 change the file permissions to 644
ALTERNATIVE: Download “/system App Mover” from F-Droid and make F-Droid a system app (for users who don’t know how to use ADB)
4b) - optional (required on Android 5.1 as needed)
If you want to set writing permissions for Ext SD Card in a safe way copy prepared platform.xml (which line to add you can see here SD Card no writing permission in FP2 for example using Amaze editor) from Ext SD Card to /system/etc/permissions and ensure file permissions of 644.
Reboot to system
(If you are updating from FP Open OS Lollipop to Marshmallow and use GravityBox (in XPosed), don’t forget to download the new module)
If the home screen is broken, pull the update for the “Fairphone Launcher” from your (Titanium) Backup, and everything should be as before.
Since v. 16.08 a nasty bug drains a lot of battery due to activity of the proximity sensor. This can be circumvented by installing old modem files. Note that this may potentially opens up other bugs that have been fixed in later modem versions, incl. security fixes. Also the calibration tool for the proximity sensor may not work properly.
To install the old modem files
a) download an old package which includes old version of the modem files
b) extract the downloaded file
c) point your terminal to the extracted folder and execute:
fastboot flash modem ./BP/NON-HLOS.bin
fastboot flash sbl1 ./BP/sbl1.mbn
fastboot flash rpm ./BP/rpm.mbn
fastboot flash tz ./BP/tz.mbn
fastboot flash dbi ./BP/sdi.mbn