ที่เก็บข้อมูล Trusty มีอยู่ในโครงการโอเพนซอร์ส Android (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
ให้เป็นอิมเมจเฟิร์มแวร์แล้วแฟลชลงในอุปกรณ์
การสร้างอิมเมจเฟิร์มแวร์จะแตกต่างกันไปตามบอร์ดที่ใช้
โปรดติดต่อผู้ผลิตแผงเพื่อขอวิธีการ
Trusty ใน 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
ซึ่งจะเรียกใช้การทดสอบทั้งหมดที่กำหนดค่าไว้สำหรับเป้าหมายนี้ด้วย
วิธีเรียกใช้การทดสอบ TestRunner ด้วยตนเอง (การเปิดใช้งานพอร์ต) (com.android.ipc-unittest.ctrl)
build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"
วิธีเรียกใช้การทดสอบ TestRunner (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 จะปิดใช้คอนโซลก่อนที่จะกลับไปที่ TestRunner หากต้องการปิดใช้การตั้งค่านี้ในเครื่อง ให้ลบความคิดเห็นออกทั้งหมดใน bl31_plat_runtime_setup in 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