ดาวน์โหลดและสร้าง

ที่เก็บ Trusty มีอยู่ใน Android Open Source Project (AOSP)

ใช้ลิงก์เหล่านี้เพื่อค้นหาสาขาเคอร์เนล Trusty ที่เหมาะสมใน AOSP:

กำลังติดตั้ง Repo

หากต้องการดาวน์โหลด Trusty ให้ดาวน์โหลดและติดตั้ง Repo ก่อน

หลังจากติดตั้ง Repo สำเร็จแล้ว คุณสามารถโคลนพื้นที่เก็บข้อมูล Android Trusty ได้

mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b main
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

สร้าง (โดยใช้สคริปต์เซิร์ฟเวอร์ build) อิมเมจที่เชื่อถือได้และ 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"

หากต้องการรันการทดสอบ test-runner (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 ปิดการใช้งานคอนโซลก่อนกลับสู่การทดสอบ หากต้องการปิดการใช้งานนี้ในเครื่องให้ใส่รหัสทั้งหมดใน 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 main
repo sync -j32
source build/envsetup.sh
lunch qemu_trusty_arm64-userdebug
m