1.8 KiB
1.8 KiB
title, type, permalink, stable_id, scope, project_id, memory_type, status, revision, restored_from_commit, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | project_id | memory_type | status | revision | restored_from_commit | created_at | updated_at | tags | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 固件构建完整流程 | fact | main/projects/6f47523e-e22e-4cdd-bd18-76e5e474ee0c/固件构建完整流程 | 98bc33f7-c293-4e7c-aca8-f54752e2d5fa | project | 6f47523e-e22e-4cdd-bd18-76e5e474ee0c | fact | active | 1 | 6a6a895eaf |
2026-09-23T14:59:51.013720+00:00 | 2026-09-23T14:59:51.013782+00:00 |
|
启动方式
- Web 构建:前端 startBuild() → POST /api/build → 后端写临时 JSON → 调用 build-docker.ps1
- 命令行:.\scripts\build-docker.ps1 [-Jobs N] [-Clean]
构建链
- build-docker.ps1 执行 docker build -t openwrt-local-builder:25.12(无代理支持)
- docker run 挂载项目到 /workspace、缓存卷 openwrt-build-work 到 /work
- docker-entrypoint.sh 修正文件权限,gosu builder 执行 build.sh
- build.sh 主流程: a. 从 Qosmio openwrt-ipq:25.12-nss 克隆/更新源码 b. 安装固定提交的外部包(LAN-Wake 等) c. 复制本地 packages/ 到 OpenWrt d. 根据选项重写 feeds(build_config.py feeds) e. 载入 seed.config f. build_config.py options 转换用户选项为 .config 和 UCI defaults g. feeds update && install h. 修补第三方包兼容性 i. build_config.py branding 注入品牌信息 j. patch_ax9000.py 应用分区/DTS/升级/内核补丁 k. make defconfig 并验证设备/NSS/IPv6 l. make -j$JOBS || make V=s m. 复制产物到 outputs/ax9000/
- 后端打包为时间戳 ZIP:OpenWRT-AX9000-YYYY-MM-DD_HH-mm-ss.zip
- 构建日志通过 SSE (/api/logs/stream) 实时推送
构建缓存
Docker 命名卷 openwrt-build-work 在增量构建间保留。-Clean 参数清理 OpenWrt 源码树。