[UNOFFICIAL] ✏ HOWTO Testing the latest UNOFFICIAL 4.4.4 ROM and switching back to FP OS again [for Unix & FP1]

Continuing the discussion from [UNOFFICIAL] Drafting a "Back to FP OS" HOWTO for people that tested the unofficial rom:


This is mostly for users that don’t care much about their data and just want to play with their phone :smile:
Let’s update this together (code, spelling …)

Testing the latest 4.4.4 and switching back to FP OS again [Unix]

  • Charge your phone to around ~80%
  • Find a working SD card
  • If you want to backup and restore your data: Make sure you really know how to backup the files you need and how to restore them. The backup & restore software on the Fairphone has limitations. Read about it. Don’t backup to the same SD card. Backup to your computer.
  • Put the SD card in your phone (you can also save apps or your ‘temporary’ wlan password here so you don’t have to type it in again.)
  • Install adb on your computer and make sure you can connect to your device
    (if you cannot connect see the note “FP1’s USB port broken”)
  • On your phone check: System Setting -> Developer options -> Stay awake [x] & USB debugging [x]

The ROM was created and provided by @chrmhoffmann/XDA: chrmhoffmann. I don’t have any more info about how it was built or what sources were used.

Now wait a sec and read the original ROM post at XDA & and the educated warning from Johannes! Check the XDA site for ROM changes, bugs, and warnings.

Installing the latest 4.4.4 ROM (1st time, for updates, see below.)

Check device availability with:

$ adb devices

Create a backup of all the things you need.

Okay, now get all the right files onto your computer somewhere. Keep in mind that files/links may change in the future. Carefully check the XDA thread if files are missing (files as of 2015-11-30). You wanted to do that anyway, right?

$ mkdir FP-4.4.4
$ cd FP-4.4.4/

Recovery md5sum f5d1a4058b95414c51755aab037f80c8

$ wget https://basketbuild.com/uploads/devs/chrmhoffmann/fp1-kk-stock/recovery.img

Latest Rom (4.4.4/0.9.7 – don’t forget to check the xda thead for the checksum and the Changelog!)

$ wget https://basketbuild.com/uploads/devs/chrmhoffmann/fp1-kk-stock/fp1-kk444-CH-0.9.7.zip

Get the latest FP ROM (if you want to uninstall later again)

$ wget http://storage.googleapis.com/fairphone-updates/FP1-Fairphone_OS_v1_8_7_OTA_2015081400.zip

Move the recovery.img to your sd card that should be already in your phone

$ adb push recovery.img /sdcard/

Open a shell that runs on your phone (but is displayed inside the terminal on your computer)

$ adb shell

On your phone become root and replace the recovery.

Sometimes this does not work. Just try dd again and again. Ensure you are root on your phone!

$ su
(root) # dd if=/sdcard/recovery.img of=/dev/recovery

Should return something like:

11376+0 records in
11376+0 records out
5824512 bytes transferred in 0.230 secs (25323965 bytes/sec)

Write it all to disk and reboot

(root) #  sync

Use “exit” or “Ctrl-D” twice to leave the shells and to get back to your computer command line.

(Add a howto to check written /dev/recovery with comparing with dd and md5sum)

Installing the 4.4.4 ROM or updating it

From your computers command line, reboot the phone into the recovery system

$ adb reboot recovery

The right recovery has a picture of a hat as background graphics (see a picture of it in the XDA thread here).
If you see something in yellow writing you still use Android’s recovery. The update will not work with this recovery.

Try dd'ing the other recovery again. Until you see the graphics with the hat as described above.

Once you’re in the recovery, activate sideloading

Choose:  -> Install Zip -> install zip from sideloder

And sideload from your computer

Is the device around?

$ adb devices

Good, sideload the zip that you’ve download’ed before (check the file name!)

$ adb sideload fp1-kk444-CH-0.9.7.zip

After a while you should see the green
robot and something like

Sideload started …
Restarding adbd …
Finding update package …
Installing update …

Note: If you update from an older version (4.4.2) you need to choose “wipe data” from the recovery first. See: Errors/Issues below.

“Go back” and choose “reboot device now”
-> Reboot device

Rom may flash … Fix?
I always answer “No”

Reboot/Restart device

You will see an ANDROID logo instead of the
old Fairphone Logo

An the phone should boot up to Android nicely. Select the right launcher. There is also the possibility to install the old Fairphone launcher again.

Google Apps
If you like google apps, check opengapps.org for more information.

If the “Fairphone LOADING …” logo and the ANDROID logo come up again and again without any further progress and looks like the phone is stuck try to

  • Reboot the phone into the recovery system by following this procedure:

Hold the Volume Up button, while at the same time press and hold
the Power button. Hold these two buttons at the same time for about 10
secs until the screen changes.

You will see something like:

  Recovery  [X] <--

Select “Recovery” with volume up and press volume down!

  • Clean/wipe data/cache from the recovery
  • Reboot again!

FP1’s USB port broken
If you cannot connect the FP1 to a PC even trying different cables and different PC maybe the FP1’s USB port is partly broken. It occurs…

Fortunately you can use adb over wifi if your PC and your FP1 are connected to the same wifi LAN. You just need to install an app on the FP1. There are some on Google store, among them “ADB wireless by Henry” is very simple to use. Just launch it and you will see the command to run: "adb connect ip-address, where ip-address may probably vary according to your network configuration.

From here you can follow the HOWTO as if you where connected by cable stopping just before “$ adb reboot recovery”.
As soon I you will reboot the FP1 in recovery mode you will lost your adb connection. So, you need to uploadfp1-kk444-CH-0.9.7.zip somewhere in your SD card. By example: “$adb push fp1-kk444-CH-0.9.7.zip /sdcard/”.

Now you can reboot in recovery mode: “$ adb reboot recovery”.
Then, instead of choosing the sideloader option you have to choose " Install Zip -> install zip from sdcard" and point to fp1-kk444-CH-0.9.7.zip where you put it.
From here you can follow again the HOWTO at “Note: If you update from an older version (4.4.2) you need to choose “wipe data” from the recovery first. See: Errors/Issues below.

Switching back

Reboot into recovery again!

$ adb reboot recovery


-> install zip -> install zip from sideload

On your computer

$ adb sideload FP1-Fairphone_OS_v1_8_7_OTA_2015081400.zip

And reboot the phone after it’s all finished (check the phone for messages).

If needed or the system hangs with the fairphone logo:

  • Shutdown the phone and reboot into recovery
  • Clean/wipe data/cache in the recovery
  • And reboot again!

Very good guide! Thank you.

Thanks! I wonder if I should copy the info about the IMEI fix here, just in case. Is this fixed? I never had that problem. Also I think we should make it safer for FP1U users.

Update: But I think it’s the same these days, right? Can someone double check this?

You should mention that the standard backup app doesn’t back everything up -> Titanium backup


While I agree with you, I don’t want to promote software like Titanium backup. The phone should be able to do that with board tools. One can do all that with a rooted adbd, but I fear this will need another guide … I added a note.

you can use “adb reboot recovery” so that the phone reboots into the recovery instead of using the Power+Volume etc. That’s more reliable :smile:

I never had to dd twice the stuff…



Great. Thanks a lot. Some remarks below (it’s not yet wikified, so I can’t change it myself):

Maybe give links on how to install adb. adb could be installed from repositories (e.g. with sudo apt-get install android-tools-adb in Debian based systems) or downloaded from Google.

Also mention that the phone needs to be connected with a USB cable (that is capable of transferring data).

Maybe add a note that all code in gray boxes is supposed to be entered in a terminal (to be real noob friendly)

Maybe give solutions on how to solve possible problems (enable USB debugging, make sure phone is connected, is adb installed, etc).

Maybe give a way to check whether the checksum is correct. E.g.:
$ md5sum recovery.img | grep f5d1a4058b95414c51755aab037f80c8

The lines with wget commands should be code.

I would rephrase this to “Open a shell that runs on your phone (but is displayed inside the terminal on your computer)”

A command seems to be missing here.

Maybe change these blocks of screen menus to quotes instead of code blocks to differentiate them from shell commands. Something like:

Recovery [X] <—

Along the same line this should also be a quote.

Really great work all in all. Thanks a lot.


Me too never had the problem of multi-dd commands in order to flash the recovery nor the IMEI problem :smile:
Good how-to thank you :smile:

I agree. I also forgot about “adb reboot recovery”, good point! I remember that that works well. Thanks @chrmhoffmann!

@jftr: A lot of good points as well. It’s a wiki now, please feel free to change anything! I don’t like writing a howto for only one or two Debian based unix distributions, that’s why I did not mention any package management systems. But your right with making things easier to understand of course (typography, package names …) All good ideas!

Regarding dd: I thought about getting the checksum from the device directly to compare it. But I never did that. (I only installed the 4.4.4 very briefly).

@DjDas: (dd) Maybe it was a problem with my device? Interesting, thanks for the feedback. I will remove the extra dd’s. A check if the dd was successful by checking the checksum of the device would be much better anyway.

All: It’s a wiki now, please feel free to change everything! But please keep in mind, we cannot cover “how to use unix/cmd” details here, the howto is about changing the OS software on a unix based phone :smile:


It worked for me the first time, too.

1 Like

3 posts were merged into an existing topic: [UNOFFICIAL] Stock ROM Android 4.4.2/4.4.4 Kitkat for FP1 & FP1U

I think you should mention that you have to wipe data when you come from 4.4.2 or older.

It would be good to also explain how to install gapps.

Thanks for this guide BTW!


I added a quick “fix”, please correct me if needed, it’s a wiki! :smile:

BTW: Can you elaborate on the sources/bin blobs you use, or is it better not to ask?

1 Like

Can someone that uses the xposed framwork update the wiki on how to install the xposed framework on 4.4.4? It did not worked well for me the first time, but a howto would be nice so we can extend the wiki on how to install microG as well.

I’ve tried the Xposed Installer (713.3KB) from the following post:


It worked for me and solved the Version 19 issue.

1 Like

Thanks, confusing that there is not official source for v58(?) :frowning: Not really something I would like to add to the Wiki right now. But it’s good to have something that seems to work fast!

If those will work? Are the files the same?

Ehhh can’t find the fp1 launcher download link… can someone help? thanks

It’s linked (to the google playstore) from our forum list of lauchers:

Or are you looking for something different? The F-droid version is disabled. Other than that, the google play store version, the source code, and the disabled status in F-droid can easily be found via most search engines…

1 Like

You can find the launcher in /system/app/ in any of the OTA zip files on https://fairphone.zendesk.com/hc/en-us/articles/202478028-Manually-install-Fairphone-OS-for-the-Fairphone-1.

1 Like

Thanks, I found it on google play…