OP-TEE / optee_docs

This git contains the official documentation for the OP-TEE project
BSD 2-Clause "Simplified" License
58 stars 96 forks source link

Minor query regarding Raspberry Pi documentation #139

Closed goxul closed 3 years ago

goxul commented 3 years ago

Hello,

Thank you for the wonderful work you've done in maintaining and documenting this project - it's been of great help to me.

I just had a minor query where I got a bit confused. The documentation says:

Below is a table of supported hardware in our OP-TEE developer builds. We have only used the Raspberry Pi 3 Model B, i.e., the first RPi 3 device that was released. But we know that people have successfully been able to use it with both RPi 2’s as well as the newer RPi 3 B+. But as long as we in the core team doesn’t have those at hands we cannot guarantee anything, therefore we simply say “No” below.

From what I understand, this means that you've only checked the build on Raspberry Pi 3B. But down below, you also mention that

Raspberry Pi 3 Model B | Yes Raspberry Pi 3+ Model B | Yes

implying that Raspberry Pi 3B+ is also officially supported.

Could you please confirm once whether 3B+ is supported or not either? (I asked because I've ordered Raspberry Pi 3B+ and want to be sure that OP-TEE will run it, else I might have to return it)

Also, pardon me for my naive question, but what OS should I flash my microSD card with to use on the Raspberry Pi3B+ that would be most compatible with OP-TEE? I couldn't find anything regarding that in the documentation. Would Ubuntu Server 20.04.3 LTS work well with OP-TEE? Or should I use Raspbian or something similar?

jbech-linaro commented 3 years ago

Hi @goxul

Thanks for the kind words. Regarding the Rpi3B+, I think there has sneaked in a mistake. This https://github.com/OP-TEE/optee_docs/commit/059c5f2f64b81c5db2ac48c09a6b177a1ee583d0 commit was supposed to update the section to add that Rpi4 isn't supported yet, but it also looks like the Rpi3B+ row also was updated (@kunmukh?).

To my best knowledge, Rpi3B is the one supported and not RPi3B+ and I've been the one mostly maintaining the RPi3 builds in OP-TEE, so ... I think would (at least should 😄 ) know this best.

Also, pardon me for my naive question, but what OS should I flash my microSD card with to use on the Raspberry Pi3B+, which would be most compatible with OP-TEE? I couldn't find anything regarding that in the documentation. Would Ubuntu Server 20.04.3 LTS work well with OP-TEE? Or should I use Raspbian or something similar?

You don't flash it with traditional OSes for Raspberry Pi, you simply flash (actually mount and copy) the filesystem that is being produced by the OP-TEE RPi setup. Basically, the instructions here (make img-help will basically tell you what to do after a successful build).

I know there are some "unofficial" guides out there telling how to run OP-TEE with Raspbian, but since that is out of our control, we cannot really say much about it. I.e., if people find those guides and give it a try and it doesn't work, then we cannot help, i.e., in those cases one has to ask the authors of those guides for help.

goxul commented 3 years ago

Apologies for the late response, I got caught up with some work.

To my best knowledge, Rpi3B is the one supported and not RPi3B+ and I've been the one mostly maintaining the RPi3 builds in OP-TEE, so ... I think would (at least should 😄 ) know this best.

That clears it up! Although, looking through the issues, I did find people who have been able to get it running on 3B+ too - I'll give that a try.

You don't flash it with traditional OSes for Raspberry Pi, you simply flash (actually mount and copy) the filesystem that is being produced by the OP-TEE RPi setup. Basically, the instructions here (make img-help will basically tell you what to do after a successful build).

That makes sense! Thanks for clearing that up.

I had one last query - I actually have a NVidia Jetson Xavier NX board. It's an ARM based board and I know that it uses Trusty as the TEE. I was wondering if it would be possible to run OP-TEE on this board - I found some porting guidelines here. Do you think if I followed them, I'd be able to run OP-TEE on the above board? That'd really help me out.

Once again, thank you.

jbech-linaro commented 3 years ago

Apologies for the late response, I got caught up with some work.

To my best knowledge, Rpi3B is the one supported and not RPi3B+ and I've been the one mostly maintaining the RPi3 builds in OP-TEE, so ... I think would (at least should smile ) know this best.

That clears it up! Although, looking through the issues, I did find people who have been able to get it running on 3B+ too - I'll give that a try.

Right, you also consider giving the porting guideline you mention further down a try. I.e., if you managed to get it up and running, feel free to submit patches for it so we could get official support.

You don't flash it with traditional OSes for Raspberry Pi, you simply flash (actually mount and copy) the filesystem that is being produced by the OP-TEE RPi setup. Basically, the instructions here (make img-help will basically tell you what to do after a successful build).

That makes sense! Thanks for clearing that up.

I had one last query - I actually have a NVidia Jetson Xavier NX board. It's an ARM based board and I know that it uses Trusty as the TEE. I was wondering if it would be possible to run OP-TEE on this board - I found some porting guidelines here. Do you think if I followed them, I'd be able to run OP-TEE on the above board? That'd really help me out.

Yes, if Jetson is open enought that you can build and deploy Trusty for it, then I'm pretty sure you could make OP-TEE work as well. The porting guideline is way to go and there are a few examples port in our FAQ as well. That should give hint to what normally has to be done when porting to a new platform.

Once again, thank you.

goxul commented 3 years ago

Yes, if Jetson is open enought that you can build and deploy Trusty for it, then I'm pretty sure you could make OP-TEE work as well. The porting guideline is way to go and there are a few examples port in our FAQ as well. That should give hint to what normally has to be done when porting to a new platform.

That makes sense, I'll try it and let you know how it goes!