Skip to content

Commit 9f54cc5

Browse files
fix: document repolishes (#46)
1 parent a510c3f commit 9f54cc5

24 files changed

Lines changed: 106 additions & 71 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ host/
1212
node_modules/
1313
site/.vitepress/dist/
1414
site/.vitepress/cache/
15+
site/.vitepress/.temp/
1516
site/.vitepress/.build-cache/
1617
site/.vitepress/.build-tmp/
1718
*.tgz
@@ -34,4 +35,4 @@ modules.builtin.modinfo
3435

3536
.venv/
3637

37-
pnpm-workspace.yaml
38+
pnpm-workspace.yaml

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747

4848
### 📚 完整的 0→1 学习路径
4949

50-
> **114 篇教程,从入门到实战**
50+
> **持续增长的教程体系,从入门到实战**
5151
5252
```
5353
工具链 → U-Boot → 内核 → Rootfs → 驱动开发 → 实战项目
@@ -77,13 +77,13 @@ IMX-Forge 支持 **Docker** 和 **WSL2 + Docker** 两种开发环境:
7777

7878
#### 方式一:直接拉取镜像(最简单)
7979

80-
我们提供预构建的 Docker 镜像,包含完整的开发环境
80+
我们提供预构建的 Docker 镜像,包含完整的开发环境。正式版本标签从 `v0.1.0` 开始;历史 `v0.5` 仅作为路线图里程碑编号保留。
8181

8282
| 标签 | 说明 | 适用场景 |
8383
|------|------|----------|
8484
| `latest` | 稳定版本 | 日常开发推荐 |
8585
| `preview` | 预览版本 | 测试新功能 |
86-
| `v1.0.0`| 版本号 | 锁定特定版本 |
86+
| `v0.1.0`| 版本号 | 锁定特定版本 |
8787

8888
```bash
8989
git clone --recurse-submodules https://github.com/Awesome-Embedded-Learning-Studio/imx-forge.git
@@ -98,7 +98,7 @@ docker run -it --rm -v $(pwd):/workspace ghcr.io/awesome-embedded-learning-studi
9898

9999
使用特定版本:
100100
```bash
101-
docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:v1.0.0
101+
docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:v0.1.0
102102
```
103103

104104
> **镜像说明**: 基于 Ubuntu 24.04,预装 ARM GNU Toolchain 15.2.rel1 及所有开发依赖,截至文档更新时约 2GB(实际大小可能存在波动)。详见 [Docker 发布文档](document/ci/docker-publish.md)

docker/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
### 方式一:直接拉取预构建镜像(推荐)
1616

17-
我们已经为你构建好了 Docker 镜像,可以直接拉取使用
17+
我们会为正式 release 提供预构建 Docker 镜像,可以直接拉取使用。正式版本标签从 `v0.1.0` 开始;如果尚未发布对应标签,请使用本地构建方式。
1818

1919
```bash
2020
# 拉取最新版本
@@ -27,7 +27,7 @@ docker run -it --rm -v $(pwd):/workspace ghcr.io/awesome-embedded-learning-studi
2727

2828
使用特定版本:
2929
```bash
30-
docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:v1.0.0
30+
docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:v0.1.0
3131
```
3232

3333
### 方式二:本地构建

document/QUICK_START.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@
3939

4040
IMX-Forge 是一个面向 NXP i.MX6ULL 开发板的开源构建系统,它将通常散落在各处的嵌入式开发资源整合在一起:
4141

42-
- **补丁管理** —— 基于 `format-patch + series` 的双轨补丁系统(linux-imx / mainline
43-
- **构建脚本** —— 一键构建 U-Boot、Linux 内核(NXP BSP / Mainline)、BusyBox Rootfs
42+
- **补丁管理** —— 基于 `format-patch` 的双轨补丁管理(当前自动应用脚本按文件名选择最新 patch;`series` 机制属于后续增强方向
43+
- **构建脚本** —— 一键构建 U-Boot、Linux NXP BSP 内核、BusyBox Rootfs;Mainline 由独立脚本和 CI 负责验证
4444
- **教程文档** —— 从工具链到系统调试的完整学习路径
4545
- **第三方源码** —— Git Submodule 管理的 U-Boot、Linux、BusyBox、QT 编译流水线
4646

@@ -56,8 +56,8 @@ IMX-Forge 是一个面向 NXP i.MX6ULL 开发板的开源构建系统,它将
5656
│ U-Boot (NXP uboot-imx) → u-boot-dtb.imx │
5757
│ ↓ │
5858
│ Linux Kernel (双轨支持) │
59-
│ ├── linux-imx (NXP BSP 6.12.3) → zImage + .dtb
60-
│ └── linux_mainline (上游内核) → zImage + .dtb
59+
│ ├── linux-imx (NXP BSP 6.12.3,默认系统构建轨) → zImage + .dtb │
60+
│ └── linux_mainline (上游内核,CI 验证轨) → zImage + .dtb │
6161
│ ↓ │
6262
│ BusyBox Rootfs → 最小文件系统 │
6363
│ ↓ │
@@ -76,8 +76,8 @@ patches/
7676
└── [mainline] 上游内核 ← 已完成迁移
7777
```
7878

79-
- **linux-imx**:NXP 官方 BSP,稳定可靠,驱动支持完善
80-
- **mainline**:上游主线内核,长期维护,可向上游贡献
79+
- **linux-imx**:NXP 官方 BSP,稳定可靠,驱动支持完善,是默认系统构建轨
80+
- **mainline**:上游主线内核,长期维护,可向上游贡献,项目通过 CI 构建验证持续兼顾
8181

8282
### 适合谁
8383

document/architecture/BUILD_SYSTEM.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ log_error "构建失败!"
478478
export SOURCE_DATE_EPOCH=1609459200 # 2021-01-01 00:00:00 UTC
479479

480480
# 执行发布构建
481-
./scripts/release_builder/build_release_uboot.sh v1.0.0
481+
./scripts/release_builder/build_release_uboot.sh v0.1.0
482482
```
483483

484484
**构建信息文件**
@@ -487,7 +487,7 @@ export SOURCE_DATE_EPOCH=1609459200 # 2021-01-01 00:00:00 UTC
487487
========================================
488488
U-Boot Release Build Information
489489
========================================
490-
Release Version: v1.0.0
490+
Release Version: v0.1.0
491491
Build Date: Fri Jan 1 00:00:00 UTC 2021
492492
Source Date Epoch: 1609459200
493493

document/architecture/PATCH_SYSTEM.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
## 目录
1010

1111
1. [系统概述](#系统概述)
12-
2. [format-patch + series 机制](#format-patch--series-机制)
12+
2. [format-patch series 规划](#format-patch--series-规划)
1313
3. [补丁目录组织规范](#补丁目录组织规范)
1414
4. [补丁版本管理](#补丁版本管理)
1515
5. [自动化工具使用](#自动化工具使用)
@@ -59,7 +59,11 @@ IMX-Forge 项目采用 **Git Submodule + Patch** 的混合管理模式,将第
5959

6060
---
6161

62-
## format-patch + series 机制
62+
## format-patch 与 series 规划
63+
64+
::: info 当前实现状态
65+
当前 `scripts/apply_patches.sh` 采用简化策略:按文件名排序,仅应用目标补丁目录中最新的 `.patch` 文件。下文描述的 `series` 顺序应用机制是推荐架构和后续增强方向,不代表当前脚本已经完整实现。
66+
:::
6367

6468
### Git format-patch 原理
6569

@@ -160,7 +164,7 @@ index 89171be84f27..b35ddc6e8ddb 100644
160164
1. **应用顺序控制**: 确保补丁按正确顺序应用
161165
2. **条件应用**: 通过注释分组管理补丁
162166
3. **版本追踪**: 在补丁文件名中嵌入版本信息
163-
4. **自动化集成**: 构建脚本读取 series 文件批量应用补丁
167+
4. **自动化集成**: 后续构建脚本可读取 series 文件批量应用补丁
164168

165169
### 补丁命名规范
166170

document/architecture/SYSTEM_ARCHITECTURE.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -684,15 +684,17 @@ imx-forge/
684684

685685
## 7. 设计决策记录
686686

687-
### 7.1 为什么选择 format-patch + series
687+
### 7.1 为什么选择 format-patch 与 series 规划
688+
689+
> 当前实现说明:项目现有自动补丁脚本仍采用“按文件名排序,仅应用最新 patch”的简化策略。`series` 是推荐架构和后续增强方向,用于未来管理多补丁顺序。
688690
689691
**背景**
690692

691693
嵌入式开发中,对厂商 BSP 的修改管理是一个挑战。直接修改源码无法追踪、无法复用、难以贡献回上游。
692694

693695
**决策**
694696

695-
采用 Git `format-patch` 生成的标准补丁格式,配合 `series` 文件管理应用顺序。
697+
采用 Git `format-patch` 生成的标准补丁格式;后续可配合 `series` 文件管理应用顺序。
696698

697699
**理由**
698700

document/ci/ci-full.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@
7373
|----------|------|--------|
7474
| release-images | `out/release-latest/images/` | 30 天 |
7575

76+
::: info 双轨说明
77+
Full Build 同时验证 Linux NXP BSP 和 Linux Mainline。当前 `release-images` artifact 主要来自 `release-all.sh` 的 BSP 默认链路;Mainline 在同一次工作流中作为兼顾轨道进行构建验证。
78+
:::
79+
7680
## 使用场景
7781

7882
1. **PR 完整验证**:添加 `full-build` 标签

document/ci/ci-release.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
发布构建工作流,为正式发布准备构建产物。
44

5+
::: info 产物定位
6+
当前 Release Build 打包的是 `release-all.sh` 生成的构建验证产物,主要来自 BSP 默认链路。IMX-Forge 的交付重点是可复现构建体系,而不是承诺通用可直接烧录的 binary。
7+
:::
8+
59
## 文件
610

711
`.github/workflows/ci-release.yml`
@@ -19,8 +23,8 @@
1923

2024
| 分支名 | 提取的版本 |
2125
|--------|------------|
22-
| `release-1.0.0` | `1.0.0` |
23-
| `release-2.5.0-beta` | `2.5.0-beta` |
26+
| `release-0.1.0` | `0.1.0` |
27+
| `release-0.2.0-beta` | `0.2.0-beta` |
2428

2529
## 构建流程
2630

@@ -64,8 +68,8 @@ imx-forge-{version}.tar.gz
6468

6569
1. 创建 release 分支:
6670
```bash
67-
git checkout -b release-1.0.0
68-
git push origin release-1.0.0
71+
git checkout -b release-0.1.0
72+
git push origin release-0.1.0
6973
`` ``
7074

7175
2. 等待 CI 构建完成

document/ci/docker-publish.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
<PageHeader icon="🐳" title="Docker 镜像发布" description="IMX-Forge 预构建 Docker 镜像发布流程,用户可直接拉取使用" />
1+
<PageHeader icon="🐳" title="Docker 镜像发布" description="IMX-Forge Docker 镜像发布流程,正式版本从 v0.1.0 开始" />
22

33
## 概述
44

5-
IMX-Forge 提供**预构建的 Docker 镜像**,用户无需手动构建,可直接拉取使用。镜像通过 GitHub Actions 自动构建并发布到 GitHub Container Registry。
5+
IMX-Forge 会为正式 release 提供**预构建的 Docker 镜像**,用户无需手动构建即可获得一致的开发环境。镜像通过 GitHub Actions 自动构建并发布到 GitHub Container Registry。
6+
7+
::: info 版本说明
8+
项目正式 release 从 `v0.1.0` 开始。历史 `v0.5` 是路线图里程碑编号,不等同于正式 Docker tag。
9+
:::
610

711
## 镜像标签策略
812

913
| 标签 | 获取方式 | 稳定性 | 用途 |
1014
|------|----------|--------|------|
1115
| `latest` | 手动触发 / 发布 tag | <Badge type="tip" text="稳定" /> | 推荐给大多数用户 |
1216
| `preview` | 手动触发 | <Badge type="warning" text="实验性" /> | 测试新功能、尝鲜 |
13-
| `v1.0.0`| 发布 tag | <Badge type="tip" text="稳定" /> | 锁定特定版本 |
17+
| `v0.1.0`| 发布 tag | <Badge type="tip" text="稳定" /> | 锁定特定版本 |
1418

1519
## 发布流程
1620

@@ -38,10 +42,10 @@ IMX-Forge 提供**预构建的 Docker 镜像**,用户无需手动构建,可
3842

3943
```bash
4044
# 创建版本 tag
41-
git tag v1.0.0
42-
git push origin v1.0.0
45+
git tag v0.1.0
46+
git push origin v0.1.0
4347

44-
# 自动触发构建:v1.0.0, v1, latest
48+
# 自动触发构建:v0.1.0, v0.1, v0, latest
4549
```
4650

4751
## 镜像内容
@@ -70,7 +74,7 @@ docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:latest
7074
docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:preview
7175

7276
# 特定版本
73-
docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:v1.0.0
77+
docker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:v0.1.0
7478
```
7579

7680
### 运行容器

0 commit comments

Comments
 (0)