Skip to content

docs: E2E verification on native ARM64 + native crosvm build script#2

Merged
willamhou merged 1 commit into
mainfrom
docs/e2e-arm-verification
May 26, 2026
Merged

docs: E2E verification on native ARM64 + native crosvm build script#2
willamhou merged 1 commit into
mainfrom
docs/e2e-arm-verification

Conversation

@willamhou
Copy link
Copy Markdown
Owner

概述

在一台原生 aarch64 服务器上,用发行版自带的 QEMU 8.2.2 完整复验了 NS→Secure 链路,并就 AVF/crosvm 的可行性边界做了实测。同时压缩了 CLAUDE.md 并补了两篇实战记文章 + 一个原生 crosvm 构建脚本。

验证结果

  • NS→Secure 全链路 E2E:build-tfa-spmc + run-spmc,TF-A BL31+SPMD @ EL3 → S-EL2 SPMC → SP1/SP2/SP3 @ S-EL1 → BL33 FF-A client,20/20 BL33 tests PASS。无需自定义 QEMU 9.2.3,stock 8.2.2 即可(Makefile 注释 "需 9.2+" 过于保守)。
  • NS-EL2 单元测试:make run,34/34 套件零失败。
  • AVF/crosvm 边界(在真 ARM 上复现):普通(非保护)crosvm guest 仍在 crosvm run 后约 1s 死于 failed to create IRQ chip——QEMU TCG 建不出 in-kernel vGICv3 (KVM_DEV_TYPE_ARM_VGIC_V3)。证明 protected 与否无关、真 ARM 硬件也不改变结论;guest 侧 pKVM 本身启动正常(Protected hVHE mode initialized successfully/dev/kvm PASS)。真正跑通需嵌套虚拟化 KVM 或原生 /dev/kvm

改动

  • CLAUDE.md:压缩 45KB→24KB;修正测试套件数 33→34;新增 Coding Standards / Related Docs;加 2026-05-26 E2E 复验记 + 复现后的 AVF/crosvm 结论。
  • docs/zhihu/e2e-on-arm-fieldnotes.mddocs/devto-e2e-on-arm.md:中/英实战记。
  • guest/linux/build-crosvm-native.sh:aarch64 原生 crosvm 构建(绕过交叉编译路径里 minijail bindgen 的 sys/resource.h not found)。

🤖 Generated with Claude Code

Verified the full NS→Secure chain end-to-end on a native aarch64 host
with stock QEMU 8.2.2 (no custom QEMU 9.2.3 needed): TF-A BL31+SPMD →
S-EL2 SPMC → SP1/SP2/SP3 → BL33 FF-A client, 20/20 BL33 tests PASS.
Re-confirmed the AVF/crosvm blocker on real ARM hardware: a normal
(non-protected) crosvm guest still dies at "failed to create IRQ chip"
because QEMU TCG cannot create the in-kernel vGICv3 — protected vs
non-protected is irrelevant and real ARM hardware does not change it.

- CLAUDE.md: compress (45KB→24KB), fix 33→34 test-suite count, add
  Coding Standards + Related Docs sections, dated E2E re-verification
  note, and the re-confirmed AVF/crosvm findings.
- docs/zhihu/e2e-on-arm-fieldnotes.md, docs/devto-e2e-on-arm.md:
  Chinese/English field-notes articles on the E2E verification.
- guest/linux/build-crosvm-native.sh: native (non-cross) crosvm build
  for aarch64 hosts, fixing the minijail bindgen 'sys/resource.h not
  found' failure in the cross-compile path.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@willamhou willamhou merged commit 8072b39 into main May 26, 2026
3 checks passed
@willamhou willamhou deleted the docs/e2e-arm-verification branch May 26, 2026 06:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant