WIP: Feature/anbox
Merge request reports
Activity
I've noticed you added a (removed by upstream) udev rules file to basically modprobe(?) the required kernel modules. Might it not be preferable to built those modules in the kernel? If anything, we should at least make
anbox-modules
a separate package.It looks like that file got added to the APKBUILD here. At the time I was only trying to get the updated anbox to build again as a proof of concept, so when I saw that they moved that file to a different repository, I decided to just grab it from there.
By Grant Miller on 2019-06-11T15:47:11
added 4 commits
- af4a5165 - main/linux-postmarketos-stable: enable ashmem and binder for Anbox
- 52b8d006 - main/linux-postmarketos-mainline: enable ashmem and binder for Anbox
- 409ad201 - main/anbox-image: new aport
- 3e1bb23b - main/anbox: new aport
By Bart Ribbers on 2019-06-11T15:54:22
Toggle commit listCurrently the container manager fails to start.
qemu-amd64:/home/bart# anbox container-manager --daemon --privileged --data-path=/var/lib/anbox [ 2019-06-10 08:41:40] [mount_entry.cpp:39@create] Failed to mount "/var/lib/anbox/rootfs": Invalid argument [ 2019-06-10 08:41:40] [container_manager.cpp:170@setup_mounts] Failed to mount Android rootfs
By Bart Ribbers on 2019-06-12T11:30:58
Great work guys!
FWIW, when I looked into anbox, I used the following strategy to debug it:
- set up a VM with an ubuntu version that anbox officially supports
- install anbox in that ubuntu vm and test that it works
- compile the same lxc and anbox versions in the ubuntu vm, that we have in postmarketOS
- test again that it works in ubuntu
- search for the current error message (happening with postmarketOS) in the source, and add debug prints around it
- build that for both postmarketOS (pmbootstrap build --src) and ubuntu
- compare the output of the debug prints to figure out what both OS are doing differently
- patch the code to make it behave the same on postmarketOS as it does in ubuntu
Once somebody gets the hang of that workflow and invests some time into it, it should be possible to get it working exactly the same as it works for ubuntu. The hardest part is setting everything up, until the first debug prints can be tested, from there on it is nice comparing, patching, testing.
See also: https://github.com/postmarketOS/pmbootstrap/blob/feature/anbox/README.anbox
By Oliver Smith on 2019-06-13T23:22:19
mentioned in issue postmarketos.org#110 (closed)
By Bart Ribbers on 2019-06-16T14:17:25
added help wanted + 1 deleted label
added 200 commits
-
2b2e46d9...fe8858d5 - 196 commits from branch
master
- 280cabe0 - main/linux-postmarketos-stable: enable ashmem and binder for Anbox
- a505d9a9 - main/linux-postmarketos-mainline: enable ashmem and binder for Anbox
- 53b578ab - main/anbox-image: new aport
- 3f7e7d58 - main/anbox: new aport
By Bart Ribbers on 2019-07-29T09:49:58
Toggle commit list-
2b2e46d9...fe8858d5 - 196 commits from branch
- Resolved by Administrator
Can we maybe start making the ashmem and binder kernel options required before Anbox support is fully finished? It'll make live easier for developing this when there are kernel updates and stuff.
By Bart Ribbers on 2019-07-30T17:22:55
Edited by Ghost User
added 4 commits
- ce2fe4bc - main/linux-postmarketos-stable: enable required functionality for Anbox
- 89d0864c - main/linux-postmarketos-mainline: enable ashmem and binder for Anbox
- d2463b63 - main/anbox-image: new aport
- e2b8a72d - main/anbox: new aport
By Bart Ribbers on 2019-07-29T11:33:33
Toggle commit listSo fixed the mounting issue. Our kernels were lacking some squashfs options. Since my laptop running Alpine Linux could mount the image fine, I checked the differences between Alpine's
linux-vanilla
and the pmOS kernels and synced the differences related to squashfs.Next stop:
[Renderer.cpp:141@initialize] Failed to create context: error=0x3005 [client.cpp:49@start] Failed to start container: Failed to start container: Failed to start container [session_manager.cpp:148@operator()] Lost connection to container manager, terminating. [daemon.cpp:61@Run] Container is not running
I've updated README-Anbox.md with the current steps.
By Bart Ribbers on 2019-07-29T11:51:53
Edited by AdministratorThat seems to be a permission issue, it seems to get further when I run
anbox session-manager
as root. However:[Renderer.cpp:107@initialize] Failed to initialize EGL
When I run
sudo -E anbox session-manager
instead it failes to request the DBus service name.[Renderer.cpp:141@initialize] Failed to create context: error=0x3005 [daemon.cpp:61@Run] Failed to request DBus service name
By Bart Ribbers on 2019-07-29T13:16:53
Edited by Administratormentioned in issue #327 (closed)
By Oliver Smith on 2019-07-30T17:22:34
So fixed the mounting issue. Our kernels were lacking some squashfs options. Since my laptop running Alpine Linux could mount the image fine, I checked the differences between Alpine's
linux-vanilla
and the pmOS kernels and synced the differences related to squashfs.Awesome work!
Regarding the errors, I recommend looking at the source. If you get stuck, consider extracting the source locally, adding debug printfs and building that (guide).
By Oliver Smith on 2019-07-30T17:24:55
added 83 commits
-
e6fd33da...28f0e5d4 - 79 commits from branch
master
- 4c53da3c - main/linux-postmarketos-stable: enable required functionality for Anbox
- 6613b5a4 - main/linux-postmarketos-mainline: enable ashmem and binder for Anbox
- 1adc35c7 - main/anbox-image: new aport
- 077b92df - main/anbox: new aport
By Bart Ribbers on 2019-09-01T20:57:09
Toggle commit list-
e6fd33da...28f0e5d4 - 79 commits from branch
mentioned in issue postmarketos#3 (closed)
By Bart Ribbers on 2019-09-24T13:47:15
I've made an issue on the Anbox repo quite a while ago, link. Currently it seems that we have some issue with our LXC setup, but I haven't figured out what yet.
By Bart Ribbers on 2019-09-27T10:13:39