{"id":50870537,"url":"https://awesome-embedded-learning-studio.github.io/imx-forge/","last_synced_at":"2026-07-02T18:01:19.789Z","repository":{"id":343136886,"uuid":"1173983274","full_name":"Awesome-Embedded-Learning-Studio/imx-forge","owner":"Awesome-Embedded-Learning-Studio","description":"This is a repo with templated contains imx6ull-chips, uboot, kernel, rootfs patches to make fast apply","archived":false,"fork":false,"pushed_at":"2026-06-21T03:36:56.000Z","size":103161,"stargazers_count":66,"open_issues_count":6,"forks_count":10,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-21T05:09:51.942Z","etag":null,"topics":["bsp","device-driver","embedded-linux","embedded-systems","hands-on","imx6ull","linux-kernel","nxp","tutorial","u-boot"],"latest_commit_sha":null,"homepage":"https://awesome-embedded-learning-studio.github.io/imx-forge/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Awesome-Embedded-Learning-Studio.png","metadata":{"files":{"readme":"README.md","changelog":"changelog/CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-06T00:24:58.000Z","updated_at":"2026-06-21T03:37:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Awesome-Embedded-Learning-Studio/imx-forge","commit_stats":null,"previous_names":["awesome-embedded-learning-studio/imx-forge"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Awesome-Embedded-Learning-Studio/imx-forge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Awesome-Embedded-Learning-Studio%2Fimx-forge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Awesome-Embedded-Learning-Studio%2Fimx-forge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Awesome-Embedded-Learning-Studio%2Fimx-forge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Awesome-Embedded-Learning-Studio%2Fimx-forge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Awesome-Embedded-Learning-Studio","download_url":"https://codeload.github.com/Awesome-Embedded-Learning-Studio/imx-forge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Awesome-Embedded-Learning-Studio%2Fimx-forge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35057450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bsp","device-driver","embedded-linux","embedded-systems","hands-on","imx6ull","linux-kernel","nxp","tutorial","u-boot"],"created_at":"2026-06-15T05:00:28.870Z","updated_at":"2026-07-02T18:01:19.773Z","avatar_url":"https://github.com/Awesome-Embedded-Learning-Studio.png","language":"Shell","funding_links":[],"categories":["✨ 为什么选择 IMX-Forge？"],"sub_categories":["📚 完整的 0→1 学习路径"],"readme":"\u003cdiv align=\"center\"\u003e\n\n```\n██╗███╗   ███╗██╗  ██╗      ███████╗ ██████╗ ██████╗  ██████╗ ███████╗\n██║████╗ ████║╚██╗██╔╝      ██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔════╝\n██║██╔████╔██║ ╚███╔╝ █████╗█████╗  ██║   ██║██████╔╝██║  ███╗█████╗\n██║██║╚██╔╝██║ ██╔██╗ ╚════╝██╔══╝  ██║   ██║██╔══██╗██║   ██║██╔══╝\n██║██║ ╚═╝ ██║██╔╝ ██╗      ██║     ╚██████╔╝██║  ██║╚██████╔╝███████╗\n╚═╝╚═╝     ╚═╝╚═╝  ╚═╝      ╚═╝      ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚══════╝\n```\n\n**面向 NXP i.MX6ULL 的嵌入式 Linux 开发工坊 —— 从工具链到驱动的完整学习路径**\n\n[![CI](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/actions/workflows/ci-build.yml/badge.svg)](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/actions/workflows/ci-build.yml)\n[![Tag](https://img.shields.io/github/v/tag/Awesome-Embedded-Learning-Studio/imx-forge?sort=semver\u0026style=flat-square\u0026label=Tag\u0026color=blue)](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/tags)\n[![Latest Stable](https://img.shields.io/github/v/release/Awesome-Embedded-Learning-Studio/imx-forge?style=flat-square\u0026label=latest%20stable\u0026color=blue)](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/releases/latest)\n[![License](https://img.shields.io/badge/License-MIT-orange?style=flat-square)](LICENSE)\n[![Contributors](https://img.shields.io/github/contributors/Awesome-Embedded-Learning-Studio/imx-forge?style=flat-square)](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/graphs/contributors)\n[![Docker](https://img.shields.io/badge/Docker-supported%20%EF%83%8B-blue?style=flat-square)](docker/README.md)\n[![WSL2](https://img.shields.io/badge/WSL2-Tested%20%26%20OK-brightgreen?style=flat-square)](document/QUICK_START.md)\n[![Kernel](https://img.shields.io/badge/Kernel-dual%20track%20(6.12.3%20%2B%207.1)-blue?style=flat-square)](#-为什么选择-imx-forge)\n[![Mainline](https://img.shields.io/badge/Mainline-migrated%20%EF%83%A0-brightgreen?style=flat-square)](#-为什么选择-imx-forge)\n\n\u003c/div\u003e\n\n---\n\n## ✨ 为什么选择 IMX-Forge？\n\n### 🐳 开箱即用的开发环境\n\n\u003e **5分钟配置完成，跨平台支持**\n\n- ✅ 预装 ARM GNU Toolchain 15.2.rel1 和所有依赖\n- ✅ 无需配置工具链 PATH，无需担心版本冲突\n- ✅ 国内优化版本（Dockerfile.cn）加速下载\n- ✅ 支持烧录和网络启动（USB/NFS）\n- ✅ **WSL2 深度友好** —— Mirrored 网络模式，Windows 用户无需双系统\n\n**详细文档**: [Docker 开发环境指南](docker/README.md) | [WSL2 配置教程](document/tutorial/docker/01_docker_basics.md#wsl2-安装)\n\n### 🔧 双轨内核策略\n\n\u003e **紧跟上游，学习最新内核技术**\n\n- 📦 **NXP BSP 轨道** —— 基于 6.12.3，稳定可靠\n- 🚀 **Mainline 轨道** —— 基于 7.1，紧跟上游最新特性\n- 🔄 完整的迁移指南和对比分析\n\n### 📚 完整的 0→1 学习路径\n\n\u003e **持续增长的教程体系，从入门到实战**\n\n```\n工具链 → U-Boot → 内核 → Rootfs → 驱动开发 → 实战项目\n```\n\n每一步都有详细的文档和实战示例，不再是\"这里略去一万字\"的坑人教程。\n\n**在线阅读**: [https://awesome-embedded-learning-studio.github.io/imx-forge/](https://awesome-embedded-learning-studio.github.io/imx-forge/)\n\n### 🔥 活跃开发中\n\n\u003e **持续更新，内容不断完善**\n\n- 🆕 **系统驱动教程** —— 从硬件实现到驱动实战，一点不落下！\n- 📝 **43+ 篇驱动相关教程** —— 涵盖字符设备、设备树、内核模块等。\n- ✅ **CI/CD 完善** —— 自动化构建测试，确保代码质量。\n\n---\n\n## 🚀 快速开始\n\nIMX-Forge 支持 **Docker** 和 **WSL2 + Docker** 两种开发环境：\n\n### 🐳 Docker 环境（推荐 ⭐）\n\n跨平台支持，5 分钟配置完成，开箱即用。\n\n#### 方式一：直接拉取镜像（最简单）\n\n我们提供预构建的 Docker 镜像，包含完整的开发环境。`v1.0.0` 是首个轻量可用版本，重点完成正点原子阿尔法 i.MX6ULL 的构建、镜像、烧录、启动闭环；历史 `v0.5` 仅作为路线图里程碑编号保留。\n\n| 标签 | 说明 | 适用场景 |\n|------|------|----------|\n| `latest` | 稳定版本 | 日常开发推荐 |\n| `preview` | 预览版本 | 测试新功能 |\n| `v1.0.0` 等 | 版本号 | 锁定特定版本 |\n\n```bash\ngit clone --recurse-submodules https://github.com/Awesome-Embedded-Learning-Studio/imx-forge.git\ncd imx-forge\n\n# 拉取稳定版镜像\ndocker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:latest\n\n# 启动开发环境\ndocker run -it --rm -v $(pwd):/workspace ghcr.io/awesome-embedded-learning-studio/imx-forge:latest\n```\n\n使用特定版本：\n```bash\ndocker pull ghcr.io/awesome-embedded-learning-studio/imx-forge:v1.0.0\n```\n\n\u003e **镜像说明**: 基于 Ubuntu 24.04，预装 ARM GNU Toolchain 15.2.rel1 及所有开发依赖，截至文档更新时约 2GB（实际大小可能存在波动）。详见 [Docker 发布文档](document/ci/docker-publish.md)\n\n#### 方式二：本地构建\n\n如需自定义或使用国内镜像优化版：\n```bash\ngit clone --recurse-submodules https://github.com/Awesome-Embedded-Learning-Studio/imx-forge.git\ncd imx-forge/docker \u0026\u0026 docker build -t imx-forge:latest . \u0026\u0026 cd ..\ndocker run -it --rm -v $(pwd):/workspace imx-forge:latest\n./scripts/release-all.sh\n```\n\n`release-all.sh` 默认生成 eMMC 镜像；发布或回归 SD/eMMC 双介质时推荐：\n\n```bash\n./scripts/release-all.sh --boot-media both\n```\n\nv1.0.0 的 SD 卡启动与 UUU + UMS eMMC 启动流程，已由仓库主作者 CharlieChen114514 在正点原子阿尔法 i.MX6ULL 开发板上完成实验验证。\n\n\u003e **国内用户加速**: 如果 ghcr.io 拉取较慢，可配置 Docker 镜像加速，详见 [Docker 文档](docker/README.md#国内用户加速)\n\n### 🪟 WSL2 + Docker（Windows 用户首选）\n\n无需双系统，Windows 下原生开发体验。支持 Mirrored 网络模式直接访问开发板，USB 设备直通用于烧录和串口调试。\n\n---\n\n📖 **详细配置指南**: [QUICK_START.md](document/QUICK_START.md)\n\n---\n\n## 📖 学习路径\n\n| 阶段 | 主题 | 内容 | 状态 |\n|------|------|------|------|\n| 🌱 | [Linux 基础预备营](document/tutorial/linux-basics) | 零基础？35 章 Ubuntu 实用教程，补齐嵌入式必备 Linux 功课 | ✅ 新增 |\n| 0️⃣ | [Docker 基础](document/tutorial/docker) | Docker 基础知识与 IMX-Forge 开发指南 | ✅ |\n| 1️⃣ | [工具链](document/tutorial/start) | ARM GNU Toolchain 15.2 安装与配置 | ✅ |\n| 2️⃣ | [U-Boot](document/tutorial/uboot) | U-Boot 原理、编译、移植、Logo 定制 | ✅ |\n| 3️⃣ | [内核开发](document/tutorial/kernel) | 设备树、内核配置、驱动开发、网络启动 | ✅ |\n| 4️⃣ | [Rootfs](document/tutorial/rootfs) | BusyBox、inittab、NFS 挂载、应用集成 | ✅ |\n| 5️⃣ | [驱动开发](document/tutorial/driver) | 字符设备、设备树、pinctrl/gpio、platform、key/input 子系统 | ✅ 持续扩展 |\n| 6️⃣ | [实战演练](document/tutorial/practical) | 完整系统构建与调试 | ✅ |\n\n---\n\n## 🎯 支持的开发板\n\n| 板卡 | 芯片 | 状态 |\n|------|------|------|\n| 正点原子阿尔法 | i.MX6ULL | ✅ 完整支持 |\n\n其他开发板（如野火等）欢迎提交 PR！\n\n---\n\n## ✅ CI/CD\n\n项目通过 GitHub Actions 实现自动化构建测试：\n- 组件构建验证 —— 每次提交自动检测变更并触发相关组件构建\n- 智能缓存 —— 使用 ccache 加速构建\n- 多轨支持 —— 同时验证 U-Boot、Linux NXP BSP、Linux Mainline、BusyBox\n\n[查看 CI 状态](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/actions)\n\n---\n\n## 🤝 贡献指南\n\n我们欢迎各种形式的贡献！\n\n**完整贡献指南**: [CONTRIBUTING.md](CONTRIBUTING.md)\n\n**快速开始**：\n- 🐛 [报告 Bug](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/issues)\n- ✨ [提出功能请求](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/issues)\n- 📝 [改进文档](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/blob/main/CONTRIBUTING.md#-如何贡献)\n- 🔧 [提交代码](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/blob/main/CONTRIBUTING.md#-开发工作流)\n\n**补丁命名规范**：\n- `[linux-imx]` 前缀 —— NXP BSP 轨道补丁\n- `[mainline]` 前缀 —— 上游内核轨道补丁\n- `[uboot]` 前缀 —— U-Boot 补丁\n\n---\n\n## 👥 贡献者\n\n感谢所有为本项目做出贡献的开发者！\n\n[完整列表](CONTRIBUTORS.md) · [GitHub Contributors](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/graphs/contributors)\n\n---\n\n## 📄 开源协议\n\nMIT LICENSE —— 详见 [LICENSE](LICENSE)\n\n若补丁源自 GPL 授权的 linux-imx 或 NXP U-Boot，则保留其原始 GPL-2.0 许可证。\n\n---\n\n## 🔗 相关链接\n\n- **快速开始**: [QUICK_START.md](document/QUICK_START.md)\n- **教程目录**: [document/tutorial/](document/tutorial/)\n- **项目规划**: [document/todo/todo.md](document/todo/todo.md)\n- **问题反馈**: [GitHub Issues](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/issues)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**用 🔥 和无数串口终端堆出来的工程。希望我们可以更方便地自定义自己的 i.MX6ULL 系统。**\n\n[⭐ Star](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge) · [🍴 Fork](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/fork) · [📢 Issues](https://github.com/Awesome-Embedded-Learning-Studio/imx-forge/issues)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/awesome-embedded-learning-studio.github.io%2Fimx-forge%2F","html_url":"https://awesome.ecosyste.ms/projects/awesome-embedded-learning-studio.github.io%2Fimx-forge%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/awesome-embedded-learning-studio.github.io%2Fimx-forge%2F/lists"}