Gain more real users and user experience by supporting multi boot like EFIdroid with Android
-
@elastic Been very busy with other matters and had no time to experiment last days. I have cleaned my Nexus 4 of remnants of Multirom, Dualboot and EFIdroid to get a fresh start in experimenting with Canonicals Dualboot. It took me 2 evenings and had to flash stock rom twice. ADB devices didn't recognize it. Now that is done and have LineageOS running again.
I'm no fan of Multirom either. Its outdated and indeed to much of a hustle.
"maybe it's time to ask the UBports team for support" you wrote three days ago. This is always an option. I think it's good to have a concrete question of what our goal is (by example editing Canonicals Dualboot apk to alter the server url to UBports url) and what is not to extensive to answer. What do you think?
In my opinion we're not yet at a point of no solution. -
@jjurgen I did it exactly vice versa - cleaned my Nexus 5 from all the stuff then first had a look at Xenial - smooth UI but not in a usable state for the Nexus 5 yet - and the flashed TWRP, with that flashed my UBPorts backup and after this flashed the UBPorts recovery to replace TWRP - so I'm on UBPorts now.
The main problem seems to be, that UBPorts doesn't work well with TWRP - I got it to boot once but it didn't shutdown after that - so it seems to need something special from the UBPorts recovery ... on the other side UBports recovery doesn't work (or at least I can't figure out how) for EFIDroid and Android - btw the boot.img and recovery.img for all devices are on cdimage.ubports.com if you need them ...
Let me think a few days about solutions - if you can boot two android roms you should be able to boot android and UBPorts - I might try EFIDroid with Sailfish next - if that works we might be a step closer ... -
@elastic Installed Canonicals dualboot again and tried to install Ubuntu Touch by sideloading. Files are downloaded and pushed to the Nexus 4 in /sdcard/ubuntu_release. After that the Dualboot app pops up but no install activity. So a not fully implemented feature. I think the that the update_command file that is being generated is not executable. I'm gonna try to make it executable and see what happens.
There's something else that is on my mind regarding EFIdroid. I would like to know how to install UBports from recovery, just like one can install a custom rom from TWRP. In TWRP the install starts after unpacking the zip from META-INF/com/google/android/update-binary. I can't find this path in the UPports tar files.
If you know which file is the update_binary in UBports then it could be started from recovery with a self made script (pathname META-INF/com/google/android/update-binary and zipped) together with the tar files in the right directory of TWRP. If that doesn't work it will return error messages. Not what I like to see but these messages can help us.
The problem with TWRP is that it doesn't support tar.gz archives (look here and scroll down to second dot under Issues/Hacks), and zip zip doesn't support every attribute needed for the rootfs. That's a hint why UBports has its own recovery.
So that would mean flashing UBports recovery to the slot (EFIDroid) and then installing UBports. Does that make any sense? -
@jjurgen well to be honest I don't know if UBPort team changed anything but for UT sturmflut did a great job to figure everything out in his blog: Part 2 and Part 3
as its possible to make recoverable backups of your UBPorts installation with TWRP by flashing it for the backup and the recovery (not handy but takes only seconds) and after recovering the backup just flashing back UBPorts recovery that seems much easier than finding a way to install UBPorts with EFIDroid already installed. I agree, we need a way to get UBPorts recovery to the slot ... but that won't work if EFIDroid doesn't recognize UBPorts recovery as it expects TWRP - maybe we should contact the dev of EFIDroid about that?
-
@elastic Indeed your method is easier. Lukss12 says on his page under Clarifications "EFIDroid properly patches TWRP ramdisk to affect the desire slot/ROM" so Lukss12 EFIDroid is only compatible with TWRP.
I've been playing around with EFIDroid on my Nexus 5 (had to flash stock rom and then install LineageOS to get a clean system - adb devices didn't list my device). Tried to install via option Fastboot in EFIDroid. According to Lukss12 page there should be only one entry, but there are two entries (CyanogenMod and UPport). So I thought maybe this way I can install UBports to its slot (being naïve), but this fastboot mode keeps waiting for a command and the terminal on my laptop keeps waiting for a device...
Then pushed the UBports recovery (renamed it to ubport_recovery.img) to /multiboot/data/media/0/ and then in EFIDroid activated the File Explorer and browsed to userdata/media/0/ and selected file ubport_recovery.img, pushed power button and UBports recovery starts and is functional. Could reboot, reboot into bootloader and power down. So that makes me think UBports recovery could work if EFIDroid properly patches UBports ramdisk to affect the desire slot/ROM. If UBports boot.img will work is still unknown.
Its worth a try to ask the dev of EFIDroid to consider support for UBports (if he/she isn't already doing so :)). That leaves the question do we ask this to Lukss12 (dev for hammerhead) or M11kkaa (dev EFIDroid). -
@jjurgen as Lukss12 is the one who provides the only working version for hammerhead we should contact him/her first
-
@elastic Will make an account on XDA forums tomorrow and kindly request Lukss12 to consider supporting UBports recovery in EFIDroid. He/she will probably wait until M11kkaa has completely rewritten the project. Shall we do this together? In the Netherlands we say 'two people know more than one'.
-
@jjurgen yes absolutely - and they can achieve even more
... I’m working tomorrow till 3 pm then I’ll be on the road for 430km in the Friday evening chaos between Cologne and Nuremberg so I won’t be able to respond before Saturday ...
cheers -
@elastic Did some experimenting on my Nexus 4. Installed UPports and then flashed TWRP as a new recovery. All functions well so TWRP and UBports go wel together once UBports is installed. But to install UBports and to update it UBports recovery is absolutely necessary. So if in EFIDroid UBports won't boot as you tried various times my guess its because of the boot.img. The question is not only to get support for UBports recovery in EFIDroid but also to for its boot.img. Did not have time to make an account on XDA forum. Needed to clean my laptop (Samsung N510 running Xubuntu 16.04) too. Restored a Clonezilla image from a month ago and updated the system. Now I have the NVIDEA driver and configuration back and plenty of free disk space. Tomorrow will be a busy day so it will be no sooner than after dinner to make an account on XDa forum.
You are driving a lot of kilometers for your work! I'm hoping for you that there are not to many traffic jams.
cheers to you too. -
Just registered at XDA forum and posted in Lukss12 thread. Now hope for the best.
-
@jjurgen brilliant, thanks - Sorry I didn't reply earlier, sometimes things take more time as expected and there is no time left for fun things like playing around with EFIdroid tomorrow is my day off so there will be some time to play
-
@elastic No worries. We're doing this just for fun. Have a nice day tomorrow what ever your plans may be!
-
@jjurgen @elastic Hello friends and nice Sunday I watched the Community Update 21 and the team was asked about a possible support for a multiboot solution (minute 40 in the video). They answered that this is already possible with kernel patches but it is difficult to maintain. As they are focussing on Anbox for the "Android apps one cannot do without" they hope multiboot will not be anymore necessary...
However, on the comments below the video, user Martin Kozub said the following:
Just as mentioned in the video dualboot with Android is possible but it can even work with the regular Ubuntu Touch recovery. See this manual for MX4 (but it should be possible to adapt for any device) https://iubuntu.cz/dualboot-mx4.html
-
@oli-sax Hello to you too I didn't watch the Community update. Thanks for sharing this. They are talking about Canonical's Dualboot and that multi booting would need kernel patching. Correct me if I'm wrong. This 'kernel patching' must be a pain in the #ss for devs. I don't want any kernel patching either. Devs really have more important things to do and have their focus on Anbox. That's OK. They are doing good work.
But still I believe EFIDroid could become that desired Multiboot app. For me personally I prefer UBports (with Anbox would be fantastic) but its necessary for me to be familiar with Android. So there can be a difference in interpretation of what is necessary. That's OK too.
That comment of Martin Kozub is interesting. I think this is somehow familiar with how Canonical's Dualboot works. The manual in Martin Kozub's link is written specific for Meizu MX4 and many files come from https://iubuntu.cz and that makes me restrained. Gonna study on this some more to get a good understanding of the process. -
This is what I posted on Lukss12 thread and found this post too where Lukss12 says "It's necessary to analize the way Ubuntu mounts the partitions to create a proper ramdisk patching for ubuntu kernels....requests like booting non Android ROMs will be implemented!" Well that sounds like music in my ears.
I've been trying to get this Android method translated to UBports to get a view how UBports mounts partitions but my knowledge is insufficient. Does anybody know (a better way) how or where to get this information? -
And this is what I like to read too!!! Multiboot different recoveries in EFIDroid