Troubles. X86: can't boot bare-metal. ARM: can't compile

Norman Feske norman.feske at ...1...
Tue May 4 13:48:06 CEST 2010


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




More information about the users mailing list