Skip to content

Add binder_linux and ashmem_linux kernel modules to ubuntu-24.04-arm image #14184

@robster7674

Description

@robster7674

Tool name

binder_linux and ashmem_linux kernel modules

Tool license

GPL v2 (Linux kernel)

Add or update?

  • Add
  • Update

Desired version

Whichever version ships with the runner's kernel (no specific version required — just needs to be present as loadable modules in the kernel module tree)

Approximate size

Negligible — kernel modules, no userspace packages required

Brief description of tool

The binder_linux and ashmem_linux kernel modules are required to run Android container runtimes such as Redroid on Linux hosts. Redroid runs Android as a Docker container using the host kernel directly — no CPU emulation layer — making it the most efficient way to run Android instrumented tests and performance profiling in CI.

On a native ARM64 host, Redroid runs Android ARM64 system images without any instruction-set translation overhead. This is particularly valuable for testing ARM-native apps (such as those distributed via F-Droid rather than Google Play).

We verified this gap with a probe job on ubuntu-24.04-arm (run robster7674/glucodroid actions/runs/26961310669, job Redroid Kernel Probe (ARM64), completed in 9 s):

=== /proc/filesystems (android-related) ===
(none)
=== /dev entries ===
(none)
=== kernel modules ===
(none loaded)

Runner details from that run:

  • Image: ubuntu-24.04-arm version 20260531.15
  • Kernel: Ubuntu 24.04.4 LTS, aarch64
  • Region: Azure westus2

The x86_64 Ubuntu runners already ship with these modules (the KVM hardware-acceleration announcement for Android relies on this). The ARM64 image is currently missing them, leaving a gap for native ARM64 Android testing.

URL for tool's homepage

Provide a basic test case to validate the tool's functionality.

# Both of these should return results after the modules are present:
grep binder /proc/filesystems
grep ashmem /proc/misc

# And the device nodes should exist:
ls -l /dev/binder /dev/ashmem

Platforms where you need the tool

  • Azure DevOps
  • GitHub Actions

Runner images where you need the tool

  • Ubuntu 22.04
  • Ubuntu 24.04
  • Ubuntu Slim
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26
  • macOS 26 Arm64
  • Windows Server 2022
  • Windows Server 2025
  • Windows Server 2025 with Visual Studio 2026

(Specifically the ARM64 variant: ubuntu-24.04-arm)

Can this tool be installed during the build?

Not feasibly. The modules must be compiled into the runner's kernel or present in its module tree. If the kernel was not built with CONFIG_ANDROID_BINDER_IPC=m and CONFIG_ASHMEM=m, they cannot be loaded at runtime. Compiling them from source in a CI step would take ~10–15 minutes and require matching kernel headers, making it impractical.

Tool installation time in runtime

Zero — modprobe binder_linux && modprobe ashmem_linux is instantaneous once the modules are in the kernel tree.

Are you willing to submit a PR?

We don't have access to the runner image build pipeline, but we're happy to test any candidate image and provide feedback.

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions