Genode on i.MX6Q Sabre Lite

Hinnerk van Bruinehsen h.v.bruinehsen at ...491...
Sat Jun 24 01:20:24 CEST 2017


On Fri, Jun 23, 2017 at 12:00:42PM +0200, Norman Feske wrote:
> Hello Yevgeny,
> 
> On 23.06.2017 05:31, Yevgeny Lavrov wrote:
> > Running the image on board gave no result, apart from msg: ## Starting
> > application at 0x10001000 ...
> 
> I wonder, how exactly are you running the image on the board? In
> particular, how is the image created?
> 
> I am asking because the boot procedure on ARM is different from
> x86/multiboot. On x86, the kernel and the Genode ELF image are loaded by
> the boot loader (e.g., Grub) as separate boot modules. The kernel is
> started by the boot loader. At the startup of the kernel, the kernel
> finds the physical memory location of the Genode ELF image in the
> multiboot information and ELF-loads core by using this information. In
> contrast, on ARM, everything (seL4 kernel + Genode) must be contained in
> a single image. The details of how such an image is assembled is
> kernel-specific. Consequently, there must exist a seL4-specific tool for
> creating it. Can you please elaborate, which tool you use and which
> particular steps you take?
> 
> Another potential pitfall would be the use of the wrong UART or the use
> of a kernel configuration without debug support. The latter is needed
> for the kernel-provided UART driver. Have you tried to run a
> non-Genode-based seL4 image on the hardware? I would not try to run
> Genode on the device before running a simple seL4 example first.

Hi,

I'm using a fork of seL4's elfloader-tool that I've hacked together to
create an image that acutally boots (at least it gets into the genode
userland image where it is failing).
To be clear: I need to add calls to kernel_debugger_outstring as I get
a data fault before the logging infrastructure works (I guess due to
exception handling not being initialized before the fail occurs).

I'm using an am335x based board so I can't test if this works for other
hardware, but if anyone is interested you can find my elfloader fork at
https://github.com/N8Fear/elfloader-tool

The bootable image is then created by running the script from the
elfloader dir
TOOLPREFIX=arm-none-eabi- PLAT=am335x ./gen_boot_image.sh
<path to genode>/build/wega_am335x/var/run/log/sel4
<path to genode>/build/wega_am335x/var/run/log/image.elf
/tmp/out.elf

PLAT and TOOLPREFIX need to be changed accordingly and when building the
prelinked elfloader binary PLAT and ARMV needs to be adjusted as well
(take a look at the Makefile).

I guess for your board you should try PLAT=imx6 for building and for
creating the image.

I guess I should do some cleanup if anyone else wants to use the
stuff...

With kind regards,
Hinnerk






More information about the users mailing list