Develop Trustzone support for imx6
bharath
bharathkr.bojja at ...9...
Mon Apr 27 11:02:49 CEST 2015
chirag garg <chiragdthinker at ...52...> writes:
>
>
>
> Hello Thong,
> It seems, you are trying to run i.mx53 image on the i.mx6 board if that is
the case it will not work. To run the printf script over the imx6 platform
you should try out the latest master branch of Genode on git hub that have
the imx6 support without trustzone.https://github.com/genodelabs/genode
>
> For the TrustZone support on imx6 SABRE Lite board our team is also
working at IIT Madras , As of now we are able to run Genode(secure world)
beside Genode(normal world) so you can take a look at IIT Madras repository
as the initial starting point.
>
> Genode as secure world :
https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_supportIn the
hw_sabrelite_tz_support branch tz_vmm_mx6 will work as tz_vmm Genode as
normal world :
https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_normal_os
> Switch application in the hw_sabrelite_tz_normal_os branch will serve you
as a linux (for normal world) kernel image in tz_vmm.
>
>
>
> Regards
> Chirag Garg
> IIT Madras , Rise Lab
>
> On Tue, Apr 21, 2015 at 8:20 AM, thong <thong-
kmCu2mEWxz5BDgjK7y7TUQ at ...325...> wrote:Hi all,
> I am a newbie in embedded linux system, and my team is starting to
> integrate our biometric identification solution into the board
> i.MX6Q-SABRESD using Secure OS on Trustzone. After take a research
> around, I decide to try start with Genode on imx53_tablet_demo
athttps://github.com/skalk/genode/blob/i.MX53_tablet_demo/os/src/server/vmm/
imx53/README.
> I tried to modify base-hw/src/core/kernel/kernel.cc to add a code line
> PDBG("Hello\n") at the beginning of main routine void kernel() and
> expected to receive a "Hello" message on my Serial Terminal. I followed
> the instructions in README and be success to build the Genode with
> command line:
> RUN_OPT="--target uboot" make run/printf
> I use pre-built u-boot-mx6dl-sabresd.bin from Freescale.
> When I try to boot my Genode build in var/run/printf/ it just stopped at
> "Starting kernel..." message:
> U-Boot 2009.08 (Aug 16 2013 - 12:04:20)
> CPU: Freescale i.MX6 family TO1.2 at 792 MHz
> Thermal sensor with ratio = 187
> Temperature: 48 C, calibration data 0x59e4ff7d
> mx6q pll1: 792MHz
> mx6q pll2: 528MHz
> mx6q pll3: 480MHz
> mx6q pll8: 50MHz
> ipg clock : 66000000Hz
> ipg per clock : 66000000Hz
> uart clock : 80000000Hz
> cspi clock : 60000000Hz
> ahb clock : 132000000Hz
> axi clock : 264000000Hz
> emi_slow clock: 132000000Hz
> ddr clock : 528000000Hz
> usdhc1 clock : 198000000Hz
> usdhc2 clock : 198000000Hz
> usdhc3 clock : 198000000Hz
> usdhc4 clock : 198000000Hz
> nfc clock : 24000000Hz
> Board: i.MX6Q-SABRESD: unknown-board Board: 0x63012 [POR ]
> Boot Device: SD
> I2C: ready
> DRAM: 1 GB
> MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
> In: serial
> Out: serial
> Err: serial
> i2c: I2C3 SDA is low, start i2c recovery...
> I2C3 Recovery success
> Found PFUZE100! deviceid=10,revid=11
> Net: got MAC address from IIM: 00:04:9f:02:e0:39
> FEC0 [PRIME]
> Hit any key to stop autoboot: 0
> MX6Q SABRESD U-Boot > fatload mmc 2:1 0x20000000 uImage_imx6_tz
> reading uImage_imx6_tz
> 359877 bytes read
> MX6Q SABRESD U-Boot > bootm 20000000
> ## Booting kernel from Legacy Image at 20000000 ...
> Image Name:
> Image Type: ARM Linux Kernel Image (gzip compressed)
> Data Size: 359813 Bytes = 351.4 kB
> Load Address: 10001000
> Entry Point: 10001000
> Verifying Checksum ... OK
> Uncompressing Kernel Image ... OK
> Starting kernel ...
> I highly appreciate any respond to help me on this.
> Thank you very much in advance.
> --Thong Nguyen.
> --------------------------------------------------------------------------
----
> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
> Develop your own process in accordance with the BPMN 2 standard
> Learn Process modeling best practices with Bonita BPM through live
exerciseshttp://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
event?utm_
> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
> _______________________________________________
> genode-main mailing listgenode-main-
5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f at ...326...://lists.sourceforge.n
et/lists/listinfo/genode-main
>
>
>
>
>
>
> --------------------------------------------------------------------------
----
> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
> Develop your own process in accordance with the BPMN 2 standard
> Learn Process modeling best practices with Bonita BPM through live
exercises
> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?
utm_
> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
>
> _______________________________________________
> genode-main mailing list
> genode-main at ...52...
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
Hi,
I have downloaded genode-hw_sabrelite_tz_support for Genode as secure world
in the following link:
https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
I tried build by the following steps:
cd genode-hw_sabrelite_tz_support/tools/
./create_builddir hw_sabrelite_tz BUILD_DIR=build_sabrelite
cd build_sabrelite/
RUN_OPT="--target uboot"
make run/tz_vmm_mx6
It is giving the following error:
including genode-hw_sabrelite_tz_support/repos/os/run/tz_vmm_mx6.run
building targets: core init server/tz_vmm
spawn make core init server/tz_vmm
make[1]: Entering directory `genode-
hw_sabrelite_tz_support/tool/build_sabrelite'
checking library dependencies...
Skip target server/tz_vmm/imx53_qsb because it requires hw_imx53_qsb
platform_imx53
Skip target server/tz_vmm/usb_armory because it requires hw_usb_armory
platform_imx53
Library platform
MERGE platform.lib.a
Library cxx
COMPILE exception.o
COMPILE guard.o
COMPILE malloc_free.o
COMPILE misc.o
COMPILE new_delete.o
COMPILE unwind.o
MERGE supc++.o
CONVERT supc++.o
MERGE cxx.lib.a
Library base-common
COMPILE allocator/allocator_avl.o
COMPILE allocator/slab.o
COMPILE avl_tree/avl_tree.o
COMPILE child/child.o
COMPILE console/console.o
COMPILE elf/elf_binary.o
COMPILE heap/heap.o
COMPILE heap/sliced_heap.o
COMPILE ipc/ipc.o
COMPILE ipc/ipc_marshal_cap.o
COMPILE kernel/interface.o
COMPILE lock/lock.o
COMPILE process/process.o
COMPILE server/common.o
COMPILE server/server.o
COMPILE signal/common.o
COMPILE signal/platform.o
COMPILE signal/signal.o
COMPILE thread/bootstrap.o
COMPILE thread/context_allocator.o
COMPILE thread/trace.o
MERGE base-common.lib.a
Library syscall
MERGE syscall.lib.a
Library startup
COMPILE _main.o
ASSEMBLE crt0.o
COMPILE init_main_thread.o
MERGE startup.lib.a
Library base
COMPILE console/log_console.o
COMPILE cpu/cache.o
COMPILE env/context_area.o
COMPILE env/env.o
COMPILE env/reinitialize.o
COMPILE thread/start.o
COMPILE thread/thread.o
MERGE base.lib.a
Library init_pd_args
COMPILE pd_args.o
MERGE init_pd_args.lib.a
Library config
COMPILE config.o
MERGE config.lib.a
Program init/init
COMPILE main.o
LINK init
Program server/tz_vmm/imx6/tz_vmm
COMPILE main.o
LINK tz_vmm
Library core-perf_counter_on
COMPILE spec/arm_v7/perf_counter.o
MERGE core-perf_counter_on.lib.a
Library core-perf_counter
MERGE core-perf_counter.lib.a
Library core-trustzone_on
COMPILE _main.o
ASSEMBLE boot_modules.o
COMPILE console.o
COMPILE context_area.o
COMPILE core_mem_alloc.o
COMPILE core_rm_session.o
COMPILE cpu_session_component.o
COMPILE cpu_session_support.o
COMPILE dataspace_component.o
COMPILE dump_alloc.o
COMPILE init_main_thread.o
COMPILE io_mem_session_component.o
COMPILE io_mem_session_support.o
COMPILE irq_session_component.o
COMPILE kernel/cpu.o
COMPILE kernel/irq.o
COMPILE kernel/kernel.o
COMPILE kernel/pd.o
COMPILE kernel/signal_receiver.o
COMPILE kernel/thread.o
COMPILE main.o
COMPILE pager.o
COMPILE pd_session_component.o
COMPILE platform.o
COMPILE platform_pd.o
COMPILE platform_thread.o
COMPILE ram_session_component.o
COMPILE ram_session_support.o
COMPILE rm_session_component.o
COMPILE rm_session_support.o
COMPILE rom_session_component.o
COMPILE signal_session_component.o
COMPILE spec/arm/cpu.o
ASSEMBLE spec/arm/crt0.o
COMPILE spec/arm/kernel/cpu.o
COMPILE spec/arm/kernel/cpu_context.o
ASSEMBLE spec/arm/kernel/crt0.o
COMPILE spec/arm/kernel/thread.o
COMPILE spec/arm/kernel/thread_base.o
COMPILE spec/arm/platform_support.o
COMPILE spec/arm_v7/cpu.o
COMPILE spec/arm_v7/kernel/vm_thread.o
ASSEMBLE spec/arm_v7/mode_transition.o
COMPILE spec/arm_v7/trustzone/kernel/vm.o
COMPILE spec/arm_v7/trustzone/kernel/vm_thread.o
ASSEMBLE spec/arm_v7/trustzone/mode_transition.o
COMPILE spec/arm_v7/trustzone/vm_session_component.o
COMPILE spec/arm_v7/vm_session_component.o
COMPILE spec/imx6/trustzone/pic.o
COMPILE spec/imx6/trustzone/platform_services.o
COMPILE spec/imx6/trustzone/platform_support.o
COMPILE thread/thread.o
COMPILE thread_start.o
COMPILE trace_session_component.o
COMPILE version.o
MERGE core-trustzone_on.lib.a
Library core-trustzone
MERGE core-trustzone.lib.a
Library core
MERGE core.lib.a
Program core/core
COMPILE kernel/test.o
LINK core
make[1]: Leaving directory `genode-
hw_sabrelite_tz_support/tool/build_sabrelite'
genode build completed
Download initramfs ...
Download linux binary ...(put your linux file manually)
wrong # args: should be "run_boot_dir"
while executing
"run_boot_dir $binaries"
(procedure "build_boot_image" line 2)
invoked from within
"build_boot_image "core init tz_vmm linux initrd.gz""
(file "genode-hw_sabrelite_tz_support/repos/os/run/tz_vmm_mx6.run" line
49)
invoked from within
"source $include_name"
("foreach" body line 6)
invoked from within
"foreach include_name [get_cmd_arg --include ""] {
# first check if the include name is absolute
if {[string first "/" $include_name] == 0} {
puts ..."
(file "genode-hw_sabrelite_tz_support/tool/run/run" line 630)
make: *** [run/tz_vmm_mx6] Error 1
What will be the problem?
More information about the users
mailing list