l4android hangs up

Norman Feske norman.feske at ...1...
Tue Jul 5 17:18:08 CEST 2016

Hi John,

we removed this run script from the Genode tree two years ago because we
did not use L4Android for a long time even prior to that date. So I am
afraid that you are walking on untested grounds now. Anyway, the error
messages may guide you a bit further:

> [init -> l4android] Booting L4Linux ...
> Insufficient quota for transfer: init -> part_blk
>   have 1540096, need 4206592

In the run script, part_blk is equipped with too little RAM. Today, we
let part_blk allocate a much larger communication buffer. You may try to
increase its quota to 6 MiB.

> [init] nitpicker: invalid route to non-existing server "fb_drv"
> [init -> nitpicker] Uncaught exception of type
> 'Genode::Parent::Service_denied'

The run script lacks a proper framebuffer driver. The corresponding
'fb_drv' start entry refers to a binary called "omap4_fb_drv", which
obviously does not exist on x86 (it is a driver for the Pandaboard). I
recommend you to use the VESA driver - this is the one used by the
demo.run script.

> [init] nic_bridge: invalid route to non-existing server "usb_block_drv"

This message hints at a configuration error. Actually two errors. First,
you route session requests issued by the nic_bridge to (presumably) some
kind of block driver. The nic_bridge tries to open a "Nic" session for
the uplink. Normally, this is provided by a NIC driver, not a block
driver. Second, the "usb_block_drv" component actually does not exist.
You named the USB driver "usb_bkock_drv".

To me, this looks like you took a very old run script, modified it at
various places without a good understanding about the interplay of the
involved components, and expect to make it work on the current version
of Genode. I'm afraid that this approach will yield frustration on your

Let me instead recommend you to build a new scenario and develop a
profound understanding of its architecture. Start simple (like a
scenario that uses only a few basic drivers needed to run the nitpicker
GUI server and a GUI client), then add components one step after the
other. Learn about the individual components you found in the l4android
run script (like the role of nit_fb). When adding the individual
components, take a look at their accompanying "README" and the example
run scripts provided.


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