Genode on IMX6

Stefan Kalkowski stefan.kalkowski at ...1...
Mon Mar 23 12:12:27 CET 2015


Hi,

On 03/23/2015 12:04 PM, chirag garg wrote:
> Hi Stefan,
> 
> Thank you for your response.
> Is it possible to have .config file used for Linux to make normal world
> OS image in the case of imx53.? 
> 

naturally:


https://github.com/skalk/linux/blob/imx53-tz/arch/arm/configs/imx5_android_tz_defconfig

Regards
Stefan

> Regards
> 
> Chirag Garg
> IIT Madras , Rise Lab
> 
> On Mon, Mar 23, 2015 at 2:26 PM, Stefan Kalkowski
> <stefan.kalkowski at ...1...
> <mailto:stefan.kalkowski at ...1...>> wrote:
> 
>     Hi,
> 
>     On 03/23/2015 07:55 AM, chirag garg wrote:
>     > Hello Vincent,
>     >
>     > I tried that too.. As, some blogs says that zImage is pure binary
>     image.
>     > I copied that zImage as linux in <Genode>/<Build_Dir>/bin/ folder.
>     >
>     > I run the build-ed uImage in Genode. Following is the output i am
>     > getting on  the screen
>     >
>     > kernel initialized
>     > Genode 14.11
>     > int main(): --- create local services ---
>     > int main(): --- start init ---
>     > int main(): transferred 246 MB to init
>     > int main(): --- init created, waiting for exit condition ---
>     > [init] parent provides
>     > [init]   service "ROM"
>     > [init]   service "RAM"
>     > [init]   service "IRQ"
>     > [init]   service "IO_MEM"
>     > [init]   service "CAP"
>     > [init]   service "PD"
>     > [init]   service "RM"
>     > [init]   service "CPU"
>     > [init]   service "LOG"
>     > [init]   service "SIGNAL"
>     > [init]   service "VM"
>     > [init] child "tz_vmm"
>     > [init]   RAM quota:  3932160
>     > [init]   ELF binary: tz_vmm
>     > [init]   priority:   0
>     > [init -> tz_vmm] Start virtual machine ...
>     >
>     > Uncompressing Linux...
>     >
>     > Then it hangs on this message. what could be wrong there ?
> 
>     Honestly, there are so many possibilities what can go wrong in the guest
>     OS if something is misconfigured, or the guest OS is not aware of its
>     position. You will have to find a way to debug such behavior on your
>     own. Of course the best way would be to use a JTAG debugger.
>     Alternatively, either you start to instrument the Linux code with printk
>     (obviously Linux can already do printings), or you intersperse 'smc'
>     instructions when investigating assembler paths of the Linux guest,
>     thereby your VMM can print the whole guest state when an 'smc'
>     instruction was triggered.
> 
>     You told us: "I know i haven't modified linux according to the normal
>     world but at least kernel should start in normal world". That is not
>     true in general. It hardly depends how you have configured all TrustZone
>     related devices. If you really prepared everything to be used by the
>     normal world, you might be right. Nevertheless, then the Genode OS in
>     the secure world probably will not work anymore. On the other hand, if
>     for instance a guest OS took it for granted (I do not know the Linux
>     branch you are using) to start in the secure world it will run into
>     problems as well.
> 
>     Regards
>     Stefan
> 
>     >
>     > Regards
>     >
>     > Chirag Garg
>     > IIT Madras , Rise Lab
>     >
>     > On Mon, Mar 23, 2015 at 5:12 AM, Vincent Raes
>     <raes.vincent at ...9... <mailto:raes.vincent at ...9...>
>     > <mailto:raes.vincent at ...9... <mailto:raes.vincent at ...9...>>>
>     wrote:
>     >
>     >     Hi,
>     >
>     >     The problem is that you the file "linux" you're using is an
>     uImage.
>     >     For a file to work with the tz_vmm it has to be a pure binary
>     file.
>     >     This is due to the wrapper around the uImage. The instruction
>     >     pointer is set to 30800000 but there are no instructions at that
>     >     point, instead it finds the uImage wrapper. And since it has
>     no idea
>     >     what to do with this, the normal world never starts executing.
>     >
>     >     Best regards,
>     >     Vincent
>     >
>     >     Op 22-mrt.-2015 22:00 schreef "chirag garg"
>     >     <chiragdthinker at ...9... <mailto:chiragdthinker at ...9...>
>     <mailto:chiragdthinker at ...9... <mailto:chiragdthinker at ...9...>>>:
>     >
>     >         Hi all,
>     >
>     >         I am trying to enable TrustZone for imx6 processor. As
>     earlier,
>     >         I have modified Genode for imx6 and it was successfully
>     running.
>     >         And I am able to run Genode in secure world as well as in
>     Normal
>     >         world on imx6 tablet.
>     >
>     >         Now i am trying to run Linux (3.10 without dtb) in the Normal
>     >         world. I tried the follow the following steps:
>     >
>     >         1) I simply followed the steps mentioned on the following link
>     >       
>      http://boundarydevices.com/cross-compile-i-mx6-kernel-using-ltib-toolchain/
>     >         which generate uImage which is successfully running on
>     imx6 with
>     >         LOADADDR=30008000.
>     >
>     >         2) I simply copied this uImage as "linux" in
>     >         <Genode>/<Build_Dir>/bin/ folder
>     >
>     >         3) run the modified tz_vmm script and build the uImage.
>     >
>     >         I run the uImage on the imx6 board.Following is the generated
>     >         output:
>     >
>     >
>     >         9928768 bytes read in 523 ms (18.1 MiB/s)
>     >         ## Booting kernel from Legacy Image at 10800000 ...
>     >            Image Name:
>     >            Image Type:   ARM Linux Kernel Image (uncompressed)
>     >            Data Size:    9928704 Bytes = 9.5 MiB
>     >            Load Address: 10001000
>     >            Entry Point:  10001000
>     >            Verifying Checksum ... OK
>     >            Loading Kernel Image ... OK
>     >
>     >         Starting kernel ...
>     >
>     >         kernel initialized
>     >         Genode 14.11
>     >         int main(): --- create local services ---
>     >         int main(): --- start init ---
>     >         int main(): transferred 246 MB to init
>     >         int main(): --- init created, waiting for exit condition ---
>     >         [init] parent provides
>     >         [init]   service "ROM"
>     >         [init]   service "RAM"
>     >         [init]   service "IRQ"
>     >         [init]   service "IO_MEM"
>     >         [init]   service "CAP"
>     >         [init]   service "PD"
>     >         [init]   service "RM"
>     >         [init]   service "CPU"
>     >         [init]   service "LOG"
>     >         [init]   service "SIGNAL"
>     >         [init]   service "VM"
>     >         [init] child "tz_vmm"
>     >         [init]   RAM quota:  3932160
>     >         [init]   ELF binary: tz_vmm
>     >         [init]   priority:   0
>     >         [init -> tz_vmm] Start virtual machine ...
>     >
>     >         I am using Genode-14.11 and u-boot 14.07 to run this image. I
>     >         set the NONSECURE_RAM_BASE=0x30000000 and
>     kernel_offset=8000. I
>     >         know i haven't modified linux according to the normal
>     world but
>     >         at least kernel should start in normal world.
>     >
>     >         What could be the reason or some thing wrong in the steps
>     due to
>     >         which Linux is not able to start in Normal world ?
>     >
>     >         Thanks in advance.
>     >         Regards
>     >
>     >         Chirag Garg
>     >         IIT Madras , Rise Lab
>     >
>     >       
>      ------------------------------------------------------------------------------
>     >         Dive into the World of Parallel Programming The Go Parallel
>     >         Website, sponsored
>     >         by Intel and developed in partnership with Slashdot Media, is
>     >         your hub for all
>     >         things parallel software development, from weekly thought
>     >         leadership blogs to
>     >         news, videos, case studies, tutorials and more. Take a
>     look and
>     >         join the
>     >         conversation now. http://goparallel.sourceforge.net/
>     >         _______________________________________________
>     >         genode-main mailing list
>     >         genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >         <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >         https://lists.sourceforge.net/lists/listinfo/genode-main
>     >
>     >
>     >   
>      ------------------------------------------------------------------------------
>     >     Dive into the World of Parallel Programming The Go Parallel
>     Website,
>     >     sponsored
>     >     by Intel and developed in partnership with Slashdot Media, is your
>     >     hub for all
>     >     things parallel software development, from weekly thought
>     leadership
>     >     blogs to
>     >     news, videos, case studies, tutorials and more. Take a look
>     and join the
>     >     conversation now. http://goparallel.sourceforge.net/
>     >     _______________________________________________
>     >     genode-main mailing list
>     >     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     https://lists.sourceforge.net/lists/listinfo/genode-main
>     >
>     >
>     >
>     >
>     >
>     ------------------------------------------------------------------------------
>     > Dive into the World of Parallel Programming The Go Parallel
>     Website, sponsored
>     > by Intel and developed in partnership with Slashdot Media, is your
>     hub for all
>     > things parallel software development, from weekly thought
>     leadership blogs to
>     > news, videos, case studies, tutorials and more. Take a look and
>     join the
>     > conversation now. http://goparallel.sourceforge.net/
>     >
>     >
>     >
>     > _______________________________________________
>     > genode-main mailing list
>     > genode-main at lists.sourceforge.net
>     <mailto: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/
> 
>     ------------------------------------------------------------------------------
>     Dive into the World of Parallel Programming The Go Parallel Website,
>     sponsored
>     by Intel and developed in partnership with Slashdot Media, is your
>     hub for all
>     things parallel software development, from weekly thought leadership
>     blogs to
>     news, videos, case studies, tutorials and more. Take a look and join the
>     conversation now. http://goparallel.sourceforge.net/
>     _______________________________________________
>     genode-main mailing list
>     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/genode-main
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the 
> conversation now. http://goparallel.sourceforge.net/
> 
> 
> 
> _______________________________________________
> 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