An open API service indexing awesome lists of open source software.

https://github.com/sickcodes/anbox-modules-dkms

anbox-modules-dkms for kernel - resurrected aur.archlinux.org/anbox-modules-dkms for ongoing maintaining. Next Generation Box Modules DKMS (ngbox). WayDroid, Anbox Halium, Droid Native, Dock Droid + BlissOS!
https://github.com/sickcodes/anbox-modules-dkms

anbox anbox-git android dkms modules waydroid

Last synced: 2 months ago
JSON representation

anbox-modules-dkms for kernel - resurrected aur.archlinux.org/anbox-modules-dkms for ongoing maintaining. Next Generation Box Modules DKMS (ngbox). WayDroid, Anbox Halium, Droid Native, Dock Droid + BlissOS!

Awesome Lists containing this project

README

        

# anbox-modules-dkms for kernel 5.7+ (ngbox-modules-dkms)

# Next Generation Box Modules DKMS (ngbox)

### [https://aur.archlinux.org/packages/anbox-modules-dkms](https://aur.archlinux.org/packages/anbox-modules-dkms)

Maintained by Christian Hoff [@choff](https://github.com/choff): [https://github.com/choff/anbox-modules](https://github.com/choff/anbox-modules)

The AUR package is maintained here: [https://github.com/sickcodes/aur/tree/master/anbox-modules-dkms](https://github.com/sickcodes/aur/tree/master/anbox-modules-dkms)

Resurrected aur.archlinux.org/anbox-modules-dkms for maintenance

As per the Arch Wiki, https://wiki.archlinux.org/title/Anbox#Old_kernels

> The dkms modules do not work on kernels ≥5.7 anymore. Follow the instructions below instead. For older kernels see Old kernels.

However, a user named @Choff has included some patches here:

[https://github.com/anbox/anbox-modules/pull/76](https://github.com/anbox/anbox-modules/pull/76)

This repo will be used to fix the anbox modules for 5.7+.

### This project was created for use in:
- Next Generation Anbox Style LXC: [https://github.com/sickcodes/droid-native](https://github.com/sickcodes/droid-native)

- Android in a Docker using [BlissOS](https://blissos.org/): [https://github.com/sickcodes/dock-droid](https://github.com/sickcodes/dock-droid)

- binder(fs) and ashmem for use in anbox related 5.7+ Kernel distribuitons (soon to be all): [https://github.com/sickcodes/anbox-modules-dkms](https://github.com/sickcodes/anbox-modules-dkms)

- WayDroid: [https://github.com/waydroid/waydroid](https://github.com/waydroid/waydroid)

# Patches

`git submodule add https://github.com/choff/anbox-modules
`
We will use commit https://github.com/choff/anbox-modules/commit/6ddae194592451d604726a286f566d0246aef567

https://github.com/choff/anbox-modules/commit/4af9d5d591f33a0d8d7fb0735e280fa51ccef53e

> Fix compilation of binder and ashmem on kernel 5.7 and later

> On kernel 5.7 and later, kallsyms_lookup_name() can no longer be called from a kernel
> module for reasons described here: https://lwn.net/Articles/813350/
> As binder really needs to use kallsysms_lookup_name() to access some kernel
> functions that otherwise wouldn't be accessible, KProbes are used on later
> kernels to get the address of kallsysms_lookup_name(). The function is
> afterwards used just as before. This is a very dirty hack though and the much
> better solution would be if all the functions that are currently resolved
> with kallsysms_lookup_name() would get an EXPORT_SYMBOL() annotation to
> make them directly accessible to kernel modules.

https://github.com/choff/anbox-modules/commit/443f984b1a4eecf464b0081820e87e351c5d7c36

> Compile fixes for kernel >= 5.8

> With the commit 64fe66e8a95e in the Linux kernel, the member "mmap_sem" in the
> struct mm_struct was renamed to "mmap_lock". This patch fixes the resulting
> compile errors.

https://github.com/choff/anbox-modules/commit/6ddae194592451d604726a286f566d0246aef567

> Another compile fix for kernel >= 5.8

> With kernel 5.8, the return value of map_kernel_range_noflush()
> was changed. This function now returns 0 on success (instead of
> the number of successfully mapped pages).

> This commit adjusts binder accordingly.

Thank you so much @choff!