
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本Docker镜像集成了针对GBA(Game Boy Advance)、DS(Nintendo DS)、3DS(Nintendo 3DS)、GP32(GamePark 32)、GP2X(GamePark 2X)等经典掌上游戏机平台的开发工具链。旨在为开发者提供统一、可复现的开发环境,简化跨平台配置流程,支持相关平台应用程序(含homebrew软件)的开发、编译与测试。
bashdocker pull docker.xuanyuan.run/[镜像仓库地址]/gba-dev-env:latest
注:请将
[镜像仓库地址]替换为实际镜像仓库路径(如Docker Hub、私有仓库等)
1. 交互式开发环境
启动容器并进入交互式终端,直接在容器内进行开发操作:
bashdocker run -it --rm \ -v $(pwd):/project \ # 挂载本地项目目录到容器内/project --name gba-dev-session \ [镜像仓库地址]/gba-dev-env:latest \ /bin/bash
-it:启用交互式终端--rm:容器退出后自动清理-v $(pwd):/project:本地当前目录与容器内/project目录共享--name:指定容器名称(可选)2. 非交互式编译项目
直接执行编译命令,无需进入容器终端:
bashdocker run --rm \ -v $(pwd):/project \ -w /project \ # 设置工作目录为/project [镜像仓库地址]/gba-dev-env:latest \ make # 执行项目编译命令(根据项目Makefile配置)
通过环境变量自定义开发环境参数,常用配置如下:
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
TARGET_PLATFORM | 默认编译目标平台(可选值:gba/ds/3ds/gp32/gp2x) | gba |
TOOLCHAIN_PATH | 工具链安装路径 | /opt/toolchains |
SDK_PATH | 平台SDK根目录 | /opt/sdks |
bashdocker run -it --rm \ -v $(pwd):/project \ -e TARGET_PLATFORM=ds \ docker.xuanyuan.run/[镜像仓库地址]/gba-dev-env:latest \ /bin/bash
本地创建main.c(GBA屏幕绘制示例):
c#include <gba.h> int main(void) { irqInit(); // 初始化中断系统 irqEnable(IRQ_VBLANK); // 启用垂直空白中断 REG_DISPCNT = MODE_3 | BG2_ON; // 设置屏幕模式为Mode 3(240x160 16位色) // 在屏幕中央绘制红色像素 ((u16*)VRAM)[120*240 + 160] = RGB5(31, 0, 0); // RGB5格式:(红,绿,蓝),范围0-31 while(1) { VBlankIntrWait(); // 等待垂直空白中断,防止屏幕撕裂 } return 0; }
makefile# 编译器配置 CC = arm-none-eabi-gcc LD = arm-none-eabi-ld OBJCOPY = arm-none-eabi-objcopy # 编译选项(GBA平台专用) CFLAGS = -mthumb -mthumb-interwork -O2 -Wall -mcpu=arm7tdmi -mtune=arm7tdmi LDFLAGS = -Tgba.ld -L/opt/sdks/gba/lib # 使用GBA链接脚本 # 目标文件 TARGET = gba_demo.gba OBJ = main.o all: $(TARGET) $(TARGET): $(OBJ) $(LD) $(LDFLAGS) $(OBJ) -o $(TARGET).elf $(OBJCOPY) -O binary $(TARGET).elf $(TARGET) # 转换为GBA可执行格式 %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f *.o *.elf *.gba
bashdocker run --rm \ -v $(pwd):/project \ -w /project \ docker.xuanyuan.run/[镜像仓库地址]/gba-dev-env:latest \ make
编译完成后,本地目录生成gba_demo.gba文件,可通过GBA模拟器(如VisualBoyAdvance)运行测试。
挂载本地工具链目录覆盖默认配置:
bashdocker run -it --rm \ -v $(pwd):/project \ -v /path/to/custom-toolchains:/opt/toolchains \ # 挂载自定义工具链 [镜像仓库地址]/gba-dev-env:latest \ /bin/bash
通过docker commit保存自定义配置:
bash# 1. 启动基础容器并修改配置 docker run -it --name custom-dev docker.xuanyuan.run/[镜像仓库地址]/gba-dev-env:latest /bin/bash # 2. 在容器内完成配置后,另开终端执行提交 docker commit custom-dev my-custom-gba-dev:latest # 3. 使用自定义镜像 docker run -it --rm docker.xuanyuan.run/my-custom-gba-dev:latest /bin/bash
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务