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⟩
uncommented
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
⟨demo-build-dir⟩/var/run/demo/boot/grub/menu.lst
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/main.cc:259. 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?
Cheers, Christian