This shows you the differences between two versions of the page.
ass:labs-2025:05:tasks:02 [2025/08/08 09:55] florin.stancu |
ass:labs-2025:05:tasks:02 [2025/08/08 14:28] (current) florin.stancu |
||
---|---|---|---|
Line 34: | Line 34: | ||
Read the [[https://optee.readthedocs.io/en/latest/building/gits/optee_examples/optee_examples.html|official instructions here]]. | Read the [[https://optee.readthedocs.io/en/latest/building/gits/optee_examples/optee_examples.html|official instructions here]]. | ||
- | Build both the host app and the TA need to be compiled TOGETHER with the TEE Client Library, and the OPTEE OS exported SDK, respectively. | + | Build both the host app and the Trusted Application need to be compiled TOGETHER with the TEE Client Library, and the OPTEE OS exported SDK, respectively. |
Make sure to read the examples documentation to see the make variables to set! | Make sure to read the examples documentation to see the make variables to set! | ||
<note> | <note> | ||
- | Note that, usually, you must must optee-client from source on the host machine [[https://optee.readthedocs.io/en/latest/building/gits/optee_client.html#build-instructions|the optee_client first]]. . | + | Note that, usually, you must build optee-client from source on the host machine [[https://optee.readthedocs.io/en/latest/building/gits/optee_client.html#build-instructions|the optee_client first]]. . |
But, since we're using Buildroot and have enabled it, you can find it already compiled for the target system at ''<buildroot-dir>/output/build/optee-client-<version>''. | But, since we're using Buildroot and have enabled it, you can find it already compiled for the target system at ''<buildroot-dir>/output/build/optee-client-<version>''. | ||
- | Touugh we need to give a ''TEEC_EXPORT'' path when invoking the TA makefile... Use find for ''tee_client_api.h'' and see where it's found (hint: ''sysroot''). | + | Touugh we need to give a ''TEEC_EXPORT'' install path when invoking the TA makefile... Use find for ''tee_client_api.h'' and see where it's found (hint: ''sysroot'')! |
+ | </note> | ||
+ | |||
+ | <note> | ||
+ | As for ''TA_DEV_KIT_DIR'' of a Trusted Application, it must point to an SDK generated inside BL32 (optee_os) source directory (something like ''export-ta...'''. | ||
</note> | </note> | ||
Line 73: | Line 77: | ||
Do not Ctrl+C yet, leave it running and mount the newly appeared USB device in your PC/VM! | Do not Ctrl+C yet, leave it running and mount the newly appeared USB device in your PC/VM! | ||
- | After copying the files, boot the Linux package (you can use the Lab02 boot commands, see Readme.md). | + | After copying the files, boot Linux. |
+ | |||
+ | Now check if ''tee-supplicant'' is running... let's mount devtmpfs then start it: | ||
+ | <code bash> | ||
+ | mount -t devtmpfs devtmpfs /dev | ||
+ | tee-supplicant -d | ||
+ | </code> | ||
Mount the boot partition and run the TA (you might need to copy it somewhere else and ''chmod +x'')! | Mount the boot partition and run the TA (you might need to copy it somewhere else and ''chmod +x'')! | ||
Line 81: | Line 91: | ||
Observe the error: OP-TEE cannot find the ''.ta'' file inside a trusted memory or REE. | Observe the error: OP-TEE cannot find the ''.ta'' file inside a trusted memory or REE. | ||
- | For this, you will need to copy the signed ''<UUID>.ta'' file to ''/lib/optee_armtz/'', as (very badly) documented. | + | For this, you will need to copy the signed ''<UUID>.ta'' file to ''/lib/optee_armtz/'' (create it if it doesn't exist), as (very badly) documented. |
</note> | </note> | ||