Git Product home page Git Product logo

build's Introduction

OP-TEE build.git

This git contains makefiles etc to be able to build a full OP-TEE developer setup for the OP-TEE project.

All official OP-TEE documentation has moved to http://optee.readthedocs.io. The pages that used to be here in this git can be found under build and Device specific information at he new location for the OP-TEE documentation.

// OP-TEE core maintainers

build's People

Contributors

aleksey-kk avatar b49020 avatar balint-dobszay-arm avatar demesnegh avatar etienne-lms avatar fanrong1992 avatar fboudra avatar fulcronz avatar gabor-toth-arm avatar gagachang avatar glneo avatar gyuri-szing avatar ierkiaga avatar igoropaniuk avatar imre-kis-arm avatar jbech-linaro avatar jellesels-arm avatar jenswi-linaro avatar jforissier avatar jneuhauser avatar ldts avatar lorc avatar odeprez avatar peikantsai avatar petegriffin avatar pm215 avatar ruchi393 avatar seqlabs avatar shovanco avatar vingu-linaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

build's Issues

Error "unrecognized command line option" occurs in generating root file system

The issue occurs in the step 7.6 "Flash the device".
$ make flash
When busybox is used to generate file system. I get some error from aarch64-linux-gnu-gcc for building applets.o.

The prerequisites of '__build' are being made.
Live child 0x18d4950 (applets/applets.o) PID 25942 
aarch64-linux-gnu-gcc: error: unrecognized argument in option '-mabi=aapcs-linux'
aarch64-linux-gnu-gcc: note: valid arguments to '-mabi=' are: ilp32 lp64
aarch64-linux-gnu-gcc: error: unrecognized command line option '-marm'; did you mean '-fasm'?
aarch64-linux-gnu-gcc: error: unrecognized command line option '-mthumb'
aarch64-linux-gnu-gcc: error: unrecognized command line option '-mthumb-interwork'
Reaping losing child 0x18d4950 PID 25942 
/home/yieux/Project/optee/busybox/scripts/Makefile.build:197: recipe for target 'applets/applets.o' failed
make[3]: *** [applets/applets.o] Error 1
Removing child 0x18d4950 PID 25942 from chain.
Reaping losing child 0x9f6770 PID 25934 
/home/yieux/Project/optee/busybox/Makefile:372: recipe for target 'applets_dir' failed
make[2]: *** [applets_dir] Error 2
Removing child 0x9f6770 PID 25934 from chain.
Reaping losing child 0x10bf6f0 PID 25373 
Makefile:112: recipe for target '_all' failed
make[1]: *** [_all] Error 2
Removing child 0x10bf6f0 PID 25373 from chain.
make[1]: Leaving directory '/home/yieux/Project/optee/busybox'
Reaping losing child 0x21f7850 PID 25351 
common.mk:134: recipe for target 'busybox-common' failed
make: *** [busybox-common] Error 2

1)The line 79 of generate-cpio-rootfs.sh

case $1 in
    "vexpress")
        CFLAGS=${CFLAGS-"-Wno-strict-aliasing -Wno-unused-result -marm -mabi=aapcs-linux -mthumb -mthumb-interwork -mcpu=cortex-a15"}

It looks like that the options such as mthumb is supported by only arm(aarch32) not arm64(aarch64).

, how can I do this job for different processor, or what I did wrong?

If someone could help me with this issue I would be very thankful.

HiKey: build fails with the latest changes in the grub master

With the latest changes in the master branch in git://git.savannah.gnu.org, which we are using by default in hikey.xml HiKey build fails. Latest stable revision (tag 2.02) is built successfully.

Error message:

./grub-mkimage: info: locating grub_file_get_device_name at 0x72e0 (0x400).
./grub-mkimage: info: locating grub_efi_print_device_path at 0x28cc (0x400).
./grub-mkimage: info: locating grub_partition_iterate at 0x9d50 (0x400).
./grub-mkimage: info: locating grub_boot_time_head at 0x19418 (0xd5a8).
./grub-mkimage: info: locating grub_vsnprintf at 0x93e0 (0x400).
./grub-mkimage: error: undefined symbol grub_arch_sync_dma_caches.
Makefile:274: recipe for target 'grub' failed

I suppose this commit causes this issue, but not sure (I didn't run git bisect)

MAINTAINERS.md is missing

I wants to build OP-TEE for NXP i.MX7Dual SabreSD Board but there is no any manifest for this board also,MAINTAINERS.md is missing. Can anyone help me?

hikey.xml repo sync

Hello,

Recently got some HiKey boards that I am interested to run this on.
Created a new directory to host the hikey.xml configuration and when I run repo sync I get the following:

Fetching project l-loader
Fetching projects:   5% (1/17)  Fetching project build
Fetching projects:  11% (2/17)  Fetching project optee_os
Fetching projects:  17% (3/17)  Fetching project optee_test
Fetching projects:  23% (4/17)  Fetching project patches_hikey
Fetching projects:  29% (5/17)  Fetching project burn-boot
Fetching projects:  35% (6/17)  Fetching project linux
Fetching projects:  41% (7/17)  Fetching project code
Fetching projects:  47% (8/17)  Fetching project sha-perf
Fetching projects:  52% (9/17)  Fetching project edk2
Fetching projects:  58% (10/17)  Fetching project optee_client
Fetching projects:  64% (11/17)  Fetching project busybox
Fetching projects:  70% (12/17)  Fetching project gen_rootfs
Fetching projects:  76% (13/17)  Fetching project aes-perf
Fetching projects:  82% (14/17)  Fetching project grub
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: Cannot fetch grub

error: Exited sync due to fetch errors

This error does not occur for hikey_stable.xml but I also can't that to build because of the following error:

make[1]: Leaving directory '/home/user/devel/TEE/optee/hikeyStable/optee_os'
set -e && cd /home/user/devel/TEE/optee/hikeyStable/build/../edk2 && bash edksetup.sh && \
make -j1 -C /home/user/devel/TEE/optee/hikeyStable/build/../edk2/BaseTools
BaseTools not found in your tree, and EDK_TOOLS_PATH is not set.
Please check that WORKSPACE is not set incorrectly in your
shell, or point EDK_TOOLS_PATH at the directory that contains
the EDK2 BuildEnv script.
common.mk:99: recipe for target '/Conf/target.txt' failed
make: *** [/Conf/target.txt] Error 1

Anyone have any ideas?

RPi3 wrong default uboot env

In the default uboot env, there are two similar vars for storing address, where fdt have to be loaded: fdt_addr_r and fdt_adddr_r (seems it's a spelling mistake).
In case if someone tries to setup TFTP/NFS boot (described in this manual) and follow step by step (where fdt_addr_r value is used) he won't receive a workable solution.

Any place to download a stable version?

Any place to download a stable version for the whole system?

When I check out from this repo to build, lots of files under "edk2/BaseTools/Source/C/VfrCompile/Pccts/" use the wrong header path. It is painful to fix them one by one.

OP-TEE build failure for HiKey board

Hi,
I have encountered an error during OP-TEE build (for HiKey debian)

After "#make all run" command in "7.5 Build the solution" section (https://github.com/OP-TEE/build),
i got the message below.

< build log >
...
...
...
make[3]: Entering directory '/root/devel/optee/optee_test/ta/socket'
CC /root/devel/optee/build/../optee_test/out/ta/socket/ta_entry.o
CC /root/devel/optee/build/../optee_test/out/ta/socket/user_ta_header.o
CPP /root/devel/optee/build/../optee_test/out/ta/socket/ta.lds
LD /root/devel/optee/build/../optee_test/out/ta/socket/873bcd08-c2c3-11e6-a937-d0bf9c45c61c.elf
OBJDUMP /root/devel/optee/build/../optee_test/out/ta/socket/873bcd08-c2c3-11e6-a937-d0bf9c45c61c.dmp
OBJCOPY /root/devel/optee/build/../optee_test/out/ta/socket/873bcd08-c2c3-11e6-a937-d0bf9c45c61c.stripped.elf
SIGN /root/devel/optee/build/../optee_test/out/ta/socket/873bcd08-c2c3-11e6-a937-d0bf9c45c61c.ta
make[3]: Leaving directory '/root/devel/optee/optee_test/ta/socket'
make[2]: Leaving directory '/root/devel/optee/optee_test/ta'
make[1]: Leaving directory '/root/devel/optee/optee_test'
make -C /root/devel/optee/build/../hello_world HOST_CROSS_COMPILE="/usr/bin/ccache /root/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-" TA_CROSS_COMPILE="/usr/bin/ccache /root/devel/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-" TA_DEV_KIT_DIR=/root/devel/optee/build/../optee_os/out/arm/export-ta_arm32 TEEC_EXPORT=/root/devel/optee/build/../optee_client/out/export
make[1]: Entering directory '/root/devel/optee/hello_world'
make -C host CROSS_COMPILE="/usr/bin/ccache /root/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-"
make[2]: Entering directory '/root/devel/optee/hello_world/host'
/usr/bin/ccache /root/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-gcc -Wall -I../ta/include -I/root/devel/optee/build/../optee_client/out/export/include -I./include -c -o main.o main.c
/usr/bin/ccache /root/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-gcc -lteec -L/root/devel/optee/build/../optee_client/out/export/lib -o hello_world main.o
make[2]: Leaving directory '/root/devel/optee/hello_world/host'
make -C ta CROSS_COMPILE="/usr/bin/ccache /root/devel/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-"
make[2]: Entering directory '/root/devel/optee/hello_world/ta'
CC hello_world_ta.o
CC user_ta_header.o
CPP ta.lds
LD 8aaaf200-2450-11e4-abe2-0002a5d5c51b.elf
OBJDUMP 8aaaf200-2450-11e4-abe2-0002a5d5c51b.dmp
OBJCOPY 8aaaf200-2450-11e4-abe2-0002a5d5c51b.stripped.elf
SIGN 8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta
make[2]: Leaving directory '/root/devel/optee/hello_world/ta'
make[1]: Leaving directory '/root/devel/optee/hello_world'
dpkg-deb: building package 'op-tee' in 'optee_2.3-0.deb'.
make: *** No rule to make target 'run'. Stop.
root@kbs0903-VirtualBox:~/devel/optee/build#

Does anyone know how to fix this problem?
Thanks.

aarch64-linux-gnu-gcc cannot execute binary file: Exec format error

Hi everybody,

I've been trying to get the OP-TEE working on a Raspberry 3 following every instructions from the prerequisites, but i keep getting this error at the step 7.5 Build the solution. I tried different OS, 32 and 64 bits, but i keep getting this error, even if all the step before went perfectly. Here is the full log :

make -C /home/pi/devel/optee/build/../optee_os O=out/arm CFG_ARM64_core=y CROSS_COMPILE=" /home/pi/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-" CROSS_COMPILE_core=" /home/pi/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-" CROSS_COMPILE_ta_arm64=/home/pi/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu- CROSS_COMPILE_ta_arm32=/home/pi/devel/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf- CFG_TEE_CORE_LOG_LEVEL=3 DEBUG=0 CFG_TEE_BENCHMARK=n PLATFORM=rpi3
make[1]: Entering directory '/home/pi/devel/optee/optee_os'
CHK out/arm/conf.mk
CHK out/arm/include/generated/conf.h
/bin/bash: /home/pi/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-gcc: cannot execute binary file: Exec format error
mk/compile.mk:228: recipe for target 'out/arm/core/include/generated/.asm-defines.s' failed
make[1]: *** [out/arm/core/include/generated/.asm-defines.s] Error 126
make[1]: Leaving directory '/home/pi/devel/optee/optee_os'
common.mk:306: recipe for target 'optee-os-common' failed
make: *** [optee-os-common] Error 2

Any idea what i might be doing wrong ?

Not booting

All right, I'm following the following tutorial https://blog.crysys.hu/2018/06/op-tee-default-build-and-installation-on-the-raspberry-pi/ and I'm stuck when booting the board: it's stuck on the rainbow screen and I got nothing on the UART (correctly wired as per your instructions). I'm using a working 3.3V dongle.

Here are the steps I followed (make img-help), as root:
`
fdisk /dev/sdx # where sdx is the name of your sd-card

p # prints partition table
d # repeat until all partitions are deleted
n # create a new partition
p # create primary
1 # make it the first partition
# use the default sector
+32M # create a boot partition with 32MB of space
n # create rootfs partition
p
2

# fill the remaining disk, adjust size to fit your needs
t # change partition type
1 # select first partition
e # use type 'e' (FAT16)
a # make partition bootable
1 # select first partition
p # double check everything looks right
w # write partition table to disk.

mkfs.vfat -F16 -n BOOT /dev/sdb1
mkdir -p /media/boot
mount /dev/sdb1 /media/boot
cd /media
gunzip -cd /root/devel/optee/build/../out-br/images/rootfs.cpio.gz | cpio -idmv "boot/*"
umount boot

mkfs.ext4 -L rootfs /dev/sdb2
mkdir -p /media/rootfs
mount /dev/sdb2 /media/rootfs
cd rootfs
gunzip -cd /root/devel/optee/build/../out-br/images/rootfs.cpio.gz | cpio -idmv
rm -rf /media/rootfs/boot/*
cd .. && umount rootfs

`

Things I checked:

`
fdisk /dev/sdb
p

Disk /dev/sdb: 14.7 GiB, 15816720384 bytes, 30892032 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbbd9b29d

Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 67583 65536 32M e W95 FAT16 (LBA)
/dev/sdb2 67584 30892031 30824448 14.7G 83 Linux

mount /dev/sdb1 /media/boot
ls -lh /media/boot
total 23M
-rwxr-xr-x 1 root root 14K Jul 1 16:29 bcm2710-rpi-3-b.dtb
-rwxr-xr-x 1 root root 50K Jul 1 15:30 bootcode.bin
-rwxr-xr-x 1 root root 181 Jul 1 15:30 config.txt
-rwxr-xr-x 1 root root 19K Jul 1 15:30 COPYING.linux
-rwxr-xr-x 1 root root 2.5K Jul 1 15:30 fixup_cd.dat
-rwxr-xr-x 1 root root 6.5K Jul 1 15:30 fixup.dat
-rwxr-xr-x 1 root root 9.6K Jul 1 15:30 fixup_db.dat
-rwxr-xr-x 1 root root 9.6K Jul 1 15:30 fixup_x.dat
-rwxr-xr-x 1 root root 9.8M Jul 1 17:08 Image
-rwxr-xr-x 1 root root 1.5K Jul 1 15:30 LICENCE.broadcom
-rwxr-xr-x 1 root root 410K Jul 3 10:46 optee.bin
-rwxr-xr-x 1 root root 627K Jul 1 15:30 start_cd.elf
-rwxr-xr-x 1 root root 4.8M Jul 1 15:30 start_db.elf
-rwxr-xr-x 1 root root 2.8M Jul 1 15:30 start.elf
-rwxr-xr-x 1 root root 3.8M Jul 1 15:30 start_x.elf
-rwxr-xr-x 1 root root 16K Jul 3 10:47 uboot.env
-rwxr-xr-x 1 root root 367K Jul 3 10:47 u-boot-rpi.bin

mount /dev/sdb2 /media/rootfs
ls -lh /media/rootfs
total 84K
drwxr-xr-x 2 root root 4.0K Jul 3 10:48 bin
drwxr-xr-x 2 root root 4.0K Jul 3 10:48 boot
drwxr-xr-x 4 root root 4.0K Jul 3 10:48 dev
drwxr-xr-x 6 root root 4.0K Jul 3 10:48 etc
-rwxr-xr-x 1 root root 178 Jul 3 10:48 init
drwxr-xr-x 5 root root 4.0K Jul 3 10:48 lib
lrwxrwxrwx 1 root root 3 Jul 3 11:11 lib64 -> lib
lrwxrwxrwx 1 root root 11 Jul 3 11:11 linuxrc -> bin/busybox
drwx------ 2 root root 16K Jul 3 11:11 lost+found
drwxr-xr-x 2 root root 4.0K Jul 1 15:30 media
drwxr-xr-x 2 root root 4.0K Jul 1 15:30 mnt
drwxr-xr-x 2 root root 4.0K Jul 1 15:30 opt
drwxr-xr-x 2 root root 4.0K Jul 1 15:30 proc
drwx------ 2 root root 4.0K Jul 1 15:30 root
drwxr-xr-x 2 root root 4.0K Jul 1 15:30 run
drwxr-xr-x 2 root root 4.0K Jul 1 17:16 sbin
drwxr-xr-x 2 root root 4.0K Jul 1 15:30 sys
drwxrwxrwt 2 root root 4.0K Jul 1 15:30 tmp
drwxr-xr-x 6 root root 4.0K Jul 3 10:48 usr
drwxr-xr-x 4 root root 4.0K Jul 3 10:48 var

ls -lh /media/rootfs/boot/
total 0
`

make stdout https://pastebin.com/ru7Cq7kK
make stderr https://pastebin.com/dJSJu2rq

Building on Debian

Any help greatly appreciated!

"repo sync" gives git working space in state "* (no branch)"

Being a bit inexperienced git user, I get always tripped over with this? Is there some reason for this? Now I try to cope by doing "git branch master", "git checkout master", but still manage to get things messed up very often.

I would like, that when I dowload "rpi.xml", it would give the build/linux/etc. gits in branch selected state, and it would be nice if plain "git pull" would work, when I need the updates.

Or, do you have a "recipe" for working with these gits, when you have local mods for them?

qemu.mk should wait for soc_term instances to start listening, not just sleep for a second

If you run "make run-only" for qemu.mk on a system with a slow X11 connection (for instance, remote X11 over ADSL), then the 1 second delay between starting the xterms and starting QEMU may be insufficient for the xterm to actually start and launch the soc_term to listen on the TCP port. If this happens then QEMU will not start, complaining:

qemu-system-arm: -serial tcp:localhost:54320: Failed to connect socket: Connection refused
qemu: could not connect serial device to character backend 'tcp:localhost:54320'

This can be fixed by waiting for the TCP sockets to have something listening on them instead of just sleeping for a fixed delay.

The following patch will do that (I would just attach it to this issue, but apparently github doesn't let you do that, which seems insane for a bug tracking system):

From ac9391d912bfe429e37e181b8f094f7aaf1a9442 Mon Sep 17 00:00:00 2001
From: Peter Maydell <[email protected]>
Date: Thu, 29 Oct 2015 16:31:52 +0000
Subject: [PATCH] qemu.mk: Wait for terminals to be started before running QEMU

At the moment we start several terminals, and then sleep for a second
before running a QEMU instance which will connect to processes run
in those terminals. This will fail if the terminals are displayed on
a slow remote X11 connection, because the terminals won't have
completed startup before the one second delay elapses.

Replace the delay with a loop that checks whether there's anything
listening on the relevant TCP ports yet.

Signed-off-by: Peter Maydell <[email protected]>

---
 qemu.mk | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/qemu.mk b/qemu.mk
index 0593c64..534e65b 100644
--- a/qemu.mk
+++ b/qemu.mk
@@ -196,6 +196,10 @@ define launch-terminal
        xterm -title $(2) -e $(BASH) -c "$(SOC_TERM_PATH)/soc_term $(1)" &
 endef

+define wait-for-ports
+       @while ! nc -z 127.0.0.1 $(1) || ! nc -z 127.0.0.1 $(2); do sleep 1; done
+endef
+
 .PHONY: run
 # This target enforces updating root fs etc
 run: all
@@ -206,7 +210,7 @@ run-only:
        $(call run-help)
        $(call launch-terminal,54320,"Normal World")
        $(call launch-terminal,54321,"Secure World")
-       @sleep 1
+       $(call wait-for-ports,54320,54321)
        $(QEMU_PATH)/arm-softmmu/qemu-system-arm \
                -nographic \
                -serial tcp:localhost:54320 -serial tcp:localhost:54321 \
-- 
1.9.1

'make run' for QEMU config hangs after starting the first terminal window

If I do a 'make run' (or 'make run-only') for the QEMU config, following the instructions in https://github.com/OP-TEE/optee_os, then this hangs after starting the first terminal window.

This seems to be because the makefile process does (more or less)
gnome_terminal
gnome_terminal
qemu

and since the gnome_terminal execution isn't backgrounded then we never continue past starting the first terminal window. Adding an '&' to the definiton of the launch-terminal function fixes this for me:

diff --git a/qemu.mk b/qemu.mk
index d278895..3754554 100644
--- a/qemu.mk
+++ b/qemu.mk
@@ -193,7 +193,7 @@ endef

 define launch-terminal
        @nc -z  127.0.0.1 $(1) || \
-       gnome-terminal -e "$(BASH) -c '$(SOC_TERM_PATH)/soc_term $(1); exec /bin/bash -i'" --title=$(2)
+       gnome-terminal -e "$(BASH) -c '$(SOC_TERM_PATH)/soc_term $(1); exec /bin/bash -i'" --title=$(2) &
 endef

 .PHONY: run

"make toolchains" downloads 64bit tools even for 32bit Ubuntu build machine

Next steps were successfully executed:

7.4 Get the toolchains

In OP-TEE we're using different toolchains for different targets (depends on
ARMv7-A ARMv8-A 64/32bit solutions). In any case start by downloading the
toolchains by:

$ cd build
$ make toolchains

but when after that we're trying to build the solution:

7.5 Build the solution

We've configured our repo manifests, so that repo will always automatically
symlink the Makefile to the correct device specific makefile, that means that
you simply start the build by running:

$ make

process fails, because downloaded tools (like compiler) are for 64bit build platform.

P.S. It fails with following message:

"/bin/bash: /home/user/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-gcc: cannot execute binary file".

Additional info:

$ readelf -h /home/user/devel/optee/build/../toolchains/aarch64/bin/aarch64-linux-gnu-gcc
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x40385e
Start of program headers: 64 (bytes into file)
Start of section headers: 926032 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 10
Size of section headers: 64 (bytes)
Number of section headers: 30
Section header string table index: 29

$ uname -m
i686

Is there any UUID for the cpu ?

Hello guys,

I've been asking myself and couldn't find so far any answer. Is there any UUID written on the CPU for example to diferentiate two RPi ?
I've already tried "cat /proc/cpuinfo", but there is no Serial number on this file.

Juno.mk: BusyBox target

When I was checking the juno.mk file I saw there was these lines for BusyBox:

BUSYBOX_COMMON_TARGET = fvp
BUSYBOX_CLEAN_COMMON_TARGET = fvp clean

As juno is an Versatile Express board I was wondering if I should change to:

BUSYBOX_COMMON_TARGET = vexpress
BUSYBOX_CLEAN_COMMON_TARGET = vexpress clean

I had this doubt because when I saw the content of generate-cpio-rootfs.sh script the were some flags that I didn't know if could generate some problems or not:

CFLAGS=${CFLAGS-"-Wno-strict-aliasing -Wno-unused-result -marm -mabi=aapcs-linux -mthumb -mthumb-interwork -mcpu=cortex-a15"}

Note: I am using juno-r2 model and have already OP-TEE working correctly.

If someone could help me with this issue I would be very thankful.

Make flash not available (RPI3)

Has this been removed? What is the correct way to make an sd card image for a raspberry pi 3?

make: *** No rule to make target 'flash'.  Stop.

Cannot get Linux source when doing repo sync for the Raspberry Pi3 setup

Hello, I am trying to build OP-TEE following the isntructions provided for raspberry pi 3.
Whenever i repo sync i get the following:

Fetching project linux.git
Fetching projects: 100% (1/1), done.  
error: unable to create file drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c (Invalid argument)
error: unable to create file drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.h (Invalid argument)
Checking out files: 100% (54166/54166), done.
Traceback (most recent call last):
  File "/media/Gniar/devel/optee-ref/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/media/Gniar/devel/optee-ref/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/media/Gniar/devel/optee-ref/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/media/Gniar/devel/optee-ref/.repo/repo/subcmds/sync.py", line 821, in Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "/media/Gniar/devel/optee-ref/.repo/repo/project.py", line 1327, in Sync_LocalHalf
    self._InitWorkTree(force_sync=force_sync)
  File "/media/Gniar/devel/optee-ref/.repo/repo/project.py", line 2486, in _InitWorkTree
    raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree

Also, in the linux directory, there is no git initialized, in contrast with the other directories.

Status of 'electron752-rpi3-4.8-optee' branch?

I wanted to use a newer kernel and noticed rpi3-4.8-optee branch. I checked out, and it seems to build, but something does not seem be quite right

[   43.519351] console [ttyS0] enabled
[   43.582090] of_cfs_init
[   43.624720] of_cfs_init: OK
[   43.745019] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[   43.886243] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
[   44.303650] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[   44.436369] VFS: Mounted root (ext4 filesystem) on device 179:2.
[   44.588474] devtmpfs: mounted
[   44.654420] Freeing unused kernel memory: 832K (ffffffc000820000 - ffffffc0008f0000)

...and tftp/nfs boot crashes

[   43.906105] console [ttyS0] enabled
[   43.968838] of_cfs_init
[   44.011440] of_cfs_init: OK
[  155.149657] VFS: Unable to mount root fs via NFS, trying floppy.
[  155.249703] List of all partitions:
[  155.307025] 0100            4096 ram0  (driver?)
[  155.382591] 0101            4096 ram1  (driver?)
[  155.458176] 0102            4096 ram2  (driver?)
[  155.533660] 0103            4096 ram3  (driver?)
[  155.609060] 0104            4096 ram4  (driver?)
[  155.684529] 0105            4096 ram5  (driver?)
[  155.760380] 0106            4096 ram6  (driver?)
[  155.835840] 0107            4096 ram7  (driver?)
[  155.911273] 0108            4096 ram8  (driver?)
[  155.986943] 0109            4096 ram9  (driver?)
[  156.062522] 010a            4096 ram10  (driver?)
[  156.139407] 010b            4096 ram11  (driver?)
[  156.216278] 010c            4096 ram12  (driver?)
[  156.293173] 010d            4096 ram13  (driver?)
[  156.370141] 010e            4096 ram14  (driver?)
[  156.446986] 010f            4096 ram15  (driver?)
[  156.523978] b300         7761920 mmcblk0  driver: mmcblk
[  156.611015]   b301           32768 mmcblk0p1 000f3789-01
[  156.697788]   b302         7728128 mmcblk0p2 000f3789-02
[  156.784435] No filesystem could mount root, tried:  nfs
[  156.869985] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[  157.004190] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.8.15-v8 #17
[  157.105863] Hardware name: Raspberry Pi 3 Model B (DT)
[  157.189194] Call trace:
[  157.229033] [<ffffff80080899b0>] dump_backtrace+0x0/0x1d8
[  157.316697] [<ffffff8008089bac>] show_stack+0x24/0x30
[  157.398709] [<ffffff80083d992c>] dump_stack+0xa4/0xe0
[  157.480715] [<ffffff80081833cc>] panic+0x104/0x244
[  157.558515] [<ffffff8008821208>] mount_block_root+0x20c/0x258
[  157.651790] [<ffffff8008821490>] mount_root+0x11c/0x134
[  157.736604] [<ffffff8008821618>] prepare_namespace+0x170/0x1b8
[  157.831288] [<ffffff8008820dbc>] kernel_init_freeable+0x244/0x268
[  157.930250] [<ffffff800867fff0>] kernel_init+0x18/0x108
[  158.015058] [<ffffff8008083680>] ret_from_fork+0x10/0x50
[  158.101210] SMP: stopping secondary CPUs
[  158.164915] Kernel Offset: disabled
[  158.221435] Memory Limit: none
[  158.271024] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

Any ideas what to fix to get this working? For NFS I'm trying to use fixed ip in the boot params (this worked just fine with the older electron branch).

OP-TEE with Android on RPI3

Hello,
I have a question about running Android with OP-TEE on Raspberry Pi 3. I heard that OP-TEE supports both 32 bit and 64 bit, but it seems that OP-TEE for RPI3 only supports 64 bit. Running 32 bit OS would make me simple because of drivers, and so on. Is there any Android code like Hikey? How can I run Android with OP-TEE for RPI3? Could you give me any advice?

Thanks,
D

qemu build not working

I am trying to build a fresh checkout for qemu but it fails with this error:

/home/user/devel/optee/toolchains/aarch32/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/libgcc.a(_dvmd_lnx.o): In function `__aeabi_idiv0':

/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/snapshots/gcc-linaro-6.2-2016.11/libgcc/config/arm/lib1funcs.S:1359: undefined reference to `raise'

bios/link.mk:36: recipe for target '/home/user/devel/optee/build/../out/bios-qemu/bios.elf' failed

How do I fix this?

Is it possible to build the RPI3 OP-TEE version as 32 bit?

So, I'm using the RPI3 for a crypto demo with ARM TZ temporarily, while I get some issues resolved with a couple of Cortex A-9 platforms that I want to use long term. In addition to using the RPI3 for a demo, I want to use the implementation as a stable comparison point to assist in debugging the other platforms (yeah, I know there are differences).

Both of my other platforms are v7 arch...and support only 32 bit builds. If possible, I'd like to build the RPI3 port as 32 bit as well. It will make comparison much easier. Is this possible? I took a stab at changing the 4 overrides at the top of the top level makefile from 64 to 32, but that just called the build to barf.

So, if it is supported, what steps must I follow in order to build a 32 bit version of both secure and non-secure SW? Is this documented anywhere?

Thanks,
Dave

Building examples

Hi all,

Currently trying to build the optee examples. I followed the build instructions and I'm able to run xtests. How are you supposed to build these examples ?

cd ~/devel/optee/build
make optee-examples-common CROSS_COMPILE=/root/devel/optee/toolchains/aarch64/bin/aarch64-linux-gnu-
make: *** No rule to make target 'optee-client', needed by 'optee-examples-common'. Stop.

Build for Qemu: busybox.net Connection timed out

I'm trying to build for qemu, but I have this problem on the repo command

$ repo init -u https://github.com/OP-TEE/manifest.git -m default_stable.xml
$ repo sync
Fetching project gen_rootfs.git
Fetching projects:   7% (1/13)  Fetching project optee_client.git
Fetching projects:  15% (2/13)  Fetching project optee_benchmark.git
Fetching projects:  23% (3/13)  Fetching project optee_os.git
remote: Counting objects: 7, done.        
remote: Total 7 (delta 5), reused 7 (delta 5), pack-reused 0        
From https://github.com/OP-TEE/optee_os
   b6449075..e4a1f581  master     -> optee/master
Fetching projects:  30% (4/13)  Fetching project soc_term.git
Fetching projects:  38% (5/13)  Fetching project hello_world.git
Fetching projects:  46% (6/13)  Fetching project build.git
remote: Counting objects: 3, done.        
remote: Compressing objects: 100% (1/1), done.        
remote: Total 3 (delta 2), reused 3 (delta 2), pack-reused 0        
From https://github.com/OP-TEE/build
   034c3cd..908c823  master     -> optee/master
Fetching projects:  53% (7/13)  Fetching project optee_test.git
Fetching projects:  61% (8/13)  Fetching project busybox.git
fatal: unable to connect to busybox.net:
busybox.net[0: 140.211.167.122]: errno=Connection timed out

fatal: unable to connect to busybox.net:
busybox.net[0: 140.211.167.122]: errno=Connection timed out

error: Cannot fetch busybox.git

error: Exited sync due to fetch errors``

Trying to debug TA application with Raspberry 3B

Hi everybody, I have a Raspberry 3b working well with OP-TEE via U-Boot and NFS, and xtest is working fine on it. I tried also the Hello World example (https://github.com/linaro-swg/optee_examples/tree/master/hello_world), which also works fine. The only thing is I'm trying to get the DMSG on a terminal, on my computer for example. Do I need a UART cable ? Or maybe can I do it via the NFS or TFTP server ? I don't really understand the 6 section (https://github.com/OP-TEE/build/blob/master/docs/rpi3.md#5-nfs-boot)

Error while building optee - {arm-linux-gnueabihf-gcc failed: Exec format error .}

I am trying to run optee using qemu.
I have followed exactly the same steps as mentioned in Readme.md.
But i am getting the following errors while building .
Could you please give me hint to build it properly ?

make -C /home/KELA/Desktop/projects/optee/build/../linux LOCALVERSION= CROSS_COMPILE="/usr/bin/ccache /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-" ARCH=arm
make[1]: Entering directory '/home/KELA/Desktop/projects/optee/linux'
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
scripts/kconfig/conf --silentoldconfig Kconfig
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
CHK include/config/kernel.release
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
CHK include/generated/uapi/linux/version.h
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
CHK include/generated/utsrelease.h
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
GEN include/generated/mach-types.h
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
CC kernel/bounds.s
ccache: error: execv of /home/KELA/Desktop/projects/optee/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
Kbuild:45: recipe for target 'kernel/bounds.s' failed
make[2]: *** [kernel/bounds.s] Error 1
Makefile:1033: recipe for target 'prepare0' failed
make[1]: *** [prepare0] Error 2
make[1]: Leaving directory '/home/KELA/Desktop/projects/optee/linux'
common.mk:159: recipe for target 'linux-common' failed
make: *** [linux-common] Error 2

No message from TA with Raspberry PI

Hi guys,
I am trying to debug my own TA, but I doesn't see the DMGS, EMSG, IMSG and FMSG from TA. I have a Raspberry PI 3 working well with OP-TEE. Xtest and all the example run well, but I never see the message from TA. I try to use a UART to TTL to see the information from the TA(like this example #225 ), it doesn't work. Could you help me to resolve it ?

Invalid packages

The readme states the build is done using Ubuntu but references invalid packages. The following should be used instead:

apt-get install libc6-dev-i386 libstdc++6 libz1

Instructions for running OPTEE on a board

Hi,

I'm a newbie so excuse me if it is too basic. I've succeeded running my code on QEMU and now want to run it on a real Xilinx 7000 board. Can anyone provide some details on the steps of this process?

Thanks a lot!

Correct output for hikey debian dpkg install

I've built and flashed OP-TEE 2.5.0 on a Linaro Hikey 2GB board. I've copied over the .deb files (optee_2.5.0-0.deb and linux-image-4.9.0-optee-rpb_4.9.0-optee-rpb-8_amd64.deb) and then I run dpkg --force-all -i optee_2.5.0-0.deb and dpkg --force-all -i linux-image-4.9.0-optee-rpb_4.9.0-optee-rpb-8_amd64.deb.

This is the output I get for optee:

Selecting previously unselected package op-tee.
(Reading database ... 62583 files and directories currently installed.)
Preparing to unpack optee_2.5.0-0.deb ...
Unpacking op-tee (2.5.0-0) ...
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: trying to overwrite '/usr/lib/aarch64-linux-gnu/libteec.so.1.0', which is also in package1
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: trying to overwrite '/usr/lib/aarch64-linux-gnu/libteec.so.1', which is also in package l1
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: trying to overwrite '/usr/bin/tee-supplicant', which is also in package tee-supplicant 2.1
Setting up op-tee (2.5.0-0) ...

This is the output I get for the linux-image:

dpkg: warning: overriding problem because --force enabled:
dpkg: warning: package architecture (amd64) does not match system (arm64)
Selecting previously unselected package linux-image-4.9.0-optee-rpb.
(Reading database ... 62601 files and directories currently installed.)
Preparing to unpack linux-image-4.9.0-optee-rpb_4.9.0-optee-rpb-8_amd64.deb ...
Unpacking linux-image-4.9.0-optee-rpb (4.9.0-optee-rpb-8) ...
Setting up linux-image-4.9.0-optee-rpb (4.9.0-optee-rpb-8) ...
update-initramfs: Generating /boot/initrd.img-4.9.0-optee-rpb
Copying hi6220-hikey.dtb as /boot/hi6220-hikey.dtb-4.9.0-optee-rpb
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.9.0-optee-rpb
Found initrd image: /boot/initrd.img-4.9.0-optee-rpb
Found devicetree image: /boot/hi6220-hikey.dtb-4.9.0-optee-rpb
Found linux image: /boot/vmlinuz-4.4.0-135-arm64
Found initrd image: /boot/initrd.img-4.4.0-135-arm64
Found devicetree image: /boot/hi6220-hikey.dtb-4.4.0-135-arm64
[  588.215649] FAT-fs (mmcblk0p1): bogus number of reserved sectors
[  588.232546] EXT4-fs (mmcblk0p1): VFS: Can't find ext4 filesystem
[  588.244055] EXT4-fs (mmcblk0p1): VFS: Can't find ext4 filesystem
[  588.255728] EXT4-fs (mmcblk0p1): VFS: Can't find ext4 filesystem
[  588.279353] FAT-fs (mmcblk0p1): bogus number of reserved sectors
[  588.294811] ntfs: (device mmcblk0p1): read_ntfs_boot_sector(): Primary boot sector is invalid.
[  588.303405] ntfs: (device mmcblk0p1): read_ntfs_boot_sector(): Mount option errors=recover not used. .
[  588.315627] ntfs: (device mmcblk0p1): ntfs_fill_super(): Not an NTFS volume.
[  588.413527] FAT-fs (mmcblk0p2): bogus number of reserved sectors
[  588.430380] EXT4-fs (mmcblk0p2): VFS: Can't find ext4 filesystem
[  588.441835] EXT4-fs (mmcblk0p2): VFS: Can't find ext4 filesystem
[  588.453328] EXT4-fs (mmcblk0p2): VFS: Can't find ext4 filesystem
[  588.477019] FAT-fs (mmcblk0p2): bogus number of reserved sectors
[  588.488393] ntfs: (device mmcblk0p2): read_ntfs_boot_sector(): Primary boot sector is invalid.
[  588.497005] ntfs: (device mmcblk0p2): read_ntfs_boot_sector(): Mount option errors=recover not used. .
[  588.509200] ntfs: (device mmcblk0p2): ntfs_fill_super(): Not an NTFS volume.
[  588.605170] FAT-fs (mmcblk0p3): bogus number of reserved sectors
[  588.622174] EXT4-fs (mmcblk0p3): VFS: Can't find ext4 filesystem
[  588.633627] EXT4-fs (mmcblk0p3): VFS: Can't find ext4 filesystem
[  588.645091] EXT4-fs (mmcblk0p3): VFS: Can't find ext4 filesystem
[  588.668689] FAT-fs (mmcblk0p3): bogus number of reserved sectors
[  588.680054] ntfs: (device mmcblk0p3): read_ntfs_boot_sector(): Primary boot sector is invalid.
[  588.688580] ntfs: (device mmcblk0p3): read_ntfs_boot_sector(): Mount option errors=recover not used. .
[  588.700901] ntfs: (device mmcblk0p3): ntfs_fill_super(): Not an NTFS volume.
[  588.801464] FAT-fs (mmcblk0p4): bogus number of reserved sectors
[  588.818755] EXT4-fs (mmcblk0p4): VFS: Can't find ext4 filesystem
[  588.830474] EXT4-fs (mmcblk0p4): VFS: Can't find ext4 filesystem
[  588.842116] EXT4-fs (mmcblk0p4): VFS: Can't find ext4 filesystem
[  588.866028] FAT-fs (mmcblk0p4): bogus number of reserved sectors
[  588.967981] FAT-fs (mmcblk0p5): bogus number of reserved sectors
[  588.985052] EXT4-fs (mmcblk0p5): VFS: Can't find ext4 filesystem
[  588.996689] EXT4-fs (mmcblk0p5): VFS: Can't find ext4 filesystem
[  589.008284] EXT4-fs (mmcblk0p5): VFS: Can't find ext4 filesystem
[  589.032219] FAT-fs (mmcblk0p5): bogus number of reserved sectors
[  589.231501] FAT-fs (mmcblk0p7): bogus number of reserved sectors
[  589.248411] EXT4-fs (mmcblk0p7): VFS: Can't find ext4 filesystem
[  589.259853] EXT4-fs (mmcblk0p7): VFS: Can't find ext4 filesystem
[  589.271464] EXT4-fs (mmcblk0p7): VFS: Can't find ext4 filesystem
[  589.294928] FAT-fs (mmcblk0p7): bogus number of reserved sectors
[  589.436210] FAT-fs (mmcblk0p8): bogus number of reserved sectors
[  589.453274] EXT4-fs (mmcblk0p8): VFS: Can't find ext4 filesystem
[  589.464771] EXT4-fs (mmcblk0p8): VFS: Can't find ext4 filesystem
[  589.476201] EXT4-fs (mmcblk0p8): VFS: Can't find ext4 filesystem
[  589.499814] FAT-fs (mmcblk0p8): bogus number of reserved sectors
done

This doesn't seem like the correct output to me. Where could I be going wrong in the build process?

Broken system_img link hikey_debian.mk

The system_img url no longer works for hikey_debian. I get this error:

--2018-03-06 17:12:02--  http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/hikey-rootfs-debian-jessie-alip-20160629-120.emmc.img.gz
Resolving builds.96boards.org (builds.96boards.org)... 54.196.141.104
Connecting to builds.96boards.org (builds.96boards.org)|54.196.141.104|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://releases.linaro.org/96boards//reference-platform/debian/hikey/16.06/hikey-rootfs-debian-jessie-alip-20160629-120.emmc.img.gz [following]
--2018-03-06 17:12:02--  https://releases.linaro.org/96boards//reference-platform/debian/hikey/16.06/hikey-rootfs-debian-jessie-alip-20160629-120.emmc.img.gz
Resolving releases.linaro.org (releases.linaro.org)... 52.77.230.32
Connecting to releases.linaro.org (releases.linaro.org)|52.77.230.32|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-03-06 17:12:04 ERROR 404: Not Found.

SYSTEM_IMG_URL=https://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/hikey-rootfs-debian-jessie-alip-20160629-120.emmc.img.gz

What should this point to now? The latest on the releases.linaro.org (builds.96boards.org redirects there), is 15.11.

Stuck in xtest

When running xtest on a RPi 3 B, it gets stuck at "regression_1004 Test User Crypt TA"

Is it a known issue ?

RFC: Bug in *_CLEAN_COMMON_FLAGS?

Hi,

In common.mk:
LINUX_CLEAN_COMMON_FLAGS ?= $(LINUX_COMMON_FLAGS)

In hikey.mk:
LINUX_COMMON_FLAGS += ARCH=arm64 Image modules dtbs
LINUX_CLEAN_COMMON_FLAGS += ARCH=arm64

> make linux-clean
rm -f /home/devel/optee/repo/build/../linux/.config
make -C /home/devel/optee/repo/build/../linux
LOCALVERSION= CROSS_COMPILE="/usr/bin/ccache
/home/devel/optee/repo/build/../toolchains/aarch64/bin/aarch64-linux-gnu-"
ARCH=arm64 Image modules dtbs ARCH=arm64 clean

So we're re-making everything before cleaning?

For other platforms, it's not as bad since we run make without specifying any targets so we only repeat the ARCH=arm64 flag, i.e.

> make linux-clean
rm -f /home/devel/optee/repo/build/../linux/.config
make -C /home/devel/optee/repo/build/../linux
LOCALVERSION= CROSS_COMPILE="/usr/bin/ccache
/home/devel/optee/repo/build/../toolchains/aarch64/bin/aarch64-linux-gnu-"
ARCH=arm64 ARCH=arm64 clean

Same situation for OPTEE_OS_CLEAN_COMMON_FLAGS and OPTEE_LINUXDRIVER_CLEAN_COMMON_FLAGS.

How should we fix this? Quick and easy way is to just redefine LINUX_CLEAN_COMMON_FLAGS in hikey.mk, i.e.
LINUX_CLEAN_COMMON_FLAGS = LOCALVERSION= CROSS_COMPILE=$(CROSS_COMPILE_NS_KERNEL) ARCH=arm64?
Or LINUX_CLEAN_COMMON_FLAGS := LOCALVERSION= CROSS_COMPILE=$(CROSS_COMPILE_NS_KERNEL) ARCH=arm64?
Or remove the dependency of *_CLEAN_COMMON_FLAGS on *_COMMON_FLAGS?
Or something else?

Thanks!

edk2-clean-common target fails in qemu_v8 build

I'm having problems running the clean target in a build using the qemu_v8 manifest. Make stops after trying to run the edk2-clean-common target with the message "No rule to make target 'cleanall'. Stop." Digging into it appears that the referenced Makefile in the edk2 repo (ArmPlatformPkg/Scripts/Makefile) only has a clean target but the edk2 clean target in common.mk uses cleanall. Some other makefiles (such as fvp and all three for hikey) are using the build script in edk2 directly in their edk2-call function, so changing common.mk to use 'clean' instead would change their behavior.

I've changed qemu_v8.mk file with a special edk2-clean rule instead of edk2-clean-common that uses clean instead of cleanall and created a pull request if that's an acceptable solution. Not very elegant, but it got the job done for me.

toochain.mk

Hi, I am using the build script for fvp. when it comes to the step "make toolchains", I found that "curl" can not get the file and just stopped at "Downloading ...". I changed the "http" to "https", then it worked.
So, I wonder if we should move to https from the origin?

Flash HiKey Debian

Hello,

I am having some issues flashing the debian version for HiKey. As per the instructions of running make flash I have closed PINS 1-2, 5-6 leaving 3-4 open. I have attached photos of my board connected and a screenshot of my terminal.

As per the instructions at HiKey Wiki I have also added the rules.

Can anyone spot the error?
Happy to set this up and update README with pictures etc.

screenshot at 2016-05-17 15_32_23
20160517_153117
20160517_153123

Hikey960 bring up wifi interface

Hi,
Iḿ using the Makefile hikey960.mk for building and flashing a Hikey960.
But I don't have a wifi interface. I tried to add to the buildroot conf the following packages
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
and
BR2_PACKAGE_WPA_SUPPLICANT=y
..
But still no change.

rpi3_stable.xml not available

rpi3_stable.xml is stated as available, but it's not:

repo init -u https://github.com/OP-TEE/manifest.git -m rpi3_stable.xml

fatal: manifest 'rpi3_stable.xml' not available fatal: manifest rpi3_stable.xml not found

building on rpi3 fails

I updated the build repo for rpi3 and it fails now with this error:
optee_test/host/xtest/regression_1000.c
cc1: error: for_gp/include: No such file or directory [-Werror=missing-include-dirs]
is there any stable version of rpi3.xml manifest?can not init with rpi3_stable anymore

Documentation for OP-TEE architecture was not found

Dear community. I'm sorry that I am posting question here, but I haven't found better place nor on the main page, nor on the github official page.

The question is: "Is there any documentation about how different OP-TEE parts interconnected?".

I am about the documentation which describes the way that, for example, uboot starts Linux, then it starts OP-TEE-OS and so on. Also it is interesting to know why should we have supplicant and how it works in system.

Thanks a lot!

Rpi3: Use of USB keyboard to stop u-boot countdown

When I build rpi3 system, it seems that USB keyboard cannot be used to stop the u-boot timeout. However, u-boot/include/configs/rpi.h has line

#define CONFIG_PREBOOT "usb start"
but it appears not to be effective. When I added "preboot=usb start" environment and saved, USB keyboard started to work (now I can stop the count down). Could it be that your ./build/rpi3/firmware/uboot.env.txt somehow overrides the default u-boot build and preboot does not get defined?

[I'm using bleeding edge version retrieved at end of January this year]

enable network on FVP

Hi,
I want to use network on FVP, I added "--network=nat" at the end of "~/devel/optee/build/Makefile"
but there was not ip addr when I booted into the kernel, ifconfig shows as below:
image

FVP host is ubuntu-16.04 inside VirtualBox

I am not familiar with network. is there anyone can help me ? thanks a lot!

Enable network (eth0) in qemu image?

When qemu boots, I see

Freeing unused kernel memory: 1024K (80900000 - 80a00000)
preparing networking...
ip: SIOCGIFFLAGS: No such device
running rc.d services...
mounting tmpfs at /dev ...done
mounting pts at /dev/pts ...done
creating initial mdev device nodes ...done
setting system time from /dev/rtc0

..and once booted

root@Vexpress:/ ls /sys/class/net/
lo
root@Vexpress:/ ifconfig eth0 192.168.1.158 up
ifconfig: SIOCSIFADDR: No such device
root@Vexpress:/ soc_term: read fd EOF

I've searched, and tried multiple "-netdev ..." variations on qemu start, but none seems to help. Anyone? What I'm missing in configuration? This seems to be some basic linux config issue? (I even enabled E1000 and PCI, but it changed nothing).

Problem syncing repo qemu_v8_stable

I am trying to configure the environment to work with qemu_v8_stable version, but without success. Is there some problem with the repository?

repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8_stable.xml
Get https://gerrit.googlesource.com/git-repo/clone.bundle
Get https://gerrit.googlesource.com/git-repo
remote: Finding sources: 100% (11/11)
remote: Total 11 (delta 0), reused 11 (delta 0)
Unpacking objects: 100% (11/11), done.
From https://gerrit.googlesource.com/git-repo
   685320b..1f36570  master     -> origin/master
Get https://github.com/OP-TEE/manifest.git
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found

Also, as some problem occurs with repo init, same occurs when running repo sync:

repo sync
Fetching project code
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
remote: Counting objects: 93   

Why am I getting this "404 not found"?

Poplar board instructions missing

I see the Poplar board is officially supported, but I can't find any reference to the build instruction (for example, ti.md for Texas Instruments boards or rpi3.md for the Raspberry Pi 3).

Where can I find them?

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.