Thanks for the extensive explanation. As far as I can tell, K3 does not use OSGi. (Maybe somebody can confirm this?)

If that is indeed the case, I imagine, the JBPatch code would require some more extensive adaptation for the patching class loader to work on K3, right?

In case it helps, on K3 the framework is started as follows:

app=com.lab126.linux.arm.LuigiServiceProvider

The easiest solution may be to simply overwrite the main class (com.lab126.linux.arm.LuigiServiceProvider) in start.sh with, say, com.mobileread.ixtab.jbpatch.bootstrap.Startup (or so). This class would do all the required wiring, and then call the LuigiServiceProvider main() method.