Hello,
I migrated from Linux for Tegra 35.5 (Jetpack 5) to Linux for Tegra 36.3 (Jetpack 6). I use an encrypted disk with custom keys. E.g. a custom FV key. To use a custom FV key optee the fv key in the file source/public/optee/optee_os/core/pta/tegra/jetson_user_key_pta.c has to be changed to the custom one and OpTee has to be rebuild in many steps to finally output a tos.img. This file then has to be copied to bootloader/tos-optee_t234.img and flashed. It even crashes if just OpTee is rebuild and the default FV key is used.
Everything worked in Tegra 35.5 (Jetpack 5). But it crashes during boot in Linux for Tegra 36.3 (Jetpack 6) with the same steps.
Software downloaded
- sources: https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/sources/public_sources.tbz2
- toolchain: https://developer.nvidia.com/embedded/jetson-linux/bootlin-toolchain-gcc-93
Commands used
export CROSS_COMPILE_AARCH64_PATH="${PWD}/toolchain"
export UEFI_STMM_PATH="${PWD}/bootloader/standalonemm_optee_t234.bin"
echo "CROSS_COMPILE_AARCH64_PATH=${CROSS_COMPILE_AARCH64_PATH}"
echo "UEFI_STMM_PATH=${UEFI_STMM_PATH}"
sudo -E ./source/public/optee_src_build.sh -p t234
export CROSS_COMPILE_AARCH64_PATH="${PWD}/toolchain"
export CROSS_COMPILE_AARCH64="${CROSS_COMPILE_AARCH64_PATH}/bin/aarch64-buildroot-linux-gnu-"
echo "CROSS_COMPILE_AARCH64_PATH=${CROSS_COMPILE_AARCH64_PATH}"
echo "CROSS_COMPILE_AARCH64=${CROSS_COMPILE_AARCH64}"
cd source/public
sudo dtc -I dts -O dtb -o ./optee/tegra234-optee.dtb ./optee/tegra234-optee.dts
export CROSS_COMPILE_AARCH64_PATH="${PWD}/toolchain"
export CROSS_COMPILE_AARCH64="${CROSS_COMPILE_AARCH64_PATH}/bin/aarch64-buildroot-linux-gnu-"
echo "CROSS_COMPILE_AARCH64_PATH=${CROSS_COMPILE_AARCH64_PATH}"
echo "CROSS_COMPILE_AARCH64=${CROSS_COMPILE_AARCH64}"
cd source/public/arm-trusted-firmware
sudo -E make BUILD_BASE=./build CROSS_COMPILE="${CROSS_COMPILE_AARCH64}" DEBUG=0 LOG_LEVEL=20 PLAT=tegra SPD=opteed TARGET_SOC=t234 V=0
sudo ./nv_tegra/tos-scripts/gen_tos_part_img.py --monitor ./source/public/arm-trusted-firmware/build/tegra/t234/release/bl31.bin \
--os ./source/public/optee/build/t234/core/tee-raw.bin \
--dtb ./source/public/optee/tegra234-optee.dtb \
--tostype optee \
./nv_tegra/tos-scripts/tos.img
cp ./nv_tegra/tos-scripts/tos.img ./bootloader/tos-optee_t234.img
Error output
--> will be added soon
This worked in Jetpack 5 and crashes in Jetpack 6.
Best regards