OP-TEE / optee_os

Trusted side of the TEE
Other
1.54k stars 1.04k forks source link

Build OP-TEE without Trusted Firmware #3668

Closed ZhikuiRen closed 4 years ago

ZhikuiRen commented 4 years ago

Can OP-TEE build without Trusted Firmware? Is the following a valid boot sequence: U-Boot-SPL as bl1, U-Boot as bl2 and OP-TEE as bl32 ?

Emantor commented 4 years ago

This depends on your platform. ARMv8 devices usually require TF-A for the runtime services, ARMv7 platforms often use OP-TEE for stuff like PSCI (except newer platforms like stm32). Note that BL1 is usually the BootROM which is unchangable on production SoCs and I don't know whether U-Boot implements BL2 and the necessary runtime services.

ZhikuiRen commented 4 years ago

It is ARMv7 (Cortex A7) Is there an example on how to setup the config? I was following the OP-TEE build example, which uses the Trusted Firmware.

jenswi-linaro commented 4 years ago

Is there a particular reason why you'd like to avoid Trusted Firmware? The other setups I've heard if are U-Boot based, similar to to what you're describing. Other than that I've only heard of proprietary solutions.

ZhikuiRen commented 4 years ago

The main motivation is to remove dependency and do development work in parallel. Is there an example somewhere or a pointer to what CONFIG should be modified?

jenswi-linaro commented 4 years ago

On ARMv7 OP-TEE doesn't depend directly on anything, but I will need something in order to be loaded into memory of course. There's no need to configure OP-TEE in a certain way to enable loading by TF-A, U-Boot or whatever.

b49020 commented 4 years ago

On ARMv7 systems, Secure Monitor is part of OP-TEE OS. So there isn't any dependency on TF-A for runtime services. So as @jenswi-linaro mentioned, TF-A BL2 or U-Boot SPL only plays role to load OP-TEE into memory. Have a look at below ARMv7 based platforms which either rely on TF-A BL2 or U-Boot SPL for loading:

ZhikuiRen commented 4 years ago

Thanks everyone for helping. I have some idea to try now. Closing it.