[TZ_VMM] - libpng on the i.MX53 QSB

Stefan Kalkowski stefan.kalkowski at ...1...
Wed Jun 1 13:31:42 CEST 2016


Hello Tiago,

On 06/01/2016 01:07 PM, Tiago Brito wrote:
> Hi, I've been trying to use libpng inside the secure world of i.MX53 QSB
> TrustZone aware TZ_VMM example.
> 
> I want to receive an image from the normal world (running Linux) and do
> some process the image in some way inside the secure world.
> 
> I understand the flow of genode and tz_vmm in particular and there are some
> examples on how to communicate data between the normal and secure world, so
> that's not my problem right now. My problem is that I cannot run tz_vmm
> after adding libpng as a lib.
> 
> In order to use libpng inside tz_vmm I did the following:
>     1) in $(BUILDDIR)/etc/build.conf uncommented this line
>         REPOSITORIES += $(GENODE_DIR)/repos/libports
> 
>     2) inside $(GENODE_DIR)/repos/libports I did:
>         make prepare PKG="libc zlib libpng"
> 
>     3) inside $(BUILDDIR)/repos/os/src/server/tz_vmm/spec/imx53 I added the
> following to target.inc
>         LIBS     += libc
>         LIBS     += zlib
>         LIBS     += libpng
> 
>     4) then I added #include <png.h> inside main.cc
> 
>     5) finally inside $(BUILDDIR) I did
>         make run/tz_vmm
> 
> All these steps compiled fine, but when I run this on my board the
> following message comes up:
> 
> ## Booting kernel from Legacy Image at 70200000 ...
>    Image Name:
>    Image Type:   ARM Linux Kernel Image (gzip compressed)
>    Data Size:    7888432 Bytes = 7.5 MiB
>    Load Address: 70010000
>    Entry Point:  70010000
>    Verifying Checksum ... OK
>    Uncompressing Kernel Image ... OK
> 
> Starting kernel ...
> 
> kernel initialized
> Genode 16.02
> int main(): --- create local services ---
> int main(): --- start init ---
> int main(): transferred 242 MB to init
> int main(): --- init created, waiting for exit condition ---
> [init] Could not open ROM session for module "ld.lib.so"
> [init] parent provides
> [init]   service "ROM"
> [init]   service "RAM"
> [init]   service "IRQ"
> [init]   service "IO_MEM"
> [init]   service "IO_PORT"
> [init]   service "CAP"
> [init]   service "PD"
> [init]   service "RM"
> [init]   service "CPU"
> [init]   service "LOG"
> [init]   service "SIGNAL"
> [init]   service "VM"
> [init] Dynamically linked file found, but no dynamic linker binary present
> [init] unknown exception?
> [init] child "tz_vmm"
> [init]   RAM quota:  10203136
> [init]   ELF binary: tz_vmm
> [init]   priority:   0
> 
> What have I done wrong? It seems I need to add a binary somewhere, but I
> don't know where. Do I need to compile anything else in order to libpng to
> be usable inside genode?
> 
> Thanks in advance!

You missed to add the dynamic linker itself to the files to be loaded.
It is called ld.lib.so and can be found in your build-directory under
bin/. PLease also add all other *.lib.so files to your bootloader
configuration resp. the run-script.

Regards
Stefan

> 
> Best regards, Tiago
> 
> 
> 
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are 
> consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
> J-Flow, sFlow and other flows. Make informed decisions using capacity 
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> 
> 
> 
> _______________________________________________
> 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