I want to install Genode with all the possible components as a mini operating system. It seems ready or almost ready for this, and making a full Genode system (noux, l4linux, arora, etc.) available to run from a cd or a hard drive would make the operating system framework attract a lot more interest. After this, it may be a good idea to create a Debian Genode port (Debian GNU/Genode). Basically, I am interested in Genode and would probably try to port some software to it if I could install it on my computer as a cohesive whole, and there are probably others like me.
Hello,
I'm afraid that we are not really there yet. You are right that a lot of puzzle pieces are already in place and Genode can certainly be used to build interesting application scenarios. Within Genode Labs, we are regularly building quite sophisticated scenarios including VirtualBox, Arora, Seoul, Rump-kernel-based file systems, and many more components.
But for being fit as a general-purpose OS, there is still the need to address some remaining points, in particular proper packaging. Right now, we use run scripts to build whole system scenarios. For comprehensive scenarios, the build can take hours. This is acceptable for special-purpose systems but it does not scale enough for a general-purpose OS. The work flow of building and using the latter should be far more interactive. E.g., installing new subsystem on the fly without the need to rebuild a system image or even reboot the machine.
That said, we definitely strive for Genode to become a general-purpose OS. So we will take on these challenges. This intention is best illustrated by our recently added GUI stack (the composition of window manager, nitpicker, decorator, window layouter). So stay tuned! ;-)
Of course, you are very welcome to investigate Genode as a general-purpose OS on your own. E.g., porting the Debian bootstrapping to a Noux instance would certainly be an interesting project. Or another (and in my personal opinion more thrilling) idea, port the Nix package manager to a Noux environment.
Cheers Norman
Thanks. The Genode documentation does seem somewhat lacking, so could you please help me? What apps are already available for launching Genode programs? I think that finding a good way of launching programs (e.g. through a terminal emulator) would be the first thing that I would need to do. Also, can executables and libraries be loaded from filesystems? That seems like the solution to avoid needing to build new system images. Is there anything else helpful that I should know about Genode to build it as a general-purpose OS?
On Tue, Oct 28, 2014 at 1:56 PM, Norman Feske <norman.feske@...1...> wrote:
Hello,
I'm afraid that we are not really there yet. You are right that a lot of puzzle pieces are already in place and Genode can certainly be used to build interesting application scenarios. Within Genode Labs, we are regularly building quite sophisticated scenarios including VirtualBox, Arora, Seoul, Rump-kernel-based file systems, and many more components.
But for being fit as a general-purpose OS, there is still the need to address some remaining points, in particular proper packaging. Right now, we use run scripts to build whole system scenarios. For comprehensive scenarios, the build can take hours. This is acceptable for special-purpose systems but it does not scale enough for a general-purpose OS. The work flow of building and using the latter should be far more interactive. E.g., installing new subsystem on the fly without the need to rebuild a system image or even reboot the machine.
That said, we definitely strive for Genode to become a general-purpose OS. So we will take on these challenges. This intention is best illustrated by our recently added GUI stack (the composition of window manager, nitpicker, decorator, window layouter). So stay tuned! ;-)
Of course, you are very welcome to investigate Genode as a general-purpose OS on your own. E.g., porting the Debian bootstrapping to a Noux instance would certainly be an interesting project. Or another (and in my personal opinion more thrilling) idea, port the Nix package manager to a Noux environment.
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
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hello,
btw, would you be comfortable to tell me your name or at least a nick name? I feel a little bad about starting an email with "Hi Nobody". ;-)
Thanks. The Genode documentation does seem somewhat lacking, so could you please help me? What apps are already available for launching Genode programs? I think that finding a good way of launching programs (e.g. through a terminal emulator) would be the first thing that I would need to do.
I think what you are looking for is located at 'os/src/app/cli_monitor', which is a command-line-based application for starting and killing subsystems. To give it a try, please refer to the run script 'gems/run/termina_mux.run', which combines the CLI monitor with a terminal multiplexer called 'terminal_mux'. After booting the system, press control-x to bring up the terminal-mux menu where you can switch between CLI monitor and a log view. In CLI monitor, press tab to see a list of commands. When having started a subsystem (e.g., 'start noux' - note that you can use tab completion), you can switch to the new session by pressing control-x again.
As a nice exercise, you may try to integrate CLI monitor with the window manager (see 'gems/run/wm.run') using the graphical terminal ('gems/src/server/terminal') and nit_fb ('os/src/server/nit_fb').
Also, can executables and libraries be loaded from filesystems? That seems like the solution to avoid needing to build new system images. Is there anything else helpful that I should know about Genode to build it as a general-purpose OS?
Normally, parent processes (like init, launchpad, CLI monitor) obtain binaries and shared libraries as so-called ROM modules. The component fs_rom ('os/src/server/fs_rom') provides a ROM service that hands out files from a file system as ROM modules. By combining it with a file-system server (such as rump_fs), you can start subsystems from a file system.
In general, the best way to go forward is to explore the various run scripts and components to get a tangible feel of which components are there and how to combine them in useful ways.
Have fun! Norman
Thanks! This should be great! :) As for the name, you can call me Ben. Or Nobody III. ;)
On Tue, Oct 28, 2014 at 3:08 PM, Norman Feske <norman.feske@...1...> wrote:
Hello,
btw, would you be comfortable to tell me your name or at least a nick name? I feel a little bad about starting an email with "Hi Nobody". ;-)
Thanks. The Genode documentation does seem somewhat lacking, so could you please help me? What apps are already available for launching Genode programs? I think that finding a good way of launching programs (e.g. through a terminal emulator) would be the first thing that I would need to do.
I think what you are looking for is located at 'os/src/app/cli_monitor', which is a command-line-based application for starting and killing subsystems. To give it a try, please refer to the run script 'gems/run/termina_mux.run', which combines the CLI monitor with a terminal multiplexer called 'terminal_mux'. After booting the system, press control-x to bring up the terminal-mux menu where you can switch between CLI monitor and a log view. In CLI monitor, press tab to see a list of commands. When having started a subsystem (e.g., 'start noux' - note that you can use tab completion), you can switch to the new session by pressing control-x again.
As a nice exercise, you may try to integrate CLI monitor with the window manager (see 'gems/run/wm.run') using the graphical terminal ('gems/src/server/terminal') and nit_fb ('os/src/server/nit_fb').
Also, can executables and libraries be loaded from filesystems? That seems like the solution to avoid needing to build new system images. Is there anything else helpful that I should know about Genode to build it as a general-purpose OS?
Normally, parent processes (like init, launchpad, CLI monitor) obtain binaries and shared libraries as so-called ROM modules. The component fs_rom ('os/src/server/fs_rom') provides a ROM service that hands out files from a file system as ROM modules. By combining it with a file-system server (such as rump_fs), you can start subsystems from a file system.
In general, the best way to go forward is to explore the various run scripts and components to get a tangible feel of which components are there and how to combine them in useful ways.
Have fun! 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
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main