Hi Thomas,
-------- x86 --------- After building Genode+Fiasco [1] I can run the hello demo and scout demo (from "build/bin/*") on top of Linux, but I can't seem to boot bare metal. I'm copying the binaries from "<compound-build>/genode.fiasco_x86/bin", getting bootstrap and sigma0 from "<compound-build>/l4env/bin/...", and L4 kernel from "<compound-build>/fisco_x86/main".
When I boot, the kernel starts up, prints a pc and sp (I notice "Roottask" has a stack address of all zeros). And quickly restarts. I'd paste output but it auto restarts and I don't have a serial port to over which I could collect output.
it is hard to guess what is going wrong without having the serial output. To ake sure that there are no build or configuration-related problems, it would be good to first try booting your setup on Qemu, with the '-serial stdio' argument.
However, there is one known problem about running Fiasco on machines with a lot of memory, which causes the symptom you just described. You may try limiting the amount of memory used by Fiasco by adding a '-maxmem' argument to 'bootstrap'. For example, I use the following 'menu.lst' entry:
title Genode demo scenario kernel /fiasco/bootstrap -maxmem=64 -modaddr=0x02000000 module /fiasco/fiasco -serial -serial_esc module /fiasco/sigma0 module /genode/core module /genode/init module /config/example/config module /genode/timer module /genode/ps2_drv module /genode/pci_drv module /genode/vesa_drv module /genode/launchpad module /genode/nitpicker module /genode/liquid_fb module /genode/nitlog module /genode/testnit module /genode/scout
-------- ARM -------- Separately, I'm having trouble building Fiasco on ARM - basically its missing types.h. Am I missing a step?
After altering specs.conf "SPECS = genode fiasco_arm" And after setting tools.conf to point at my cross compiler:
I have to admit that I haven't tried running Fiasco on ARM since three years. We have not actively maintained this configuration.
From the error message, it looks like an include search path is missing.
To investigate, you can enable the verbose build output:
make core VERBOSE=
When the build fails, please check the '-I' arguments and look if the path containing 'l4/sys/types.h' is there.
I suspect that you are using our '3rd_fiasco.tar.bz' snapshot. This snapshot does only support x86 as this is the only hardware platform we are currently using Fiasco with. For running Genode on Fiasco/ARM, you will have to check out and configure the original TUDOS subversion repository:
http://www.inf.tu-dresden.de/index.php?node_id=1735&ln=en
Cheers Norman