Running genode over genode

Norman Feske norman.feske at ...1...
Sat May 21 19:33:50 CEST 2011


Hello Ivan,

admittedly, I do not fully understand the motivation behind your idea.
The most fundamental concept of Genode is its recursive structure - so
each process already lives in a virtual environment provided by its
parent. This is nested virtualization by heart. For example, look at the
nested init example as 'os/config/nested_config'. In this example, init
starts another instance of init as its child process and imposes a
policy onto this new subsystem. From the perspective of the second init
instance, everything (except for the customization of its policy) looks
exactly like it was started directly by core.

This is just a trivial example. If you like, you could create a custom
init-like program that virtualizes any of core's services. This approach
is extensively applied by the 'loader' service as used by the
web-browser demo featured on our last live CD.

Hence, I do not see the immediate benefit (neither for security nor for
functionality) of running another instance of core on top of core. That
said, I can imagine that your idea has a lot of hack value. So I don't
want to keep you from going forward. :-)

One thing worth exploring would be the use of Fiasco.OC's VCPU feature
to host another instance of Genode's core ontop of Genode - similar to
how we run L4Linux ontop of Genode. The VCPU feature can be accessed via
Genode's Fiasco.OC-specific extension of the PD and CPU session
interfaces. This work would be quite challenging because you would need
to implement the functionality normally provided by the microkernel
within your paravirtualized core. This functionality comprises the
management of a virtual TLB, a scheduler, and IPC. You may look at our
custom 'base-mb' platform for inspiration.

Finally, let me direct you to our first live CD. The last boot-menu
entry features the Linux version of Genode running on OKLinux, which in
turn runs on the OKL4 version of Genode. Maybe, you will like it:

  http://genode.org/download/live-cds#Genode_Live_Demonstration_2009-09

Cheers
Norman


On 05/19/2011 04:39 PM, Ivan Bludov wrote:
> Hello,
> 
> I have an idea to run one Genode-Core over the another Genode-Core just
> like a simple genode application on a Fiasco.OC. I think it's possible
> and I have checked this opportunity on host-linux. I think it's
> interesting idea that provides the new isolation abstraction level of
> Genode like VM. I think that this idea demands some reducing of platform
> part of foc functionality. But I don't guess what difficulties it leads
> for. I don't know enough L4 api.  Can you point out some possible
> problems/changes that have to be solved in order run one genode-core on
> another? Like changing pager of upper core or some others.
> 
> Regards,
> Ivan

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

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