本工程用于存放算丰设备当前易用性工具源码,便于发版与使用者二次开发
source目录下存放各个工具的源码output目录下存放编译的最终结果
| 子项目名称 | 源码路径 | 简介 |
|---|---|---|
| bmsec | source/pbmsec | 用于SE6/8高密度服务器的易用性命令行工具 |
| socbak | source/psocbak | 用于BM1684/BM1684X/BM1688/CV186AH芯片刷机包打包 |
| get_info | source/pget_info | 用于获取BM1684/BM1684X/BM1688/CV186AH芯片的性能指标 |
| memory_edit | source/pmemory_edit | 用于修改BM1684/BM1684X/BM1688/CV186AH的设备内存布局 |
| qt_memory_edit | source/pqt_memory_edit | 图形化的远程修改设备内存布局的工具 |
| qt_batch_deployment | source/pqt_batch_deployment | 基于SSH的批量部署工具 |
| dfss_cpp | source/pdfss_cpp | DFSS工具CPP工程 |
| spacc_efuse_demo | source/pspacc_efuse_demo | efuse+spacc加解密Demo |
| SophUI | source/pSophUI | HDMI配网页面工程 |
| ota_update | source/pota_update | OTA远程刷机工具 |
| mem_aging_test | source/pmem_aging_test | DDR压测工具 |
| autotelecomm | source/pautotelecomm | 4G/5G自动拨号工具 |
| bm_set_ip | source/pbm_set_ip | 配网工具 |
| phytool | source/psoph_phytool | 网口 PHY 寄存器读写工具(纯脚本,无编译) |
| bmssm | source/pbmssm | 设备端后端(:9779):鉴权/硬件指标/systemd/端口/网络/OTA/文件。见 API.md / USAGE.md / BUILD.md |
| sophliteos | source/psophliteos | 算力设备管理 Web 平台(Go+Vue,:8080),反代 bmssm。见 API.md / USAGE.md / BUILD.md |
本仓库已接入统一构建工程(M1~M4):16 个子项目全部提供统一接口 release.sh,由
Docker 统一镜像 sophon-tools-build 在容器内完成编译。一条命令全量出包:
# 前置:统一构建镜像(首次)
bash docker/build.sh --with-dfss-toolchains --with-qt-mingw --with-sophui-toolchain # 完整镜像(含 dfss 私有 sw_64/loongarch64、Qt mingw 静态库、pSophUI 交叉 Qt 库)
# 一键全量 release(各子项目默认平台,Docker 内编译)
bash release.sh
# 常用变体
bash release.sh --project pbmssm # 单项目快速构建
bash release.sh --version 2.1.0 # 全量 + 统一版本号
bash release.sh --project pqt_memory_edit # 宿主执行(pqt 系列在统一镜像内直接构建,无需 docker-in-docker)平台说明:默认
release.sh对每个子项目构建其默认平台(多数为单平台, 如 pbmssm/pbm_set_ip=arm64、pget_info/pdfss_cpp=amd64;仅 pbmsec/psoph_phytool 默认出全平台)。 需要跨平台出包时,对支持all的子项目在其源码目录执行bash release.sh all(如 pdfss_cpp 可一次出 amd64/arm64/armbi/loongarch64/riscv64/sw_64/win-amd64/win-i686 8 平台), 或bash docker/build-all.sh --arch all对支持all的子项目统一驱动。
构建结束后:
- 全部产物汇聚到
output/<子项目>/(保持既有 output 约定) output/MANIFEST.txt:完整产物清单(子项目 / 文件名 / 架构 / 版本 / md5)output/git_hash.txt:构建时仓库 HEADoutput/.build-status.txt:各子项目 PASS/FAIL/SKIP 状态
失败隔离:单个子项目失败不阻塞整体,其余照常出包;构建结束列出失败项,
release.sh 存在失败时以非零退出码结束(失败项见 .build-status.txt 与终端汇总)。
详细文档见 docker/README.md。
在子项目源码目录下执行 release.sh(由统一 Docker 镜像 sophon-tools-build 在容器内编译),
成果输出到 output 目录。需要自行准备环境时,参考源码目录中的 readme.md。
- 编译主机架构:amd64
- 7z/zip
- dpkg-deb
- pandoc
- docker(统一构建镜像
sophon-tools-build:unified)