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