l4android can not run rightly on Pandaboard?

Stefan Kalkowski stefan.kalkowski at ...1...
Tue Apr 2 13:56:05 CEST 2013


Hi,

On 03/30/2013 08:03 AM, longjks wrote:
> Like Stefan said , I can started L4Android on top of Fiasco.OC x86 32bit
> QEMU. It is exciting to see that Android is runing on genode. Then I
> decided to modify the 'l4android.run' script to started L4Andaroid on
> PandaBoard.
> I have add the necessary driver into the  'l4android.run' script and
> copy the system image(system-ginger.img)to the second partition. But
> l4android still can not run rightly. I can see the last log in
> 'terminal_log' is that:
> !io scheduler cfq registered(default)
> !brd:module loaded
> !mousedev: PS/2 mouse device common for all mice
> !ashemen: initialized
> !logger:created 256K log 'log_main'
> !logger:created 256K log 'log_events'
> !logger:created 256K log 'log_radio'
> !logger:created 256K log 'log_system'
> !ttyS0 at MMIO 0x1(irq=211) is a L4
> !rtc-genode rtc-genode.0: rtc core:registered rtc-genode as rtc0
> !genode_fb:framebuffer at 0x00000000, size 600k
> !genode_fb:mode is 640x480x16
> !Console:switching to colour frame buffer device 80x30
> ! input: Genode input key as /devices/virtual/input/input0
> !intput:Genode intput mouse as /devices/virtual/intput/intput!
> Then it stops. What is the problem? and how can I get the whole log from
> "terminal_log"?

You can get the whole log by removing the log_term, and use core's LOG
service for all children instead. Then all logs will appear on serial
line. We've put the log_term in place in some run-scripts only for
demonstration purposes, when there is no serial line available. For
debugging it's often more convenient to use only the serial line.

> 
> You can get the log and l4android.run I modified  in attachment.

The patch you've sent is not complete, it won't build all necessary
components. Anyway, what I could see from your log file is an unresolved
pagefault from one component:

  "Could not resolve pf=400feff8 ip=10004b8"

After rebuilding your scenario myself, and entering the kernel debugger
(via escape on the serial console) after the boot process completes,
I've seen it is the sd_card driver that caused the fault.

The address 0x400feff8 immediately set off my alarm bells. In Genode at
address 0x40000000 normally the thread context area starts including the
thread's stacks. Moreover, the pagefault address is nearby a page
boundary. When looking at the instruction that raised the fault ("push
{r3,lr}") it gets obvious that a stack overflow occured.

The problem was the usleep function implemented in the omap4 sd_card
driver. When this driver was written, there was no usleep function
existent in the timer session interface. Therefore, usleep was provided
in this driver by simply wrapping the msleep function of the timer session.
Some time ago, the timer session interface was rewritten to use an
asynchronous signal mechanism. The msleep call in this interface was
replaced by a simple wrapper around the latterly available usleep
function. When usleep got available in the timer session interface,
nobody removed the superfluous function in the sd-card driver.
Now, when either usleep or msleep were called in the Omap4 sd-card
driver, that function called the other one, and vice versa in an endless
loop.

I've opened a corresponding issue in our tracker:

  https://github.com/genodelabs/genode/issues/705

There you'll find a patch to resolve that problem. With that patch in
place Android boots fine on my Pandaboard.

Regards
Stefan
> 
> thanks.
> 
> longjks
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Own the Future-Intel(R) Level Up Game Demo Contest 2013
> Rise to greatness in Intel's independent game demo contest. Compete 
> for recognition, cash, and the chance to get your game on Steam. 
> $5K grand prize plus 10 genre and skill prizes. Submit your demo 
> by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
> 
> 
> 
> _______________________________________________
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ ยท http://genode.org/




More information about the users mailing list