
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像是专为GitLab CI runner环境设计的容器化解决方案,用于标准化和自动化Das U-Boot(通用引导加载程序)的构建流程。通过预配置构建依赖和工具链,解决不同CI runner环境中依赖差异导致的构建不一致问题,确保Das U-Boot的构建过程可重复、高效且环境无关。
从容器仓库拉取镜像(假设仓库为registry.example.com,实际使用时替换为实际仓库地址):
bashdocker pull registry.example.com/das-uboot-build-ci:latest
在GitLab项目中创建或修改.gitlab-ci.yml文件,集成本镜像到构建阶段:
yamlstages: - build uboot-build: stage: build image: registry.example.com/das-uboot-build-ci:latest variables: U_BOOT_VERSION: "v2023.10" # 目标Das U-Boot版本 BUILD_TARGET: "armv7" # 目标平台(如armv7、aarch64、x86等) OUTPUT_DIR: "./build-output" # 构建产物输出目录 script: - git clone https://git.denx.de/u-boot.git -b $U_BOOT_VERSION /u-boot-src - cd /u-boot-src - make ${BUILD_TARGET}_defconfig # 加载目标平台默认配置 - make -j$(nproc) # 并行构建 - mkdir -p $OUTPUT_DIR - cp u-boot.bin u-boot.img $OUTPUT_DIR/ # 复制产物到输出目录 artifacts: paths: - $OUTPUT_DIR/ # 保存构建产物,供后续阶段使用 expire_in: 1 week # 产物保留时间
本地通过docker run命令模拟CI环境,验证构建流程:
bash# 假设本地Das U-Boot源码目录为 ./u-boot-src,输出目录为 ./local-output docker run -it --rm \ -v $(pwd)/u-boot-src:/u-boot-src \ # 挂载本地源码目录 -v $(pwd)/local-output:/output \ # 挂载输出目录 -e U_BOOT_VERSION="v2023.10" \ # 指定版本 -e BUILD_TARGET="armv7" \ # 指定目标平台 registry.example.com/das-uboot-build-ci:latest \ sh -c "cd /u-boot-src && make ${BUILD_TARGET}_defconfig && make -j$(nproc) && cp u-boot.bin u-boot.img /output/"
通过docker-compose.yml简化本地测试环境配置:
yamlversion: '3.8' services: uboot-build: image: registry.example.com/das-uboot-build-ci:latest volumes: - ./u-boot-src:/u-boot-src # 本地源码目录 - ./local-output:/output # 构建产物输出目录 environment: - U_BOOT_VERSION=v2023.10 - BUILD_TARGET=armv7 - OUTPUT_DIR=/output command: > sh -c "cd /u-boot-src && make $BUILD_TARGET_defconfig && make -j$(nproc) && cp u-boot.bin u-boot.img $OUTPUT_DIR/"
启动构建:
bashdocker-compose up
| 环境变量名 | 默认值 | 说明 |
|---|---|---|
U_BOOT_VERSION | latest | 指定构建的Das U-Boot版本(如v2023.10、master),对应Git仓库分支/标签。 |
BUILD_TARGET | armv7 | 目标平台架构,需与Das U-Boot支持的defconfig名称匹配(如aarch64、x86_64)。 |
OUTPUT_DIR | /build-output | 容器内构建产物的输出目录,建议通过卷挂载到宿主机以便持久化。 |
MAKE_JOBS | $(nproc) | Make并行任务数,默认使用容器内CPU核心数,可手动指定(如4)。 |
EXTRA_DEFCONFIG | 空 | 额外的Kconfig配置片段(如CONFIG_DEBUG=y),会追加到目标defconfig中。 |
root或ci-user)有读写权限,避免构建产物无法写入。BUILD_TARGET需与指定的U_BOOT_VERSION兼容,建议参考Das U-Boot官方文档确认目标版本支持的平台。artifacts在GitLab CI中保存产物,或本地检查输出目录下的u-boot.bin等文件完整性。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务