Skip to content

方向 D2:工具完备


📋 为什么重要

方向 D2 的核心目标是提供完整的辅助工具链,提升开发效率和用户体验。当环境配置完成后,良好的工具可以让开发过程更加顺畅。

核心价值

  • 提供完整的开发工具集
  • 建立 CI/CD 基础
  • 完善文档体系
  • 支持多板卡扩展

好的工具可以大幅减少重复性工作,让开发者专注于核心功能开发。


💡 如何开始

根据你的需求选择任务:

如果你想提升日常开发效率:

  1. D2-001 (menuconfig.sh) - 统一的配置入口
  2. D2-002 (clean.sh) - 智能清理工具

如果你需要支持多个板卡:

  1. D2-003 (select-board.sh) - 方便切换板卡
  2. D2-004 (板卡接入文档) - 了解如何添加新板卡

如果你关注代码质量:

  1. D2-005 (CI - Patch 校验) - 确保补丁格式正确
  2. D2-006 (CI - Docker 构建) - 自动化测试

推荐的开始顺序:

  • 先做 D2-001 和 D2-002(日常使用最频繁)
  • 再做 D2-003 和 D2-004(如果需要多板卡支持)
  • 最后做 D2-005 和 D2-006(建立 CI/CD 基础)

🎯 核心目标

  • 完整的辅助脚本集
  • CI/CD 基础建立
  • 板卡接入规范
  • 多板卡支持框架

当前状态

项目已经具备分层 CI、组件构建、Full Build、Release Build 和 Docker Publish 工作流。D2 后续重点是补齐日常开发工具、补丁校验细化、板卡接入规范,以及把现有 CI 与项目阶段验收绑定起来。


📝 任务清单

任务 D2-001:创建 menuconfig.sh

优先级:P2 推荐基础:D1-004

为什么重要:统一的 menuconfig 入口可以简化内核配置流程,避免手动设置环境变量。

适合场景:需要频繁修改 U-Boot、Linux 或 BusyBox 配置的开发者。

详细要求: 提供统一的内核配置入口,支持 U-Boot、Linux 内核、BusyBox 的 menuconfig。

  • 支持选择配置目标(U-Boot/Linux/BusyBox)
  • 自动设置交叉编译环境
  • 支持保存和恢复配置
  • 提供配置指导
  • 集成到构建流程

验收标准

  • [ ] 可以方便地启动 menuconfig
  • [ ] 自动设置环境变量
  • [ ] 支持所有组件
  • [ ] 提供使用文档

相关文件

  • scripts/menuconfig.sh

任务 D2-002:创建 clean.sh

优先级:P2 推荐基础:无

为什么重要:智能清理脚本可以帮助开发者快速释放磁盘空间,同时保留重要的配置文件。

适合场景:磁盘空间有限,或需要频繁清理构建产物的开发者。

详细要求: 编写智能清理脚本,支持选择性清理构建产物、临时文件、子模块。

  • 支持分类清理(内核/U-Boot/Rootfs/全部)
  • 保留配置文件
  • 显示清理前后的空间变化
  • 安全确认机制
  • 支持 dry-run 模式

验收标准

  • [ ] 可以选择性清理
  • [ ] 显示空间变化
  • [ ] 有安全确认
  • [ ] 支持 dry-run
  • [ ] 提供使用文档

相关文件

  • scripts/clean.sh

任务 D2-003:创建 select-board.sh

优先级:P1 推荐基础:D1-006(如果完成)

为什么重要:板卡切换脚本让多板卡开发变得简单,避免手动修改配置文件。

适合场景:需要在不同板卡之间切换的开发者,或为项目添加新板卡支持。

详细要求: 创建板卡切换脚本,方便用户在不同板卡配置之间切换。

  • 列出所有可用板卡
  • 显示当前板卡
  • 支持交互式选择
  • 自动更新构建配置
  • 提供板卡信息查看

验收标准

  • [ ] 可以列出所有板卡
  • [ ] 可以切换板卡
  • [ ] 显示当前板卡
  • [ ] 自动更新配置
  • [ ] 提供使用文档

相关文件

  • scripts/select-board.sh

任务 D2-004:编写板卡接入文档

优先级:P1 推荐基础:D1-006(如果完成)

为什么重要:详细的板卡接入文档可以让其他开发者轻松为项目添加新板卡支持,扩大项目影响力。

适合场景:希望为自己的板卡添加支持,或了解板卡移植流程的开发者。

详细要求: 创建详细的板卡接入指南,说明如何为新板卡添加支持。

  • 说明设备树移植流程
  • 说明驱动适配流程
  • 提供检查清单
  • 包含实际案例
  • 说明配置文件填写要求

验收标准

  • [ ] 文档完整清晰
  • [ ] 包含具体步骤
  • [ ] 有检查清单
  • [ ] 有实际案例
  • [ ] 有故障排除指南

相关文件

  • docs/04-板卡接入规范.md

任务 D2-005:配置 GitHub Actions - Patch 校验

优先级:P1 推荐基础:无

为什么重要:自动化的补丁校验可以确保 PR 的质量,减少维护者的审查负担。

适合场景:项目接受社区 PR,或希望确保代码质量的团队。

详细要求: 创建 CI 工作流,自动验证补丁能够正确应用。

  • 创建 .github/workflows/patch-check.yml
  • 自动检测补丁格式
  • 尝试应用所有补丁
  • 检查补丁冲突
  • 生成检查报告
  • 支持手动触发

验收标准

  • [ ] PR 提交时自动运行
  • [ ] 检测补丁格式
  • [ ] 检查补丁冲突
  • [ ] 生成清晰报告
  • [ ] 支持手动触发

相关文件

  • .github/workflows/patch-check.yml

任务 D2-006:配置 GitHub Actions - Docker 构建

优先级:P2 推荐基础:D1-001

为什么重要:自动构建 Docker 镜像可以确保镜像始终可用,并提前发现构建问题。

适合场景:使用 Docker 作为开发环境,或希望自动化测试的开发者。

详细要求: 自动构建 Docker 镜像并测试构建流程。

  • 创建 .github/workflows/docker-build.yml
  • 自动构建 Docker 镜像
  • 测试基本构建流程
  • 发布到 Docker Hub(可选)
  • 定期更新基础镜像

验收标准

  • [ ] 代码提交时自动构建
  • [ ] 测试构建流程
  • [ ] 生成构建报告
  • [ ] (可选)发布镜像

相关文件

  • .github/workflows/docker-build.yml

🔗 相关方向

  • D1:环境完善 - 完成环境配置后,再开发辅助工具
  • D3:示例展示 - 工具完备后,可以更高效地开发示例项目

🔗 相关资源


完善的工具链是高效开发的基础! 🛠️

Built with VitePress