Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

Ubuntu Touch does not run on unmodified Halium #404

Open
5 tasks
UniversalSuperBox opened this issue Jan 2, 2018 · 3 comments
Open
5 tasks

Ubuntu Touch does not run on unmodified Halium #404

UniversalSuperBox opened this issue Jan 2, 2018 · 3 comments

Comments

@UniversalSuperBox
Copy link
Member

UniversalSuperBox commented Jan 2, 2018

The Problem

Right now, as can be seen at our porting information, porters need to do all of the work to port Halium and then modify it again to run Ubuntu Touch. The modifications will likely introduce more problems into the port that need to be fixed.

This is a problem because it:

  • greatly increases the time that a porter must spend on their port to run Ubuntu Touch
  • forces us to continue to maintain projects that we shouldn't. We helped create Halium so that we wouldn't need to do this.

How we fix it

In a nutshell, these are the changes we need to make to run on an unmodified Halium base. Some will require upstreaming changes to Halium. I will add more as I discover them.

Items will be checked off this list when they are shipping in their respective projects. I will link relevant pull requests or issues.

  • Halium does not provide a recovery that can be used to update Ubuntu Touch
  • System-image does not handle the Android system.img and rootfs being separate
  • Halium configured kernels do not provide AppArmor

And finally, once that is done...

  • Ship any changes in an Ubuntu Touch image
  • Ship a Halium-based device image from our system-image server

Update 2018-01-13: After spending many hours of work making Ubuntu Touch compatible with hybris-boot, we've decided that it's probably a better idea to cut our losses and try to make ubports-boot as friendly to Halium as possible. To start, we've merged a PR that means that ubports-boot and hybris-boot will not conflict when placed in a source tree together. I've updated this issue to reflect our new decision.

@NeoTheThird NeoTheThird added this to the 16.04 OTA-4 milestone Jan 21, 2018
@NeoTheThird NeoTheThird changed the title [xenial] Ubuntu Touch does not run on unmodified Halium Ubuntu Touch does not run on unmodified Halium Feb 27, 2018
@UniversalSuperBox
Copy link
Member Author

It's time for the...

Halium update!

Here's the current status of Ubuntu Touch's integration with Halium:

  • halium-boot, a boot image based on Debian and Ubuntu Touch's initramfs images combined, is coming along nicely. However, the default mountpoints currently come from Ubuntu Touch. This is good for us, not so good for other Halium OS's. A configuration system needs to be put in place before it can really be accepted as standard. Interesting ways to follow this are Remarks on Halium-boot for LuneOS and Change from hybris-boot to halium-boot
  • Ports are rather difficult when practically every Android 7.1 device doesn't work. Mir servers fail to run on devices that ship with CAF's Android for MSM 7.1 #494 highlights a huge problem that we have with all of our graphical applications on devices that ship with CodeAurora Forum's Android for MSM. It also highlights a couple of ways to fix it, which we would love some help on.
  • I attempted to run Ubuntu Touch on the Nexus 5X. It didn't go very well. Yes, that's the dash crashing in the background. Yes, that's the keyboard. The problems experienced included a segfault when trying to call localtime() in certain contexts. I wasn't sure of the next steps and neither was anyone who I asked, so I've shelved the port for now. It was a bit too much of a time sink when we have bigger problems (16.04 backlog, OTA-4) at the moment.

@UniversalSuperBox
Copy link
Member Author

I don't believe we'll be able to get this in prior to OTA-4. I vote to punt it to OTA-5.

@mariogrip mariogrip modified the milestones: 16.04 OTA-4, 16.04 OTA-5 May 4, 2018
@slp
Copy link

slp commented Jun 19, 2018

@UniversalSuperBox I'm pretty sure those segfaults in localtime() are related to #677

@UniversalSuperBox UniversalSuperBox removed this from the 16.04 OTA-5 milestone Sep 5, 2018
UniversalSuperBox added a commit to ubports/lxc-android-config that referenced this issue Jan 22, 2019
This change is part of the fix for ubports/ubuntu-touch#404

Replace the pre-start.sh file with one that combines changes for Plasma Mobile and ourselves. This allows us to use halium-boot and does not negatively affect ubports-boot or the legacy Canonical initramfs.
UniversalSuperBox added a commit to ubports/lxc-android-config that referenced this issue Feb 22, 2019
This change is part of the fix for ubports/ubuntu-touch#404

Replace the pre-start.sh file with one that combines changes for Plasma Mobile and ourselves. This allows us to use halium-boot and does not negatively affect ubports-boot or the legacy Canonical initramfs.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants