Репозитории Trusty доступны в Android Open Source Project (AOSP).
Используйте эти ссылки, чтобы найти соответствующие ветки ядра Trusty в AOSP:
Установка репо
Чтобы загрузить Trusty, сначала загрузите и установите Repo .
После успешной установки Repo вы можете клонировать репозиторий Android Trusty.
mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b master
repo sync -j32
Строить
Используйте следующее, чтобы создать общий образ arm64 для Trusty.
./trusty/vendor/google/aosp/scripts/build.py generic-arm64
Результаты сборки будут находиться в папке build-root/build-generic-arm64/.
Ищите lk.bin, который представляет собой образ TEE со всеми приложениями, скомпилированными в:
ls build-root/build-generic-arm64/lk.bin
Установить
Можно собрать lk.bin в образ прошивки и прошить на устройство. Создание образов прошивки зависит от используемой платы. Обратитесь к производителю платы за инструкциями.
Надежный на QEMU
Установите необходимые пакеты на хост, если вы еще этого не сделали:
sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev
Соберите (используя скрипты сервера сборки) образы trusty и qemu:
trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug
Это также запустит все тесты, настроенные для этой цели.
Чтобы вручную запустить тестовый тест (активация порта) (com.android.ipc-unittest.ctrl):
build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"
Чтобы запустить тестовый тест (com.android.ipc-unittest.ctrl) с выводом отладки ядра при загрузке:
build-root/build-qemu-generic-arm64-test-debug/run-qemu --boot-test "com.android.ipc-unittest.ctrl" --headless --verbose
ATF отключает консоль перед возвратом в test-runner. Чтобы отключить это локально, закомментируйте весь код в bl31_plat_runtime_setup в external/arm-trusted-firmware/plat/common/aarch64/plat_common.c.
Чтобы запустить тест из оболочки Android,
build-root/build-qemu-generic-arm64-test-debug/run-qemu --shell-command "/data/nativetest64/tipc-test/tipc-test -t ta2ta-ipc" --headless
Для загрузки в интерактивную оболочку (из проверенного предварительно собранного)
build-root/build-qemu-generic-arm64-test-debug/run
Эта команда также имеет множество других доступных переопределений - проверьте --help для получения дополнительной информации.
Если adb devices -l
завершается ошибкой при запуске qmeu.py
, версия сервера adb, работающая в вашей системе, может быть неверной.
adb kill-server
Чтобы загрузить сборку Android, которая у вас есть локально,
build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir
Чтобы собрать Android для Trusty,
mkdir android cd android repo init -u https://android.googlesource.com/platform/manifest -b master repo sync -j32 source build/envsetup.sh lunch qemu_trusty_arm64-userdebug m