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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main