From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Craven Subject: Re: Microkernel & guix Date: Sat, 24 Dec 2016 21:06:28 +0100 Message-ID: References: <871sx1l1pm.fsf@gnu.org> <87inqc8aqv.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35552) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cKsaP-0007TT-4o for help-guix@gnu.org; Sat, 24 Dec 2016 15:06:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cKsaM-0003Wj-5M for help-guix@gnu.org; Sat, 24 Dec 2016 15:06:33 -0500 Received: from mail-qk0-x22d.google.com ([2607:f8b0:400d:c09::22d]:35183) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cKsaM-0003W1-1h for help-guix@gnu.org; Sat, 24 Dec 2016 15:06:30 -0500 Received: by mail-qk0-x22d.google.com with SMTP id u25so160384443qki.2 for ; Sat, 24 Dec 2016 12:06:29 -0800 (PST) In-Reply-To: <87inqc8aqv.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: ng0 Cc: help-guix@gnu.org So after doing some hardcore reading of most of the genode operating system manual today (excluding the build system, under the hood and functional specification parts) I think I have a better understanding of how guix and genode could complement each other and what steps could be taken. Here are my initial thoughts: 1. genode-build-system would be used for building genode components. 2. genode-operating-system would specify the configuration of genode components and generate their xml configuration and guix system vm would assemble a full bootable genode system. 3. guix-daemon component based on the nix-daemon component is needed. 4. using this new component support for generations and genode system reconfiguration can be added 5. a shepherd component is created and the genode-operating-system is extended to take one or more operating-system declarations to spawn guix userspaces. For a genode-operating-system implementing a headless hypervisor each application can run in it's own shepherd component, maybe requiring an additional shepherd-multiplexer component. If building a desktop os it can be run in a single shepherd component with exclusive access to the framebuffer and input components. I'll have to see if my time, skill and discipline is enough to materialize into something useful :)