-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Emery,
thanks a lot for sharing your plans!
On 24.12.2015 13:08, Emery Hemingway wrote:
For this next year I would personally like to see Genode host more network services, so more library support, more configuration idiom, and better support for virtual hosting environments. This is because I would like to migrate a few services that I manage myself, and to make Genode binary distribution self-hosted. Competing with Linux and BSD on performance is quite literally an uphill battle, but I feel there will be some great benefits hidden in Genode's IP stack isolation.
On the subject of configuration, perhaps components could export an XML description of their configuration options over a report session, and then a generic Qt GUI could dynamicly generate a configuration dialog? I am imagining that there could be a nice library to handle both configuration declaration, documentation, and retrieval.
I am actually thinking in a similar direction but looking at the problem from the "desktop" perspective. Technically, I don't see a component as an ELF executable. I think that we will need to define some kind of container format with a standardized structure. The content of such archive could be inspected by a management component (e.g., "desktop") to configure and dynamically integrate the component into the Genode system. The archive should contain meta data such as a formal description of the component configuration like you have in mind, the type of the component, the dependencies from other components as well as the component's binary (or even more than one binary such as shared libraries) and other data.
I of course want to polish up Nix and make it a pratical tool for other people to start using. My first priority is to modify the Make build system to build arbitrary library targets and to link components against external objects (actually just those library targets, but at arbitrary locations). The second priority will be to fetch binaries over the network. I am sort of working on the second right now, and the second can supplant the first, but robust self hosting is something that I want to be done by early next year.
Very cool!
My only Linux experience has been with Gento and NixOS, and I really don't want to accidentally create a distribution with unwilling maintainers (like me), so as we go forward I want to do my best to optimize for some sort of modular and anarchistic distribution model.
I hope that throughout the year, we will learn what a "distribution" actually means in the context of Genode. Right now, I still fail to get a grip on it.
If a Nix generated Genode system is going to be embeddable in another OS, I would want to make the interface sharply defined and not integrated, that is there would be minimal crosstalk between the two. I don't know much about what is going on with containerisation but I think want to try and make something that is easy to wrap, not externally integrated, if that makes any sense.
Perfect sense. :-)
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