Adds documentation of building and using our dev container.

This commit is contained in:
2026-01-27 07:05:56 -08:00
parent 815f865060
commit 014402d3cc
3 changed files with 212 additions and 39 deletions

View File

@@ -2,11 +2,47 @@
**Issue**: #5 - Create Docker build environment for devkitARM
**Branch**: `docker-for-devkitarm`
**Status**: Planning
**Status**: **IMPLEMENTED** (Phase 1 Complete)
**Completed**: 2026-01-27
**Last Updated**: 2026-01-27
---
## Implementation Summary
Successfully implemented complete 3DS development container with full CIA file creation capability.
**What Was Delivered:**
-**3DS Container** (`docker/3ds.Dockerfile`)
- Based on `devkitpro/devkitarm:20251231`
- All 47 available 3DS portlibs installed
- bannertool (banner/icon creation)
- makerom and ctrtool (CIA assembly and validation)
- 3dstools (3dsxtool, smdhtool, mkromfs3ds)
- ccache, ninja, python3, and build tools
- Container size: ~1.6 GB
-**Build Scripts**
- `scripts/build-container.sh` - Build and tag containers
- `scripts/container-shell.sh` - Interactive development shell
-**Documentation**
- `docker/README.md` - Comprehensive container usage guide
- Updated main README.md with Quick Start section
-**Testing & Validation**
- Tested with 60/61 official 3ds-examples (98.4% success rate)
- Validated with Checkpoint (real-world save manager)
- Complete CIA workflow verified (creates all files: .3dsx, .elf, .smdh, banner.bnr, icon.icn, .cia)
- CIA validation with ctrtool confirms proper structure
**Completion Date**: January 27, 2026
**Phase 2 (Future)**: Extract to separate container repo and publish to DockerHub
**Phase 3 (Future)**: Additional platforms (Switch, Wii U, Wii, GameCube, NDS, GBA, PS Vita)
---
## Overview
We need containerized build environments for multiple game console platforms (3DS, Switch, Wii U, etc.). Each container will extend the official devkitPro base image and install **ALL available platform-specific libraries and tools** from dkp-pacman. This ensures developers have a complete, batteries-included build environment without local toolchain installation.