Currently, Replicant uses device specific Hardware Abstraction Layers, because device manufacturers implemented non-standard kernel interfaces. However, Android works with upstream kernels and supports plug-n-play hardware nowadays, so it makes sense to have generic Hardware Abstraction Layers for the standard interfaces of the Linux kernel (ALSA, V4L2, etc).
Benefits:It is also a good idea to keep one image per device, as trying to make a single image that
would work on all ARM device supported by upstream Linux is complicated: Even ARM GNU/Linux
distributions still have some issues with that.
Formfactor | Vendor | Product | Linux dts | comments |
---|---|---|---|---|
Smartphone | LG | Optimus Black | omap3-sniper.dts | no display(no driver), very few peripherals |
Tablet | Amazon | Kindle Fire (first generation) | omap4-kc1.dts | no display(no driver), very few peripherals |
Smartphone | GTA04 A3 | omap3-gta04a3.dts | ||
Smartphone | GTA04 A4 | omap3-gta04a4.dts | ||
Smartphone | GTA04 A5 | omap3-gta04a5.dts |
Formfactor | Vendor | Product | Linux dts | Issues |
---|---|---|---|---|
Smartphone | Samsung | Galaxy S II (i9100) | exynos4210-trats.dts | Probably has a signed bootloader |
Smartphone | Samsung | Galaxy S III (i9300) | exynos4412-trats2.dts | Has a signed bootloader |
Formfactor | Vendor | Product | Linux dts | Linux status page | Issues |
---|---|---|---|---|---|
Smartphone | Nokia | N900 | omap3-n900.dts | https://elinux.org/N900 | Has a signed bootloader |
Smartphone | Nokia | N9 | omap3-n9.dts | https://elinux.org/N9 | Probably has a signed bootloader |
Smartphone | Nokia | N950 | omap3-n950.dts | https://elinux.org/N950 | Probably has a signed bootloader |
Smartphone | Nexus 7 (2012) | qcom-apq8064-asus-nexus7-flo.dts | Qualcomm SOC (signed bootloader, shared memory) |
For instance the Lime 2 from Olimex is pretty well supported and is easy to find.
However this device is a single board computer and, as such it doesn't have the have the usual peripherals that are commonly found in tablets and smartphones. This makes a port on this device less relevant and less useful.
Some research is needed to identify which devices are easiest to work with. Tablets that don't have a modem seem to be better than smartphones, as supporting the modem would require to have it supported in Linux and the userspace libraries. This might even require to write and upstream a Linux driver for the modem.
A good tablet for this task should have:It would also be better if the chosen tablet doesn't use an AllWinner SOC with a PowerVR GPU, as MALI GPU have more probability to be usable with free software in the future.
Usage | Replicant | GNU/Linux | comments |
---|---|---|---|
Bluetooth stack | BlueDroid | Bluez |
Usage | Replicant | GNU/Linux | comments |
---|---|---|---|
Unix command line tools | ? | Busybox, Coreutils |