Package the RIL daemon from Android for compatibility
Created by: ollieparanoid
NOTE: Packaging can be done without running postmarketOS on a real device.
There's at least for quite a few Samsung phones an open source component, that talks to RIL instead of ofono. If we had RIL, then we should be able to use it. See #598 (closed) for details.
@tssk and I have started work in the feature/android-rild branch.
In contrary to other software, the RIL daemon was not meant to be packaged for normal Linux distributions. To get it working, we write our own Makefiles and patch stuff out, that is Android specific and not useful for us (e.g. wakelocks are already stubbed out).
We package Android 7.x source code, which still gets maintained, because 8.x made the compilation process more complex with project treble.
Dependencies (may be incomplete, in brackets is the package name in postmarketOS):
rild (android-ril)
- nanopb (nanopb)
- librilutils (android-ril)
- libril (android-ril)
- libhardware_legacy (patched out)
- libcutils (android-libcutils)
- liblog (android-liblog)
Status:
- nanopb: compiles and appears to be working
- android-liblog: compiles (will probably not work as expected once running? patch it to log to syslog would be nice)
- android-libcutils: compiles, but the resulting shared library isn't linked right against liblog (check with ldd)
- libhardware_legacy: would be necessary for wakelocks only, which isn't in mainline Linux anyway so we can use a stub instead
- android-rild: Makefiles are partially wrong, needs fixing, doesn't compile
How to help:
- clone the pmbootstrap source code
-
pmbootstrap init
(defaults are fine) git checkout feature/android-rild
pmbootstrap build android-ril
- see the logs in
pmbootstrap log
- try to fix stuff by
editing aports/android/*
- make pull-requests with fixes