OP-TEE에서 제공하는 절차로 sdcard image를 생성하면 라즈베리 파이3 B+보드에서는 부팅이 되지 않는다. 보드에 OP-TEE sdcard를 넣고 전원을 키면 초록색 led가 같은 패턴으로 점등된다. 해당 에러는 보드가 부팅시 start.elf 파일을 찾았지만 읽을 수 없을 때 나타나는 에러이다. 이것을 해결하기 위해 보드가 읽을 수 있는 start.elf 파일로 변경해 주었다.
https://optee.readthedocs.io/en/latest/building/devices/rpi3.html
op-tee 문서에서 제공해주는 절차에 따라서 부팅 sdcard를 만든다.
$ apt update && apt upgrade -y
$ apt install -y adb acpica-tools autoconf automake bc bison build-essential \\
ccache cpio cscope curl device-tree-compiler e2tools expect \\
fastboot flex ftp-upload gdisk git libattr1-dev libcap-dev \\
libfdt-dev libftdi-dev libglib2.0-dev libgmp3-dev libhidapi-dev \\
libmpc-dev libncurses5-dev libpixman-1-dev libslirp-dev \\
libssl-dev libtool libusb-1.0-0-dev make mtools netcat \\
ninja-build python3-cryptography python3-pip python3-pyelftools \\
python3-serial python-is-python3 rsync swig unzip uuid-dev wget \\
xdg-utils xterm xz-utils zlib1g-dev
$ mkdir -p rpi3-optee
$ cd rpi3-optee
$ curl <https://storage.googleapis.com/git-repo-downloads/repo> > /bin/repo && chmod a+x /bin/repo
$ repo init -u <https://github.com/OP-TEE/manifest.git> -m rpi3.xml
$ repo sync -j4 --no-clone-bundle
$ cd build
$ make -j2 toolchains
$ make -j{nproc}
$ make sdcard-image
Buildroot는 임베디드 시스템에 부팅 가능한 Linux 환경을 만들어주는 tool 이다. buildroot를 이용해서 라즈베리파이 b+ 부팅 sdcard를 만들어서 start.elf 파일을 추출 한다.
$ git clone <https://github.com/buildroot/buildroot.git>
$ cd buildroot
$ make raspberrypi3_64_defconfig
지원하는 플랫폼은 configs 디렉터리에서 확인할 수 있다.
$ make menuconfig