Hello list,
This is a notice that I've cleaned up the Nix port and created a branch of the Genode master to test against. I've only managed to drive the toolchain part way to creating component binaries, but for now the problems seem to be in the domain of Noux.
The core of the port has been defined, and the frontends are done, which is actually no frontend at all. There is the nix-repl for debugging and everything else can use server/nix, which generates ROMs and file system roots on demand.
I have a branch 'nix' at https://github.com/ehmry/genode.git with a set of patches against master and an external repo at https://github.com/ehmry/genode-nix.git.
The run scenarios 'nix_rom' and 'nix_fs' show how to setup routing to create ROM and file system roots on demand (but poor examples of Nix expressions). The scenario 'nix_toolchain' attempts to build binaries on demand, but I think I need to poke around in Noux to get it to run to completion.
I have some examples for generating cli_monitor configurations, though I need to put together a full scenario to show how to route cli_monitor to make it work. https://github.com/ehmry/genode-nix/blob/master/expr/cli_monitor.nix
The issue of fetching compiled packages to a live system is still outstanding, I have some ideas on the network protocol, but none on a binary signing scheme.
I started on some write-up of the porting process but it will probably be more for people coming from NixOS than from Genode or those interested in making the language more cross-platform. Ignore the name, I'm not a very good writer. http://ehmry.github.io/
Cheers, Emery
Hi Emery,
This is a notice that I've cleaned up the Nix port and created a branch of the Genode master to test against.
very cool! Thanks for sharing the current state and for the summary. I look forward to experiment with your branch (once the upcoming Genode release is out).
The run scenarios 'nix_rom' and 'nix_fs' show how to setup routing to create ROM and file system roots on demand (but poor examples of Nix expressions). The scenario 'nix_toolchain' attempts to build binaries on demand, but I think I need to poke around in Noux to get it to run to completion.
I agree that Noux will need more love. But that is the next logical step.
I have some examples for generating cli_monitor configurations, though I need to put together a full scenario to show how to route cli_monitor to make it work. https://github.com/ehmry/genode-nix/blob/master/expr/cli_monitor.nix
The issue of fetching compiled packages to a live system is still outstanding, I have some ideas on the network protocol, but none on a binary signing scheme.
I started on some write-up of the porting process but it will probably be more for people coming from NixOS than from Genode or those interested in making the language more cross-platform. Ignore the name, I'm not a very good writer. http://ehmry.github.io/
A very interesting read!
Cheers Norman