Creating new ROM sessions at runtime
Christian Helmuth
christian.helmuth at ...1...
Thu Jan 14 17:06:11 CET 2016
Hello Georg,
On Thu, Jan 14, 2016 at 12:29:49PM +0100, Georg Guba wrote:
> I'm trying to start new child components from ELF binaries received at
> run-time and stored in a server-local buffer. Basically, I am trying to
> implement a server that can receive task descriptions and matching binaries
> and then start them at run-time (disregarding security concerns for the
> moment).
>
> It appears, however, that all ROM connections must reference binaries that
> are available at boot-time and adding to the ROM FS is not possible without
> accessing Genode's internal code which I'd like to avoid.
>
> So, how would I best go about creating entirely new ROM sessions at runtime?
The first idea that comes to my mind is: Implement a ROM server
"elf_rom", which stores the retrieved ELF binaries in dataspaces
allocated from its RAM session. Afterwards setup the routing in your
init config for all "children" of your "parent" to "elf_rom" like
follows
<route>
..
<service name="ROM"> <child name="elf_rom_server"/> </service>
..
</route>
This may need two special precautions. First, you may need a nested
init instance which is configured with the route above. Second, you
may need some exceptions from the rule above if elf_rom_server does
not provide ROMs for "parent" and its shared libraries (if used) like
<service name="ROM" label="parent"> <parent/> </service>
Greets
--
Christian Helmuth
Genode Labs
http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
More information about the users
mailing list