Hello Lonnie,
On the NOVA side, I have been trying to determine the best combination:
NOVA + NRE or NOVA + NUL
alternatively, you can use Genode directly on NOVA without the need for NRE or NUL. It is also possible to run virtual machines on top of NOVA + Genode. All three variants (NUL, NRE, and Genode) use the same user-level virtual machine monitor (VMM) called Seoul (formerly called Vancouver).
For Genode, you can find the Seoul VMM at 'ports/src/vancouver/'. The actual Seoul 3rd-party code can be downloaded by issuing the following command from within Genode's 'ports/' repository:
make prepare PKG=seoul
You will also need to download the C runtime as needed by Seoul and the x86emu needed by the VESA graphics driver. This can be done by changing to the 'libports/' repository and issuing the following command:
make prepare PKG="x86emu libc"
You can try out Linux running on NOVA + Genode using the ready-to-use run scripts at 'ports/run/seoul-*'. For example, to see a graphical Linux desktop on top of NOVA + Genode, execute the following command from within your build directory. Please make sure to have the 'libports' and 'ports' repositories enabled in the 'etc/build.conf' file of your build directory.
make run/seoul-fancy
By default, the build system will try to run the resulting boot image in Qemu, which is extremely slow (Qemu executes NOVA, which executes Genode, which executes Seoul, which executes Linux). But you can write the corresponding ISO image to a USB stick and boot it on a real machine. The machine must have VT enabled in the BIOS.
dd if=var/run/seoul-fancy.iso of=/dev/your_usb_stick_device bs=1M
The scenario will show Genode's launchpad, where you can start a virtual machine by clicking on the blue text labeled "init". A new window will appear with Tinycore Linux booting. Given that your machine is connected to the internet (and a DHCP server is running on your network), you can even browse the net using Firefox.
You can start a second Linux instance by clicking on the "init" button again.
In this scenario, each virtual machine is just a regular node of Genode's process tree, subjected to the same rigid security regime as in effect for all processes of the Genode system.
I wish you a lot of fun with exploring the possibilities. All the best and happy New Year!
Norman