Using Genode 17.05 with Fiasco.OC

Jörg-Christian Böhme joerg at ...518...
Mon Jul 24 17:16:26 CEST 2017


Hello,

first, thanks for your effort guys. I'm very glad to see that a microkernel 
architecture/framework is exists in C++ :-)

A short description about me:
I'm C++ enthusiasts (C++ User Group Duesseldorf and Meeting C++ 
stuff member) and also very interested about operating systems. I pay 
attention to security feature.
For some year, Blackberry announced that they discontinued BB10. I was very 
disappointed about that because BB10 is developed in Qt/C++ and focuses in
security because they based on a microkernel architecture from QNX as 
operating system. After the announcement from Blackberry, I was thinking 
about to write a microkernel architecture in C++ but I checked if they 
exists a microkernel architecture in C++ and I was very happy about that 
they really exists.
I started first with Fiasco.OC but I found out that in Genode it uses the 
new C++ Standard so here I'm :-)

I started a month ago with Gnode hello tutorial and play around with them.
Therefore, I call myself a newbie :-)
But at the end, I will use Genode on my laptop (like turmvilla example) and
start to develop some application on it :-). 
But first, I think about to start with a small server. The host provider 
that I use, use a QEMU with KVM enable as virtual server. So it is not 
possilbe to use NOVA on it because of the KVM enabled featuer (I think) but
Fiasco.OC works.


The problem:
So I try to build/create a image from the lighttpd example with Fiasco.OC
kernel. The image started but the lighttpd does not work. Also the
hello tutorial with Fiasco.OC does not work anymore.

I checked the issue tracker on github but I didn't find any issue about
that.


What I figure out:
- Hello tutorial
  When I increase in the hello tutorial the "default caps" from 50 to 54 in 
  the config, then the tutorial is working with Fiasco.OC kernel.
- lighttpd
  Here I must first "move" the timer service in the config (see my commit
  on github [1]) then it works with the NOVA kernel. With Fiasco.OC I get 
  following error:
  Error: nic_drv -> : environment ROM session denied (label="device_pd", 
ram_quota=6144, cap_quota=3, diag=0)
  I try to add "device_pd" in the boot modules because it is missing in the
  rom fs but device_pd is not compile for the Fiasco.OC, only for NOVA.
  I found out following in:
  genode-src/repos/os/src/drivers/platform/spec/x86/device_pd/target.mk
  It looks like device_pd is only build for NOVA.


Is this a known issue or somebody working on it ?
Or works the lighttpd example with Fiasco.OC kernel for anyone ?
If you still need additional infos, let me know.


Regards,
Jörg

[1] 
https://github.com/Bjoe/genode/commit/8522e1b06c62e33988a03c5f308f16fad5250d45





More information about the users mailing list