EFIDroid (multiboot) for the Fairphone 2

EFIDroid for the Fairphone 2

I am not responsible for any damage which could be done with this software! I tested it on my device and everything worked according to this post but I can’t guarantee that it won’t brick your device (I don’t see how it could but still). Please only attempt this if you know how to fix it (fastboot flashing the boot image for example)!

EFIDroid is a relatively new multiboot solution for mobile devices. It is based on the EFI implementation by Intel (EDK2) and wants to use standard technology.

I worked the last few days hard to get it working on the Fairphone 2.

How to install

Note, that your device has to be rooted for this to work!

Download: Google Play: https://play.google.com/store/apps/details?id=org.efidroid.efidroidmanager (about F-Droid: EFIDroid – F-Droid)
For complete instructions and a complete step-by-step example, please visit my blog-post about EFIDroid

What works:

  • Booting the primary ROM
  • Booting a secondary ROM (FP Open 16.08 & 16.12 is confirmed to work)
  • Booting to the recovery with the primary & secondary ROM.

What doesn’t work:

  • Probably booting into FP OS (phone reboots without any access to adb so debugging is quite hard)
  • Booting to SailfishOS, because SailfishOS stores some paths in the /system partition and not just in the RAM disk so it’s not supported right now.
  • Booting Ubuntu Touch (support is more easily possible than for Sailfish)

What I didn’t try:

  • Booting FirefoxOS/B2G (I don’t have personal interest and it seems quite dead)
  • All configurations of Looping&Binding.

Bugs:

  • Sometimes when rebooting the UI gets a bit messed up, the quickest solution is to reboot but it’s only cosmetic so don’t worry.

Credits:

  • m1cha for writing this great software, giving me nearly 24/7 support & fixing many bugs so quickly.
  • @Arvil for testing the build before publishing (and he’s porting CM so that’s great!)
  • me (z3ntu) for doing the rest :wink:

Links:

22 Likes

Not right now. So there is there is a ‘hack’ brewing in someones mind ? :wink:

Would be great to have. I’m using sailfish as primary os. But would be nice to boot to AOSP to test how some hardware things like compass or camera button work.

Really liking this. :+1:

1 Like

Basically EFIDroid only modifies the ramdisk content and not files which are permanently stored in the disk (flash). But the problem with SailfishOS (at least the FP2 variant) is, that it stores mount paths both in the ramdisk (good) and on the disk (bad).

1 Like

It’s now an official EFIDroid device, so you can use the official version of the app: https://play.google.com/store/apps/details?id=org.efidroid.efidroidmanager :slight_smile:

3 Likes

Thanks @z3ntu, this is awesome!

I just installed FP OS alongside my FP Open OS. Everything works great so far, the only issue I have is that my Settings App keeps crashing when I want to go to security settings to allow unknown sources and disable Google Play Services as Device Administrator.

2 Likes

Can you get a kmsg/dmesg log and/or logcat and send it to me via pastebin or something? Thanks.

If I knew what that was… I probably still couldn’t do it. Sorry! :blush:

adb shell dmesg > dmesg.txt and then upload the contents of the file dmesg.txt to pastebin :slight_smile:

1 Like

Was this solved? I’d like to try FP OS as a boot option besides FP Open OS, too - unfortunately I still need a (real) google system for a few apps that won’t work with microG (Car Sharing apps like car2go, multicity & drivenow, to be precise).

BTW this is my first post, I just got my Fairphone 2 a few days ago and I’m thrilled by all the tweaking options & to finally get rid of google (well, almost)! Thank you all for this great forum :slight_smile:

2 Likes

Welcome to the forum! You may want to introduce yourself here.

If you do the entire Level 5 from this guide you can get any app to work, although I’m not sure those apps really need all that. Did you install the NoGAPPS XPosed module to allow signature spoofing?

For me EFIDroid works great now since I got my cousin to allow unknown sources via ADB.

1 Like

No, @paulakreuzer, there are apps that still doesn’t work because not all Google Services Framework’s APIs have been implemented in microG (yet?). If the app’s main functionality rely on one of those, it won’t work. Fortunately, I think they are not numerous (at least, not the majority)

1 Like

Oh yeah, you are right. I was just thinking of “running” and not of “doing it’s purpose” when I said “get any app to work”.
Honest mistake as I never came in contact with such an app.

2 Likes

Thanks for those quick replies & good to hear that EFIDroid works well. As soon as I get a sd-card I’ll try this & eventually report here.

@paulakreuzer: I followed your walk-through (it’s great!), spoofed signature by Xposed module. All points in microG selftest are checked, but most carsharing-apps I tried crash at startup (tried car2go, multicity, carjump, mobility map – drivenow seems to work). Though in safetynet, ‘Response Validation’ fails, don’t know about that…

Try this module:

This App Will Run Without Google Play Services

1 Like

Hello. I had installed EFIDroid following your step-by-step example with fp2-sibon-16.12.0-ota-userdebug.zip archive. In TWRG I got a warning message concerning system partition, but install seems normally achieve. When I try to boot FP Open OS I had an endless reboot loop. Maybe you can give me some hints? Thank you for your work!

What “warning message”? And do you get access to adb during the reboot loops? If yes, please get the output of adb logcat and send it to me (pastebin or sth like that)

Ok. I’ll try soon and I will answer you.

I guess you mean the prompt asking you to give TWRP permission to modify the system partition. You have to allow it.

1 Like

Hi. TWRP message is : "Fail to unmount ‘/system’ (Invalid argument). When I try to boot into Open OS I see Fairphone logo, then back in EfiDroid. When I reboot in FPOS I can’t see device in ADB. Same behaviour with p2-sibon-16.09.0-ota-userdebug.zip

Press the “mount” button in the main menu and untick the system partition, then try again.

1 Like