Linux ARM64 SDK 交叉编译指南
本文档说明如何在 x86_64 主机上交叉编译 linux-arm64 平台的 OpenHarmony SDK。
环境要求
硬件要求
- 磁盘可用空间:40GB 以上(编译产物较大,建议将源码放在大容量磁盘分区上)
- 内存:16GB 以上
- 如果系统盘空间有限,需设置
TMPDIR环境变量指向大容量磁盘分区
操作系统
- Ubuntu 22.04 LTS(推荐)
安装交叉编译工具链
编译 linux-arm64 SDK 需要安装 aarch64 交叉编译工具链:
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
安装后验证:
aarch64-linux-gnu-gcc --version
ls /usr/aarch64-linux-gnu/include/c++/
注意:构建系统会自动检测已安装的 gcc 版本号(如 7、11 等),无需手动配置。
编译命令
编译 linux-arm64 SDK
./build.sh --product-name ohos-sdk --build-target ohos_sdk --gn-args sdk_platform=arm64
产物路径
编译完成后,产物位于:
out/sdk/packages/ohos-sdk/linux-arm64/
主要目录结构:
linux-arm64/
├── native/
│ ├── llvm/ # LLVM 工具链
│ │ ├── bin/ # 编译器等工具
│ │ ├── lib/ # 库文件
│ │ └── include/ # 头文件
│ ├── sysroot/ # 系统根目录
│ └── build-tools/ # 构建工具(cmake, ninja 等)
相关文件
| 文件路径 | 说明 |
|---|---|
build/ohos_var.gni |
sdk_platform 参数定义 |
build/ohos/sdk/sdk.gni |
SDK 平台列表控制 |
build/config/sysroot.gni |
交叉编译 sysroot 配置 |
build/config/posix/BUILD.gn |
交叉编译头文件和库路径 |
build/toolchain/linux/BUILD.gn |
工具链前缀配置 |
build/prebuilts_download.sh |
预置包下载 |