Porting the secure OS like the TLK in TrustZone

Hi all,

I’m installing the TLK (Trusted Little Kernel), an open source secure OS developed by NVIDIA, on Jetson TK1.
Even though I followed instructions in the TLK documents, it doesn’t work well.
It hangs without any message via the serial port.

According to some posts in this forum, it seems that someone succeed the implementation of the secure OS in TrustZone based on Jetson TK1.
So, could you give me some comments about the implementation of the secure OS in TrustZone?
I welcome any comment!


Were you able to further debug it and dump some log file?

There is no message from the TLK kernel.
After selecting the TLK from the u-boot command, it hangs without any message after a “Starting kernel…” message.
In this case, I use the u-boot instead of the fast boot.

According to the TLK document, it assumes that the target board has the TOS partition, but the basic jetson-tk1 board doesn’t.
I’ve figured out that the NEXUS 9 has the TOS partition, but I don’t have it.
So, I attempted to change the partition layout by modifying the flash.conf and gnu_linux_fastboot_emmc_full.cfg.
However, the flash.sh shows an error message, invalid size(-2097152) for [GTP].

Currenty, I’m planning to debug the TLK with the TRACE32, a JTAG debugger.

Could you give me any hint or comment?


FYI, I’ve looked at using OpenOCD with a flyswatter2, and found that getting OpenOCD to work would be extremely problematic. Even within nVidia I believe they tried to get an OpenOCD debugger to work but gave up on it. A thread on OpenOCD debugging of Jetson would be an interesting idea…it certainly wouldn’t be fast to succeed.

Usually, when I need to print message in the very early stage of kernel.
I will enable early printk as below. Not sure if this can help you.


Hi Sungjin.
Did you success at running TLK on Jetson TK1?

If you are able to post your results, it would be really appreciated for me cause I’m planning to do similar thing.