l4android can not run rightly on Pandaboard?

Stefan Kalkowski stefan.kalkowski at ...1...
Thu Mar 28 13:39:39 CET 2013


On 03/25/2013 03:38 PM, longjks wrote:
> hi,
> I had build an image.elf with the l4android.run in the directory
> ports-foc/run on genode13.02 . I build with the platform foc_panda. When
> I run the image.elf on Pandaboard, it goes to some errors. here is the
> Error log:
> //////////////////////////////////////////////////////
> [init] nitpicker: invalid route to non-existing server "fb-drv"
> /////////////////////////////////////////

ok, I've to admit this script is used to test L4Android on top of
Fiasco.OC x86 32bit QEMU and Fiasco.OC ARM pbxa9 QEMU only!

So it's not tested on top of the Pandaboard, that's why some driver
configuration data are missing. So you're exploring new frontiers ;-).

Nevertheless, all necessary tools exist to run the scenario on top of

> so I added the follow into l4android.run:
> <start name="fb_drv">
> <binary name="omap4_fb_drv"/>
> <resource name="RAM" quantum="4M"/>
> <provides><service name="Framebuffer"/></provides>
> </start>
> <start name="sd_card_drv">
> <resource name="RAM" quantum="4M"/>
> <provides><service name="Block"/></provides>
> </start>
> <start name="usb_drv">
> <resource name="RAM" quantum="12M"/>
> <provides>
> <service name="Input"/>
> <service name="Nic"/>
> </provides>
> <config>
> <hid/>
> <nic mac="2e:60:90:0c:4e:01" />
> </config>
> </start>

ok, that looks fine!

> after that, I can start the l4android on Pandaboard. I can see something
> on "log_term" part and "terminal_log" part,but there are nothing on
> "android_term " part, l4android can not work rightly and
> system-ginger.img can not be started on Pandaboard ? How I can do to fix
> these problems?

Well, the debug messages in "terminal_log" should help you to solve
problems of Linux booting the android stuff. Without having that
information, my first guess is that your Android system image
(system-ginger.img) is not in the place like Linux is expecting it.

If you're looking at the unmodified "l4android.run" script, you'll see
that QEMU is instructed to provide the system image as a sd-card. If you
are booting the scenario on real Pandaboard hardware, you're forced to
use a sd-card with a partition-table, where the bootloader stuff is
located on the first bootable vfat partition. So here lies the first
problem. You'll have to prepare a second partition holding the Android
system image. Moreover, you've to either modify the Android initramfs to
take the second partition of the sd-card as root filesystem, or FMPOV
even easier: add Genode's partition server ("part_blk") to your setup.
That will enable you to give exactly one of the partitions, containing
the system image, as a block device to Linux. It might look like the
following, assuming you copied the system image to the second partition:

<start name="part_blk">
  <resource name="RAM" quantum="2M"/>
  <provides><service name="Block"/></provides>
    <policy label="l4android -> sda" partition="2" />
    <service name="Block"> <child name="sd_card_drv"/></service>
    <any-service> <parent/> <any-child/> </any-service>

As already said, I can only guess what's missing without some logs, your
sd-card layout, or/and a complete script.

Best regards

> 2013-03-25
> ------------------------------------------------------------------------
> longjks
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> 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