On Fri, Apr 14, 2017 at 10:28 AM, Nobody III <hungryninja101@...9...> wrote:
I've been wondering, is there any reason not to use base-hw_x86_64_muen on regular hardware? It seems to work fine in Qemu, and
Release notes mention Thinkpad X201.Muen website makes me cautious but if Qemu works then we are good for a start. Have your tried virtualbox?
So bochs is not mandatory.
almost all Genode drivers are in userspace. Is there some limitation that I'm not aware of?
Well anything is easily possible with micro-kernel architecture in concept but I was curious whether we run base_hw kernel that is muen according to mainline repo's files. The diagram from release notes depict base_hw kernel on Muen SK. It still does not make sense to me. I will have to look later as I am working on some basic presentation on Muen and genode for some prospects.
On Thu, Apr 13, 2017 at 1:38 PM, Shahbaz khan <shazalive@...9...> wrote:
On Wed, Apr 5, 2017 at 2:36 PM, Christian Helmuth < christian.helmuth@...1...> wrote:
On Wed, Apr 05, 2017 at 11:54:47AM +0500, Shahbaz khan wrote:
I have started working with Genode, while I am interested in foc based development and it seems the Genode efforts also prefer foc as I have
been
trying run/demo for builds.
I would not go along with telling that we "prefer" base-foc as most of our scenarios run on all supported kernels. Prominent exceptions are support for hardware virtualization (only on NOVA and hw/Muen) and TrustZone (hw only). If you address ARM and x86 alike I'd suggest you try out base-hw.
I got a bit acquainted with the release notes but I still find it difficult to comprehend what really base-hw means when we say "Genode base -hw" on Muen SK.
I am having some build issues (I do get an image.elf but build does not complete) and have yet not looked into earlier commits and branches so I would appreciate if you can let me know what actually runs over Muen SK in Genode base-hw kernel VM. Does it mean we run another kernel like nova between Muen and virtualbox.
I really like the idea but if we have another kernel below virtualbox than why not run virtualbox on Muen as a subject? I am unable to criticize clearly due to the mentioned confusion.
Thanks.
Regards, Shahbaz
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hello Shahbaz,
I've been wondering, is there any reason not to use base-hw_x86_64_muen on regular hardware? It seems to work fine in Qemu, and
Release notes mention Thinkpad X201.Muen website makes me cautious but if Qemu works then we are good for a start. Have your tried virtualbox?
Muen relies on hardware-assisted virtualization (Intel-VT). For running it inside a virtual machine, the virtual machine must support nested virtualization. As far as I known, VirtualBox does not support that.
Well anything is easily possible with micro-kernel architecture in concept but I was curious whether we run base_hw kernel that is muen according to mainline repo's files.
Let me try to clarify the roles of Muen, base-hw, and VirtualBox:
* Muen is a static separation kernel that uses VT to turn one physical machine into a statically configured number of "partitions" (aka "subjects"). Each partition is similar to a virtual machine. So partitions are rather coarse-grained and static. Muen runs in VT-root mode whereas the partitions run on VT-non-root mode.
* Base-HW is a microkernel that uses virtual memory (like page tables) to establish the notion of sandboxed user-level components on top of it. Those components are light-weight and dynamic. To draw an analogy, if you imaging a Muen subject to be a virtual machine, you may think of a Genode component as an OS process. The base-hw kernel runs in kernel mode whereas the components run in user mode.
* VirtualBox is both a low-level piece of software that closely interacts with virtualization hardware, but also a sophisticated user-level application that relies on broad higher-level OS infrastructure. E.g., it expects the underlying operating system to provide host device drivers (for graphics, networking, input, audio, block devices, USB), it needs to accesses virtual disk images via an OS-provided file system, it spawns multiple threads, etc.
The role of Genode (including base-hw) in this scenario is to bridge the gap between the rather spartan environment of a Muen subject and the high functional requirements of the VirtualBox application. So you may see Genode as a mere runtime environment for VirtualBox. In principle, this gap could be filled by another software stack like a Linux-based OS. But as I stated above, in addition to being a complex application, VirtualBox closely interacts with the virtualization hardware. On Muen, this interaction naturally has to go through the Muen SK. By using Genode as runtime for VirtualBox, Muen is able to leverage Genode's existing solution of the interaction of VirtualBox with a microkernel-based virtualization mechanism.
I got a bit acquainted with the release notes but I still find it difficult to comprehend what really base-hw means when we say "Genode base -hw" on Muen SK.
Conceptually, a Muen partition is a hardware platform, similar to a board. Like on any board, you can run software directly (in supervisor mode). But for running a complex software stack, or more than one application, one has to use an operating system (OS). Genode/base-hw plays this role.
I am having some build issues (I do get an image.elf but build does not complete) and have yet not looked into earlier commits and branches so I would appreciate if you can let me know what actually runs over Muen SK in Genode base-hw kernel VM. Does it mean we run another kernel like nova between Muen and virtualbox.
Base-HW is unrelated to NOVA or any of the other kernels. It is a microkernel specifically developed for and tightly integrated with Genode. Think of it as an optional back end of Genode to run Genode-based systems directly on hardware (or virtual hardware like a Muen partition) without a third-party kernel.
Regards Norman
Thank you for your detailed and caring reply. I believe i got lost with the build think diagram. The diagram is not purely a runtime diagram.
On Saturday, April 15, 2017, Norman Feske <norman.feske@...1...> wrote:
Hello Shahbaz,
I've been wondering, is there any reason not to use base-hw_x86_64_muen on regular hardware? It seems to work fine in Qemu, and
Release notes mention Thinkpad X201.Muen website makes me cautious but if Qemu works then we are good for a start. Have your tried virtualbox?
Muen relies on hardware-assisted virtualization (Intel-VT). For running it inside a virtual machine, the virtual machine must support nested virtualization. As far as I known, VirtualBox does not support that.
Good to know in time.
Well anything is easily possible with micro-kernel architecture in concept but I was curious whether we run base_hw kernel that is muen according to mainline repo's files.
Let me try to clarify the roles of Muen, base-hw, and VirtualBox:
Muen is a static separation kernel that uses VT to turn one physical machine into a statically configured number of "partitions" (aka "subjects"). Each partition is similar to a virtual machine. So partitions are rather coarse-grained and static. Muen runs in VT-root mode whereas the partitions run on VT-non-root mode.
Base-HW is a microkernel that uses virtual memory (like page tables) to establish the notion of sandboxed user-level components on top of it. Those components are light-weight and dynamic. To draw an analogy, if you imaging a Muen subject to be a virtual machine, you may think of a Genode component as an OS process. The base-hw kernel runs in kernel mode whereas the components run in user mode.
VirtualBox is both a low-level piece of software that closely interacts with virtualization hardware, but also a sophisticated user-level application that relies on broad higher-level OS infrastructure. E.g., it expects the underlying operating system to provide host device drivers (for graphics, networking, input, audio, block devices, USB), it needs to accesses virtual disk images via an OS-provided file system, it spawns multiple threads, etc.
The role of Genode (including base-hw) in this scenario is to bridge the
gap between the rather spartan environment of a Muen subject and the high functional requirements of the VirtualBox application. So you may see Genode as a mere runtime environment for VirtualBox. In principle, this gap could be filled by another software stack like a Linux-based OS. But as I stated above, in addition to being a complex application, VirtualBox closely interacts with the virtualization hardware. On Muen, this interaction naturally has to go through the Muen SK. By using Genode as runtime for VirtualBox, Muen is able to leverage Genode's existing solution of the interaction of VirtualBox with a microkernel-based virtualization mechanism.
Similar to karma-vmm, fiasco.oc and l4linux.
I got a bit acquainted with the release notes but I still find it difficult to comprehend what really base-hw means when we say "Genode base -hw" on Muen SK.
Conceptually, a Muen partition is a hardware platform, similar to a board. Like on any board, you can run software directly (in supervisor mode). But for running a complex software stack, or more than one application, one has to use an operating system (OS). Genode/base-hw plays this role.
Simply put a build time think. Base-hw kernel means muen sk for genode runtime.
I am having some build issues (I do get an image.elf but build does not complete) and have yet not looked into earlier commits and branches so I would appreciate if you can let me know what actually runs over Muen SK in Genode base-hw kernel VM. Does it mean we run another kernel like nova between Muen and virtualbox.
Base-HW is unrelated to NOVA or any of the other kernels. It is a microkernel specifically developed for and tightly integrated with Genode. Think of it as an optional back end of Genode to run Genode-based systems directly on hardware (or virtual hardware like a Muen partition) without a third-party kernel.
By the way it seems fiasco.oc is not being maintained. Is something better available, which supports both micrkernel based runtime and virtualization..?
Regards, Shahbaz
Hello Shahbaz,
based on your response, I am afraid that you slightly misinterpreted my explanation attempt.
On 17.04.2017 19:53, Shahbaz khan wrote:
VirtualBox closely interacts with the virtualization hardware. On Muen, this interaction naturally has to go through the Muen SK. By using Genode as runtime for VirtualBox, Muen is able to leverage Genode's existing solution of the interaction of VirtualBox with a microkernel-based virtualization mechanism.
Similar to karma-vmm, fiasco.oc and l4linux.
I don't see the connection. My email was not related to Fiasco.OC, Karma, or L4Linux.
Conceptually, a Muen partition is a hardware platform, similar to a board. Like on any board, you can run software directly (in supervisor mode). But for running a complex software stack, or more than one application, one has to use an operating system (OS). Genode/base-hw plays this role.
Simply put a build time think. Base-hw kernel means muen sk for genode runtime.
Muen can be used without base-hw.
Base-hw can be used without Muen.
But when combined, Genode's version of VirtualBox can run on top of Muen.
Base-HW is unrelated to NOVA or any of the other kernels. It is a microkernel specifically developed for and tightly integrated with Genode. Think of it as an optional back end of Genode to run Genode-based systems directly on hardware (or virtual hardware like a Muen partition) without a third-party kernel.
By the way it seems fiasco.oc is not being maintained. Is something better available, which supports both micrkernel based runtime and virtualization..?
At Genode Labs, we primarily focus on NOVA, base-hw, and seL4. All these kernels are third-generation modern microkernels [1]. For using Genode on x86 PC hardware, NOVA is the best way to go right now.
Genode is also able to run on Fiasco.OC but we don't actively facilitate it. E.g., we dropped the support for L4Linux (Fiasco.OC-specific paravirtualized Linux) earlier this year [2].
[1] https://en.wikipedia.org/wiki/Microkernel#Third_generation [2] https://github.com/genodelabs/genode/issues/2216
Regards Norman