Latest Attempt at GENODE on NOVA

Lonnie Cumberland lonnie at ...218...
Thu Dec 26 17:20:17 CET 2013

Greetings All,

I have recently tried to start again from scratch to build the GENODE +
NOVA for x86_64 per Normans instructions:

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

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

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!

With that in mind, I started to write down each step that I have been
taking in order to show the list how far I have gotten before something
errors out.

Here is what I have done so far:

Purpose to build Genode on top of NOVA hypervisor

1. Setup base plaform
   Debian 7.2 (64-bit) in Virtualbox (4.3.6 r91406)

2. Get the latest Genode
   git clone

3. Download toolchain: genode-toolchain-12.11-x86_64.tar.bz2 or
   64-bit in my case.

4. Install Toolchain:
   sudo tar xPfj genode-toolchain-12.11-x86_64.tar.bz2

5. Go into Genode directory:
   cd ~/genode/

6. Go get the Seoul VMM into ports directory:
   cd ~/genode/ports/
   make prepare PKG=seoul

7. Go into libports and get C runtime as needed by Seoul and the x86emu
needed by the VESA graphics driver:
   cd ../libports
   make prepare PKG="x86emu libc"

8. Go into the desired base directory (NOVA in this case):
   cd ~/genode/base-nova/

   Prepare the Nova base:
   make prepare

9. Go into the base Genode directoy and setup the build directory (ie..
   ./tool/create_builddir nova_x86_64 BUILD_DIR=gnova64

10. Go into the build directory and edit the etc/build.conf. Enable
'libports' and 'ports' repositories in the 'etc/build.conf' file of your
build directory:
    cd ~/genode/gnova64/etc
 Use Nano or similar to edit etc/build.conf to remove "#" in front of
nano build.conf
# Ports of popular open-source libraries and the C library.
# Make sure to execute 'make prepare' in 'libports' prior building.
# Qt4 tool kit
# The 'qt4' repository depends on 'libc' and 'libports'
# Make sure to execute 'make prepare' in 'qt4' prior building.
# Ports of popular 3rd-party applications
# The 'ports' repository depends on 'libc', 'libports', and 'qt4'.
# Make sure to execute 'make prepare' in 'ports' prior building.

Then go to each directory and do "make prepare" just to be sure.
cd ~/genode/ports; make prepare
 cd ~/genode/libports; make prepare
ERROR HERE-------------------------------
 --2013-12-26 11:12:20--
Resolving (
Connecting to (||:443...
ERROR: The certificate of `' is not trusted.
ERROR: The certificate of `' hasn't got a known issuer.
make: *** [download/openssl-1.0.1c.tar.gz] Error 5
lonnie at ...223...:~/genode/libports$

Any suggestions would be greatly appreciated.

Kind Regards and have a great day,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list