Genode and GRUB2 on real PC hardware

"Christian Böhme" chb00 at ...181...
Tue Dec 23 21:16:00 CET 2014

Hi all,

yesterday seemed like a good day to give Genode another go, but this
time for real, meaning not on QEMU but real hardware. Since the former
try worked out-of-the-box last time, my assumption was that the same
should apply to the latter. Alas, I failed horribly.

Here's what I did (assume  CROSS_DEV_PREFIX  is appropriately set):

    make -C ⟨genode-dir⟩/repos/base-foc prepare
    make -C ⟨genode-dir⟩/repos/libports prepare PKG=x86emu
    ⟨genode-dir⟩/tool/create_builddir foc_x86_64 BUILD_DIR=⟨demo-build-dir⟩


    REPOSITORIES += $(GENODE_DIR)/repos/libports

in  ⟨demo-build-dir⟩/etc/build.conf

    make -C ⟨demo-build-dir⟩ kernel
    make -C ⟨demo-build-dir⟩ run/demo

Since I have no QEMU around and no immediate plans to install it, the latter
will fail, of course. Then

    mkdir /boot/genode && cd /boot/genode
    cp ⟨demo-build-dir⟩/var/run/demo/genode/* .
    cp ⟨demo-build-dir⟩/var/run/demo/fiasco/* .
    cp ⟨demo-build-dir⟩/var/run/demo/boot/bender .

where  /boot  is my grub's boot directory. Being on a vanilla Debian, the
/boot/grub/grub.cfg  can be extended by providing a  /boot/grub/custom.cfg,
which I derived from


Please see the attachment for its contents. Now, when booting, the actual
module loading process seems to succeed (at least GRUB did not complain),
but  core  ended up spouting

    ROM module "init" not present

while attempting to construct object  rom  of type  Rom_connection  at
⟨genode-dir⟩/repos/base/src/core/ To me this implies that  init
isn't actually loaded. Anyone seen this before? Everything else being okay,
I suspect there's something wrong with GRUB.

Oh, and what's this  ⟨demo-build-dir⟩/var/run/demo/boot/bender  doing? It's
a 32 bit executable even though anything else is 64 bit. Why is that?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: custom.cfg
Type: application/octet-stream
Size: 1759 bytes
Desc: not available
URL: <>

More information about the users mailing list