On Mon Oct 20, 2014 at 02:26:57 +0400, Valery V. Sedletski wrote:
I had similar question too. This is dynamic loading of an executable and all shared libraries, linked with it. For that, we're commonly using a Lua script in Ned, which is the case for init scripts. But the question may be another: What if I have my own OS personality with its own init mechanism, but with desire to use L4Re loader. Could we load an executable via RPC to loader (that is in moe or in ned), without using a Lua script?
Currently, ned has no interface to do that.
Or, even, maybe, there is a client library for calling loader from other programs? I mean, the C (maybe, but worse, C++ one) callable API, instead Lua bindings.
There is, it's libloader, which is used by moe and ned to implement application loading. Still, loading an ELF binary is not enough, the program needs services afterwards too (such as memory, logging channel, ..). In a standard setup, for example, moe is doing both memory and the logging channel.
PS: what is the purpose of 'loader' package? We already have implementation of loader interface in moe and ned...
It does not really have a purpose currently, but it might be an example for using libloader.
Adam