[TZ_VMM] - libpng on the i.MX53 QSB

Tiago Brito tb.genode at ...9...
Wed Jun 1 13:50:33 CEST 2016


2016-06-01 12:31 GMT+01:00 Stefan Kalkowski <
stefan.kalkowski at ...1...>:

> 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.
>

Thanks Stefan, I did what you say and it compiled without any problem, but
I still cannot run the example.
I changed the tz_vmm run script like so:
    set boot_modules { core init ld.lib.so libc.lib.so zlib.lib.so
libpng.lib.so tz_vmm linux }

It now fails even before launching Genode. This is the output:

## Booting kernel from Legacy Image at 70200000 ...
   Image Name:
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    8523403 Bytes = 8.1 MiB
   Load Address: 70010000
   Entry Point:  70010000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... Error: inflate() returned -3
gzip compressed: uncompress error -1
Must RESET board to recover
resetting ...


Does this mean the image is corrupted in any way and thus it cannot be
uncompressed?

Thanks, Tiago


> Regards
> Stefan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20160601/b91c36d6/attachment.html>


More information about the users mailing list