Published: 15.04.2021 | Edited: 09.05.2021 | Tags: 100daystooffload,arch,fdroid,android

Install F-Droid on Arch via Anbox

F-Droid is an installable catalogue of FOSS applications for the Android platform. Apps I like:

Sometimes I like to document their features quickly, so I run them on a laptop.

zen-linux

Zen is a result of a collaborative effort of kernel hackers to provide the best Linux kernel possible for everyday systems.

Install linux-zen kernel compiled with ashmem and binderfs:

sudo pacman -S linux-zen linux-zen-headers

Disclaimer: Consider doing research before using non-default linux kernel.

GRUB bootloader

Re-generate GRUB entries including linux-zen:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Reboot and choose zen-linux kernel in the GRUB menu. Verify the zen kernel is booted:

uname -r
5.11.13-zen1-1-zen

The version will be different, depending on the actual release.

binderfs

Also verify that the kernel was configured properly:

zgrep -e ASHMEM -e BINDER /proc/config.gz
CONFIG_ASHMEM=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES=""

Anbox requires a /dev/binderfs directory, create it at boot:

/etc/tmpfiles.d/anbox.conf
d! /dev/binderfs 0755 root root

Mount the binderfs mountpoint created above at boot as well:

/etc/fstab
none  /dev/binderfs   binder  nofail  0 0

Including nofail option makes for a smooth boot, as the host system does not depend on Anbox.

Anbox with Houdini

Anbox is a container-based software for running Android on GNU/Linux distributions.

Install Anbox image with Houdini (used for x86_64 hosts, so most laptos):

yay -S anbox-git anbox-git-houdini

Enable anbox service:

sudo systemctl enable --now anbox-container-manager.service

Create a bridged network:

nmcli con add type bridge ifname anbox0 -- connection.id anbox-net ipv4.method shared ipv4.addresses 192.168.250.1/24

Open Anbox window.

F-Droid inside Anbox

Download F-Droid files:

wget https://f-droid.org/F-Droid.apk && https://f-droid.org/F-Droid.apk.asc

Verify the package's integrity:

gpg --auto-key-retrieve --verify F-Droid.apk.asc

Make sure the Good signature is displayed and the Fingerprint matches F-Droid releases.

adb

Install adb from android-tools:

sudo pacman -S android-tools

Now install F-Droid into Anbox:

adb install F-Droid.apk

Launch F-Droid in Anbox, wait till the repositories synchronize, install favorite apps and run them on Arch!

This is a 36th post of #100daystooffload.

Further read