Roadmap 2016

Christian Helmuth christian.helmuth at ...1...
Wed Dec 23 12:21:35 CET 2015

Hello Peter,

thanks for your sharing your thoughts. Let me please comment on your
remarks about configuration mechanisms for Genode...

On Tue, Dec 22, 2015 at 02:08:17PM -0800, Peter Lindener wrote:
> *   Norman wrote: " *Supplementing Genode with user-friendly means to
> configure...**Right now,  **I use Vim as configuration front end, which is
> cool...*"
>     My thought: One can certainly get a lot of configuration usability out
> of a basic, potentially colored, 2D ASCII text document. Not to mention how
> much lighter and more portable the (potentially remote) terminal display
> can be.
>    So while GUI tool kits are great for some things, I'd like it if little
> headless nodes running Genode (Snickerdoodle <>) would be
> just as easy to re/configure.   Thus I vote that Genode's next generation
> of [ASCII] configuration files are both very easy to read, in addition to
> edit with a (potentially augmented) terminal emulation program...   i.e.
> lets not prematurely jump on the GUI bandwagon, before Genode achieves a
> similar ease of configuration using a significantly lighter level of
> display / keyboard interaction...

I suggest you have a look at our release documentation for Genode
15.11 [1]. There we explain how Genode components are configured
individually and assembled to meet functional and security
requirements of specific use-case scenario. Furthermore, the basis for
our configuration is XML syntax since the beginning (see [2] and [3]).
For thorough documentation of the concept of component configuration
you may have a look into the Genode Foundations book Chapter 4.6.

>From my point of view, this sheds some light on Norman's comment about
using Vim to configure Genode, which should be taken literally: Any
aspect of the system can be configured by editing XML config files and
additionally our reporting mechanism is using the XML syntax too. I
admit that I'm not striving for mere ASCII support but envision to use
UTF-8 in the future for XML attribute values and node content, but
that's a small detail. The mentioned appealing GUI "agents" are
nothing but alternative front ends, but on the other hand important to
get less technical users on board.


>     given the goal stated above, why not at the same time provide a very
> nice set of terminal interaction API's within the Genode framework, that
> one can count on as a lower level system resource, such that other light
> weight apps that run on Genode can also count that this terminal
> interaction API might be made available as shared resource.

If I'm not mistaking this comment entirely, I'd like to refer you to
our neat APIs for XML handling, which are the Xml_node and the
Xml_generator. We apply these tools throughout the Genode source if
configurations and reports are processed. The most prominent component
using them is Init, but also the windows manager components, our
platform driver, device drivers, VirtualBox, and many more.

So, what's currently missing for your use case may be a terminal-based
"agent" for dynamic configuration if Vim is unsuitable. I personally
see no need to add ncurses-like tools tailored for configuration, but
your opinion may differ.

Christian Helmuth
Genode Labs · · /ˈdʒiː.nəʊd/

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