bootm on imx8

Michael Grunditz michael.grunditz at
Fri Feb 26 21:42:03 CET 2021

On Fri, 26 Feb 2021 at 16:06, Michael Grunditz
<michael.grunditz at> wrote:
> On Thu, 25 Feb 2021 at 13:46, Michael Grunditz
> <michael.grunditz at> wrote:
> >
> > On Thu, 25 Feb 2021 at 00:34, Michael Grunditz
> > <michael.grunditz at> wrote:
> > >
> > > Hi,
> > >
> > > I am trying to boot a genode uImage (tftp,bootm) but gets ATAG not
> > > compiled in. Do I need to patch out that error from u-boot , or is
> > > there another workaround?
> >
> > A little follow up. I used bootelf -p address. That started the kernel
> > but end up in:
> >
> > Kernel: Unknown cpu exception EC=0 ISS=0 ip=0xffffffc000040cb
> >
> > It is stack management code.
> I modded my cmd/boot.c to allow booting aarch64 binaries and cloned
> down a new Genode source tree. Built run/log and started it with "go
> 0x40010000". It worked once.. I changed ram size and uart (to match my
> board) and try booting again. Nothing on serial. Then I tried to echo
> a char right in the starting point crt0.s, it worked I get that char
> on serial.
> OK .. I recloned a new source tree , but same results.
> I can't get bootm to work even after removed the atag requirement.
> I would be very happy if someone can explain what happens.Genode::Attached_io_mem_dataspace

I have tried to sort out bootm but it just crash. Doing "go" with a
binary does work. Only issue is a exception : 0x140 that  is not
handled, ignoring that it starts Genode.

Now on to the real stuff! I would like to copy a binary to some
physical address. Is Genode::Attached_io_mem_dataspace something that
I can use? It didn't crash :) and I print out the local address that
makes sense.
What is the best way to load a file into a dataspace?

Also .. what is the best way to launch a core that isn't known to
Genode? I plan to use psci directly, but if there is a more "system
friendly" way I can use all the better.

The thing I want to do is:
Map a physical address that is above Genode ram.
Copy a binary to it (64 to 32 bit switch , with RISC OS right after)
Start a core with the physical address as entry point.

I have tried to do it the other way around, starting Genode from RISC
OS , but it seems like hopeless to have a core > 0 as primary cpu.



More information about the users mailing list