On 20.02.2018 01:24, Valery V. Sedletski via genode-main wrote:
Hi, I tried to boot Genode scenarios from my bootable flash stick. It uses GRUB 1 "Legacy". Tried to boot Genode/Nova with bender with GRUB "legacy" (actually, GRUB4DOS). I have the following entries in menu.lst:
title Sculpt scenario (Genode/Nova)
kernel /genode/bender
module /genode/hypervisor hypervisor iommu serial novpid novga
module /genode/sculpt/image.elf image.elf
This scenario just hangs when booting. Does this work with GRUB2 only?
Ok, it appears that it works with GRUB1. This is NOVA hanged, for some reason. GRUB does work. I thought, it is GRUB guilty, but no. If I remove "novga", it shows CPU list and hangs. I tried to boot NOVA on three machines. It hangs on all three. Why it could be?
In GRUB2, I see loading the "multiboot2.mod" module. Is this a new version of Multiboot protocol? Could Bender work with older version of multiboot protocol? Or, is it possible to use Genode/Nova without Bender somehow with GRUB1?
Ok, no need. As I said above, GRUB1 works, so multiboot1 protocol should work.
Also, is it possible for Genode build system to avoid assembling all modules into image.elf, so I could load them separately as multiple modules? (at least, older Genode versions did so)
Ok, I commented
# exec rm -rf [run_dir]/genode
out in genode/tool/run/boot_dir/nova
and now it does not remove the "genode" subdirectory, containing all the binaries after "imahge.elf.gz" creation. But I see it creating "core.o" object file, instead of "core" binary. How could I convert "core.o" to "core"? I tried to link it like this:
/usr/local/genode-gcc/bin/genode-x86-gcc -o core core.o
but it complains about duplicate symbol: "__dso_handle". It has been defined in crtbegin.o. Also, it tries to link with -lc and fails. What should be correct way to link "core" binary?
WBR, valery