Using Genode 17.05 with Fiasco.OC
Norman Feske
norman.feske at ...1...
Tue Jul 25 13:45:45 CEST 2017
Hi Jörg,
thank you for introducing yourself and for your interest in Genode!
> 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.
We added the -no-kvm option in '<build-dir>/etc/build.conf' by default a
few years ago when Qemu/KVM did not implement all the features required
by NOVA. There should be a good chance that NOVA works with recent Qemu
versions. Could you give NOVA on Qemu/KVM another spin and report the
specific problem you encountered?
In general, I warmly recommend using NOVA over Fiasco.OC as NOVA is the
most commonly used (and thoroughly tested) Genode base platform on x86.
> 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.
I think that this issue is fixed in the current master branch,
specifically by commit [1]. Prior this change, Genode's core consumed
one additional (dataspace) capability per RPC object when running on
Fiasco.OC, which remained undetected until we added the capability
accounting in 17.05.
[1]
https://github.com/genodelabs/genode/commit/ba9ef7fdee07c42bc772c8b515bc9d808c401112
> - 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.
The position of the timer <start> node within the config should not make
any difference.
I just tried out the lighttpd.run script with KERNEL=foc on x86_32. It
works when adding the '<default caps="100"/>' declaration. Opening
'http://localhost:5555/' in the web browser shows the "Hello Genode" page.
> 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.
Admittedly, the log messages look a bit scary but this output is normal
on Fiasco.OC where the platform driver does not support device PDs
(IOMMU). We should probably dim the noise a bit. ;-)
Cheers
Norman
--
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