EFIDroid (multiboot) for the Fairphone 2

Thanks for your reply!
I’m sorry, I didn’t give you enough information. :blush:
I had started with FPOS 1.12.0 Beta. Then I had rooted it with boot-fairphone-FP2_gms75_BETA_1.12.0-su-eng-r292.img. Then (following your guide) I installed EFIDroid and within EFIDroid prepared the ROM FPOOS. Then I tried to restart and enter TWRP Recovery.
I may try to flash TWRP recovery as proposed.

Hello!

I would like to dualboot Fairphone Open and Fairphone OS on a Fairphone 2.
I installed Fairphone Open as soon as I got the phone, it is now running version 17.01.
I would now like to add Fairphone OS with all those Google services via EFIDroid, I downloaded the latest FP2-gms75-1.12.0-ota.zip for that.

I followed the guide at https://z3ntu.github.io/2016/11/01/Install-and-configure-efidroid.html, but Install (Edit: at the TWRP stage) failed.
Since the first error in the console window was "E:Unable to mount ‘/system’ " I got around that by wiping system.

Install then still failed with:
Can’t install this package (Tue Feb 7 15:14:40 SGT 2017) over newer build (Tue Feb 21 12:38:37 CET 2017)
E:Error executing updater binary in zip "/external_sd/FP2-gms75-1.12.0-ota.zip’
Error flashing zip ‘/external_sd/FP2-gms75-1.12.0-ota.zip’

I tried the same thing with the older FP2-gms72-1.11.1-ota.zip and got the same Error, only with an older date (Dec 30 2016 vs. Feb 21 2017).

I have a TWRP backup of my Fairphone Open system, so anything goes as long as I would at least be able to restore the backup in the end.
Can something be done with the binary images of Fairphone OS via fastboot instead?
Or do I have to do it the other way around, restore the phone to the initial Fairphone OS and then add the Fairphone Open?
Or am I just doing something wrong?

Any help appreciated.

Are you sure that you have booted into TWRP by selecting the new rom and not the internal one?

1 Like

Well, I take the following steps according to the guide from the still working Fairphone Open OS:

  • Reboot
  • In EFIDroid right after rebooting, I select TWRP (Internal)
  • From the resulting OS list, I do not select “Android 5.1 (Internal)” but the newly created (empty) one, I named it “FP OS”
  • “Booting FP OS” appears
  • TWRP gets started, I swipe to allow modifications
  • Install
  • I select Micro SDcard for Storage
  • I select FP2-gms75-1.12.0-ota.zip
  • I turn off Zip file signature and swipe to Confirm Flash

… and Install fails giving the error I described.

Did I miss something important?
When I reboot from TWRP it asks “Install SuperSU?”. Is that related? Should I do that? Is that reversible just in case?

I updated the Fairphone Open OS to 17.02 and went through the Install procedure for the second OS again.
Interestingly, the newer date given with the error (Feb 21) stays the same, it is the day I bought and initially set up the phone.
Perhaps I just have to wait until one of the next Fairphone OS builds has a newer date than that :slight_smile: ?

If you are feeling adventurous, you can edit the file META-INF/com/google/android/updater-script and remove the first line and then flash that edited zip.

1 Like

Thank you, that indeed lets the Install succeed.
Unfortunately, the now installed Fairphone OS doesn’t boot, it just reboots to EFIDroid again.
I tried to Install it again with wiped system and all partitions unmounted like it was suggested here before, but no luck yet …

Edit: I tried the fastboot mode from EFIDroid for the second OS and flashed FP2-gms72-1.11.1-manual … same result (there seems to be no 1.12.0-manual yet).

Do I understand this right: The Fairphone Google OS has to be the primary Rom, the open OS can’t be the primary one?
In my case: I am running the open OS, version 17.02.0. I would have to install the Google OS and after that efidroid and than the open OS.

Wy I am asking: For the future I want to be prepared for Android 6.0 and use it as a secondary ROM, when it is available sooner or later with probably some teething troubles, in addition to a mature, open Android 5.1 OS as primary ROM. Would that be possible?

In my limited amount of testing, FP OS (Google variant) doesn’t boot as a second rom so you would have to have the Google version primary and the FP Open version as secondary.

On the other side that could imply, that via EFIDroid a probably not jet mature, primary Android 6.0 OS could affect a secondary Android 5.1?

So if Fairphone OS doesn’t work as the second OS, I figured I would go back to square one.

  • I wiped everything and flashed the original Fairphone OS
  • I rooted that
  • I installed EFIDroid and set up an empty slot for a second OS
  • I rebooted …

… and according to the guide I would now use TWRP to install the second OS.

But where would TWRP come from?
My EFIDroid shows “Recovery (Internal)” instead, and that doesn’t even work (for neither of the two OSes), it only reboots back to EFIDroid.

The TWRP site doesn’t list Fairphone 2 as a supported device, but it is part of Fairphone Open OS.

So my next approach would now be to actually install Fairphone Open OS first to get TWRP, then set up EFIDroid, install Fairphone Open OS as the second OS, too, and then change the first Fairphone Open OS to Fairphone OS via the Updater App … sounds weird.

Or is there a simple way to replace the original Recovery with TWRP on the Fairphone 2?

(I tried to simply flash Fairphone Open’s recovery … no luck. Was worth a shot though :slight_smile: .)

I use FP Open OS as primary and FP OS as secondary since November '16 with all the updates of both OSes and it works just fine.

I only can’t access security settings in FP OS and it says “unfortunately Google Services stopped” twice every time the connectivity changes - usually with no effect.

PS: Tried with a new FP2 and it doesn’t work either. The problem is that swiping to “allow system modifications” and unticking “zip signature verification” have no effect. After every reboot to the recovery I get the prompt again and the box is ticked again.
So maybe setting up EFIDroid for the first time only works with older OS versions when going with Open OS as primary.

This should work… At least it worked while I was playing with Ubuntu Touch. Download the fp2-sibon-xx.xx.xx-image-userdebug.zip file from FP repos, extract the recovery.img and then:

  • adb reboot bootloader
  • fastboot flash recovery recovery.img
  • fastboot reboot

Regards,
Olivier

No, efidroid provides it’s own image for the recovery partition. The recovery image is located in the normal filesystem under /storage/emulated/0/UEFIESP/. See partition_recovery.img there.

1 Like

see EFIDroid (multiboot) for the Fairphone 2 on how to replace the recovery image with efidroid

EDIT: And about, that TWRP for the FP2 isn’t official yet: I am in contact with the TWRP maintainers but I currently have problems compiling the recovery under their omnirom sources (and Android people aren’t known to be very helpful…)

1 Like

Good idea.
I checked with Fairphone Open OS 16.11.0 and 16.08.0 (flashed with fastboot), but it always ends up the same: EFIDroid sets itself up without a problem, I can flash an OS with TWRP into the second OS “slot” without a problem … but the second OS does not boot, be it Fairphone OS 1.11.1 or 1.12.0 or Fairphone Open OS 17.02.0, they always just reboot back into EFIDroid.

Can I check something via command line in TWRP to find out what’s going wrong?

By the way … While older Fairphone OS OTA versions are still up for download, I didn’t find such a page for Fairphone Open OS, only one with older binary blobs

  1. I don’t know if 17.02 works; I don’t really have time to test right now
  2. Yes, you can use adb shell from TWRP (if it’s not working properly, use my TWRP build found somewhere in this forum^^ - hopefully soon official TWRP).
  3. I have nearly all FP Open versions in a directory on my harddrive. I can send you one if you want.

Thanks, I just checked out version 16.09 (downloadable from the guide), but same old … doesn’t boot as second OS on my phone.
Will check out Fairphone OS 1.9.3 as (Edit) second OS and Fairphone Open 16.09 as (Edit) first OS next, but up until now the results are so much the same with any attempt, I’m not getting my hopes up :slight_smile:

Edit: Yep, same result. The second OS is always just rebooting back into EFIDroid. How can this work for some people on the same hardware? UNFAIR :smiley:

I think there’s a bug in EFIDroid, new installations don’t seem to work (For me neither, same problem).
@z3ntu: Is there a possibility to downgrade EFIDroid? :wink:

1 Like

I forgot to ask a newbie question until now, maybe I just failed to read this info somewhere … Are those OTA update files I’m supposed to flash to get a second OS even sure to include a complete (in the sense of bootable) system? I mean … the Fairphone Open OS download page calls them upgrade, the Fairphone OS download page calls them update.
Could there be something missing (perhaps theoretically or in the future)?