Files
H100PowerManger/scripts/build-arm64.sh
T
zjk 48be5115c9 构建/部署:切换 Ubuntu 22.04 交叉编译环境,新增板卡部署工具
- ci/Dockerfile:基础镜像 20.04 → 22.04(板卡实测为 Orange Pi Jammy,
  旧 focal 镜像保留为 h100-power-manager-ci:arm64-focal)
- scripts/build-arm64-image.sh:arm64 镜像构建(支持 --force 重建)
- scripts/build-arm64.sh:日常交叉编译(产物输出 bin/arm64/,与本地隔离)
- scripts/deploy.sh:板卡部署(推送二进制+mission,安装 3 个 systemd 服务)
- missions/h100.moos:板卡专用 mission 配置
- .gitignore:忽略 build-arm64/、webassets_gen.h 等构建产物
2026-08-19 14:32:46 +08:00

43 lines
1.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
#=======================================================================
# FILE: scripts/build-arm64.sh
# DESC: 交叉编译为 RK3588 (aarch64) / Ubuntu 22.04 二进制,用法同 build.sh。
# 在 arm64 镜像(h100-power-manager-ci:arm64)内跑 cmake + make,
# 产物输出到 bin/arm64/,与本地 x86_64 的 bin/、build/ 互不影响。
#
# 用法:
# ./scripts/build-arm64.sh
#
# 前置(一次性,构建 arm64 镜像):
# CI_TOKEN=xxx ./scripts/build-arm64-image.sh
#=======================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "${SCRIPT_DIR}")"
IMAGE="h100-power-manager-ci:arm64"
JOBS="${JOBS:-$(nproc)}"
if ! docker image inspect "${IMAGE}" >/dev/null 2>&1; then
echo "错误: 本地不存在镜像 ${IMAGE}" >&2
echo " 请先执行: CI_TOKEN=xxx ./scripts/build-arm64-image.sh" >&2
exit 1
fi
mkdir -p "${PROJECT_ROOT}/build-arm64" "${PROJECT_ROOT}/bin/arm64"
docker run --rm --platform linux/arm64 \
-u "$(id -u):$(id -g)" \
-v "${PROJECT_ROOT}":/src \
-w /src/build-arm64 \
"${IMAGE}" \
/bin/sh -c "cmake -DCMAKE_BUILD_TYPE=Release \
-DEXECUTABLE_OUTPUT_PATH=/src/bin/arm64 \
-DRUNTIME_OUTPUT_DIRECTORY=/src/bin/arm64 .. && make -j${JOBS}"
echo ""
echo ">>> 完成。产物:"
file "${PROJECT_ROOT}/bin/arm64/pPowerManger"