[Letux-kernel] Modern LetuxOS Kernels for old v4.2 Replicant

H. Nikolaus Schaller hns at goldelico.com
Thu Jul 11 09:38:20 CEST 2019


Hi,
after having the build infrastructure improved, I am trying to make
the newer kernels work with the old 4.2 replicant image.

letux-4.14.133-replicant is booting partially, shows "ANDROID" but
then some processes fail to run. This likely has to do something
with the sensors.

Next I tried the letux-4.19.58-replicant. This fails with 

[   24.041822] binder: 2566:2566 ioctl c0186201 be9b7ad8 returned -22
[   24.049750] init: critical process 'servicemanager' exited 4 times in 4 minutes; rebooting into recovery mode

/dev/binder exists but it turned out that the old 32 bit binder
protocol required for versions v4.4 and older has been removed in
linux v4.18. Therefore the binder kernel driver does no longer
understand the old binder protocol (CONFIG_ANDROID_BINDER_IPC_32BIT)
and we therefore have no binary compatibility.

What to do? I can try to revert the removal of CONFIG_ANDROID_BINDER_IPC_32BIT.

But there is another issue: it appears that newer Android releases
can not properly handle CONFIG_ANDROID_BINDER_IPC_32BIT=y.

From the Kconfig documentation:
	Enable this to support an old 32-bit Android user-space (v4.4 and earlier).
	Note that enabling this will break newer Android user-space.

So we may end up in two different kernel builds for older and
newer Replicant... Which is not the type of unification we are
fighting for.

In fact kernel maintainers have a different view on this topic:

	https://lkml.org/lkml/2018/5/11/119

BR,
Nikolaus



More information about the Letux-kernel mailing list