Closed Miraje closed 8 years ago
Hi,
Most likely you're missing:
firmware {
optee {
compatible = "linaro,optee-tz";
method = "smc";
};
};
in the dts file.
Thank you for your response @jenswi-linaro , but I checked the juno.dts
file and it includes the file juno-base.dtsi
(#include "juno-base.dtsi"
) which already has that definition.
Could have anything to do with the model of the board? I'm currently using juno-r2
We haven't tried OP-TEE on juno-r2 before, but since it boots it seems to be at least somewhat OK.
The /dev/tee0
and /dev/teepriv0` are created automatically when the driver is initialized, so something is preventing the driver to initialized. Can you see something in the kernel log or on the "secure" uart?
@jenswi-linaro-adm I'm sorry for the late response but I don't see any errors on the log and on the secure UART. Here is the output of the secure UART: http://pastebin.com/wYzsbrqn
I really wanted to work with the OP-TEE on the juno-r2 board.
Thanks.
Do you see anything like this in the kernel log:
[ 3.448367] usbcore: registered new interface driver usbhid
[ 3.448426] usbhid: USB HID core driver
[ 3.450445] optee firmware:optee: probing for conduit method from DT.
[ 3.451493] optee firmware:optee: initialized driver
[ 3.455273] NET: Registered protocol family 17
[ 3.455731] 9pnet: Installing 9P2000 support
It's the optee lines that I'm looking for.
No, those lines doesn't appear on the log. But now that I looked more carefully I found this line:
[ 0.765380] dmi: Firmware registration failed.
I have that line also on my Juno r1.
Since you have the optee entries in device tree, I guess that means that the driver isn't compiled into the kernel.
I just noticed before starting the kernel appears this warning:
*** Warning - bad CRC, using default environment
I have that too... :-)
Does ls /sys/firmware/devicetree/base/firmware/optee
list any files?
Unfortunately no:
ls: /sys/firmware/devicetree/base/firmware/optee: No such file or directory
That indicates that the optee node in device tree is missing.
@jenswi-linaro I just made it, thank you so much for your help.
I added:
juno-r2.dts
juno-r2.dtb
dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb juno-r2.dtb
In the directory:/devel/optee/linux/arch/arm64/boot/dts/arm/
And now every thing works just fine. I don't know if this was the problem but worked. I really I appreciate your help, once again thank you very very much.
I just have one more question. Should I change the makefile (in build directory) from:
BUSYBOX_COMMON_TARGET = fvp
BUSYBOX_CLEAN_COMMON_TARGET = fvp clean
to:
BUSYBOX_COMMON_TARGET = vexpress
BUSYBOX_CLEAN_COMMON_TARGET = vexpress clean
?
@jenswi-linaro As this issue is already solved I'm closing this. Thank you for your help.
I am having the same issue even though I made changes as suggested: adding:
juno-r2.dts juno-r2.dtb
And modified the 2nd line in the makefile to : dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb juno-r2.dtb In the directory:/devel/optee/linux/arch/arm64/boot/dts
The steps I did were:
Should I use juno_stable.xml or juno.xml? I tried both but the ramdisk.img generated with juno.xml is 29.15MB while that generated with juno_stable.xml is 7.17MB. I don't know how to modify the images.txt file.
Am I missing anything?
Hi @invhchan ,
Currently, using the juno.xml
manifest the size of ramdisk.img
goes to 29.15 MB
because the use of gcc5.
Those steps of copying the files aren't needed anymore if using juno.xml
but if I'm not mistaken when the juno_stable.xml
you still need to do them.
So I think there two possible ways:
1) Use the juno_stable
version and copy those files and change the makefile
and compile it
2) Use the juno
version which is the more recent one and change the revision
of the build
repository to a previous version. In my case I used the one with the following hash: cfb99cf0a614204afcbf282bc8375183b895c3bf
Note: This is the way I proceeded to get it to work and may this may be a temporary problem. I already opened an issue
#822 indicating the problem of the ramdisk.img
size.
Hi, I am testing OP-TEE on ARM Juno board (more specifically r2 version) and I had a error while starting tee-suplicant:
TEES:main:376: failed to find an OP-TEE supplicant device
I'm guessing it is because it can't find the two drivers,/dev/tee0
and/dev/teepriv0
. I looked for it in the filelist.txt and didn't found them. There is only two nodes in there (should be therenod optee
?):I was hopping that someone knew how to fix this (the
make all
process succeed without any errors ).When I was looking into the makefile (in
build
directory) I saw:Shouldn't be
vexpress
instead offvp
?If someone could help me I would be very grateful. Thanks.