How to install TLK (Trusted Little Kernel)

Hi all,

Recently, I got interested in the ARM TrustZone technology. So, I’ve been figuring out some open source projects such as TLK for NVIDIA TK1 and Genode for FreeScale iMX53.
While installing TLK, I got stuck.

After building the TLK source code without a problem, I’ve attempted to flash the tos.img, an image file of the TLK.
However, nvflash shows an error message like the following,

taiji@taiji-Parallels-Virtual-Platform:~/source/Linux_for_Tegra/bootloader$ sudo ./nvflash --bl ./ardbeg/fastboot.bin --download …/…/tlk/build-t124/tos.img --go
Nvflash 4.13.0000 started
chip uid from BR is: 0x34001001740970420800000002ff0180
rcm version 0X400001
System Information:
chip name: unknown
chip id: 0x40 major: 1 minor: 1
chip sku: 0x81
chip uid: 0x00000001740970420800000002ff0180
macrovision: disabled
hdcp: enabled
jtag: enabled
sbk burned: false
board id: 375
warranty fuse: 0
dk burned: true
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 3

RCM communication completed
downloading bootloader – load address: 0x80108000 entry point: 0x80108000
sending file: ./ardbeg/fastboot.bin

  • 900492/900492 bytes sent
    ./ardbeg/fastboot.bin sent successfully
    waiting for bootloader to initialize
    bootloader downloaded successfully
    command failure/warning: partition not found in partition table

According to this message, it seems to need a separate partition to store the TLK image.
However, there is no manual how I can solve this problem.
Is there anyone who knows how to handle this error?

My development board is the NVIDIA TK1 and the version of the Linux BSP is the R19.3.0.

Thanks in advance.

Looks like you are using fastboot. Fastboot requires the kernel going to a specific partition, and expects certain layouts…if you switch to u-boot you can just install normal L4T and then add a menu entry to extlinux.conf (in /boot) without that hassle. There’s no telling what size or alignment restrictions fastboot has.

FYI, u-boot is the default in R21.x, and there is no reason why you couldn’t have it run normally and place an alternate entry for boot from an SD card or SATA hard drive without disturbing the original install.