VMM Demo on i.MX53 QSB

David Goltzsche d.goltzsche at ...247...
Thu Jun 12 13:39:22 CEST 2014

Hi Stefan, hi all,

thanks for pointing that out. I am able to boot the linux kernel in the
normal world now. 

Here are a few more questions / notes I would like to share:

In order to let the runscript exit successfully, I commented out the
this line in tz_vmm.run:

#run_genode_until forever

Is there a more sophisticated way to do so, like defining s.th. in the
specs.conf file?

The tz_vmm runscript only works for me in the 14.02 branch of the genode
repository, the  runscript exits with the following error in the 14.05
branch and in the current master branch:

COMPILE  vm_session_component.o
~/genode/repos/base-hw/src/core/vm_session_component.cc: In member
function ‘virtual void
~/genode/repos/base-hw/src/core/vm_session_component.cc:33:11: error:
‘new_vm’ is not a member of ‘Kernel’
~/genode/repos/base-hw/src/core/vm_session_component.cc: In member
function ‘virtual void Genode::Vm_session_component::run()’:
~/genode/repos/base-hw/src/core/vm_session_component.cc:43:2: error:
‘run_vm’ is not a member of ‘Kernel’
~/genode/repos/base-hw/src/core/vm_session_component.cc: In member
function ‘virtual void Genode::Vm_session_component::pause()’:
~/genode/repos/base-hw/src/core/vm_session_component.cc:53:2: error:
‘pause_vm’ is not a member of ‘Kernel’
~/genode/repos/base-hw/src/core/vm_session_component.cc: In constructor
‘Genode::Vm_session_component::Vm_session_component(Genode::Rpc_entrypoint*, Genode::Range_allocator*, Genode::size_t)’:
~/genode/repos/base-hw/src/core/vm_session_component.cc:66:6: error:
‘vm_size’ is not a member of ‘Kernel’
~/genode/repos/base-hw/src/core/vm_session_component.cc:67:22: error:
‘vm_size’ is not a member of ‘Kernel’
~/genode/repos/base/mk/generic.mk:56: recipe for target
'vm_session_component.o' failed
make[4]: *** [vm_session_component.o] Error 1
var/libdeps:23: recipe for target 'core.prg' failed
make[3]: *** [core.prg] Error 2
Makefile:209: recipe for target 'gen_deps_and_build_targets' failed

Are there important changes between version 14.02 and 14.05 that need to be considered when building?

Since the busybox initrd has limited built-in commands (e.g. no sshd), I want to use another rootfs, more precicly the one from Arch Linux ARM.
I thought that changing the kernel cmdline in genode/os/src/server/tz_vmm/imx53/main.cc to something like "root=/dev/mmcblk0p2 rootwait rw console=ttymxc0,115200 "
would be sufficient, but seems not the case: the kernel still mounts the content of the initrd. 

Anyone here with experiences ?

Thanks in advance!


On So, 2014-06-08 at 10:37 +0200, Stefan Kalkowski wrote:
> Hi David,
> On 06/05/2014 10:50 AM, David Goltzsche wrote:
> > Hi everyone,
> > 
> > in preparation for my master thesis, i need to deploy the vmm demo on
> > the i.MX53 quick start board. 
> > 
> > I followed Stefans instructions in this thread:
> > http://sourceforge.net/p/genode/mailman/genode-main/thread/9167aa55bacd5e3f00e64168280aef3e%40lcc.uma.es/#msg31683911 , so i did the following:
> > 
> > I am using the master branch of this repo:
> > git at ...116...:skalk/genode.git
> > 
> > tool/create_builddir hw_imx53 BUILD_DIR=hw_imx53
> > cd hw_imx53 
> > echo "SPECS += trustzone" >> etc/specs.conf
> > echo "RUN_OPT = --target uboot" >> etc/build.conf
> > make run/tz_vmm
> > 
> > 
> > It starts compiling, after some time i get the following output:
> > 
> >   Program core/imx53/trustzone/core
> >     ASSEMBLE boot_modules.o
> >     LINK     core
> > make[1]: Leaving directory '/tmp/genode/hw_imx53'
> > Error: Can't execute automatically on target 'uboot'
> > Makefile:237: recipe for target 'run/tz_vmm' failed
> > make: *** [run/tz_vmm] Error 255
> > 
> The building steps you've taken are fine. The error message only states
> that it won't execute automatically e.g. on QEmu because you've
> configured the run-tool of Genode to produce an u-boot image only. In
> your case that image can be found in 'var/run/tz_vmm/uImage' within your
> build directory. You can load it to your target via network or sd-card.
> Nevertheless, the tz_vmm example you've build is probably not what you
> intended to do, when you say "i need to deploy the vmm demo on
> the i.MX53 quick start board". If you mean the demo shown in the video
> that is part of the trustzone article on genode.org, then you need to
> build something else. In that case you might take the i.MX53_tablet_demo
> branch from the very same repo you've referenced, and build:
>   make run/vmm
> But be warned: that demo is outdated with respect to the current
> mainline Genode repository. Moreover, the i.MX53 QSB platform misses a
> corresponding input driver to reproduce that demo.
> If you just want to showcase that TrustZone is working on top of the
> i.MX53 QSB without showing fancy demo effects like switching between
> native Genode and Android etc., the run script you've chosen is the
> right starting point. Nevertheless, in that case I propose to use the
> master branch of Genode's mainline repository instead of that old one
> you've referenced.
> Best regards
> Stefan
> > 
> > What am I missing? Any help appreciated!
> > 
> > kind regards
> > 
> > David
> > 
> > 
> > ------------------------------------------------------------------------------
> > Learn Graph Databases - Download FREE O'Reilly Book
> > "Graph Databases" is the definitive new guide to graph databases and their 
> > applications. Written by three acclaimed leaders in the field, 
> > this first edition is now available. Download your free book today!
> > http://p.sf.net/sfu/NeoTech
> > _______________________________________________
> > genode-main mailing list
> > genode-main at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/genode-main
> > 

More information about the users mailing list