Skip to content

RV1126B-P Docker Build Environment v0.1.0

Choose a tag to compare

@csvke csvke released this 21 Jan 07:40
· 6 commits to main since this release

First stable release - Reproducible Docker build environment for Rockchip RV1126B-P Linux SDK

🎉 What's New

This is the initial release of a containerized build environment that solves build issues on modern Linux distributions (Ubuntu 24.10+ with GCC 14.2).

✨ Features

  • Ubuntu 24.04 LTS base - GCC 13.3.0 avoids libffi compilation errors
  • All dependencies pre-installed - Python 2.7.18, lz4 v1.9.4, build tools
  • tmux integration - Persistent build sessions with full scrollback support
  • SDK mounted from host - Edit source files on host, build in container
  • Privileged mode - Full kernel access for proper build environment
  • Root user workaround - Bypasses fakeroot semaphore issues in Docker
  • Optimized mirrors - Fast, reliable package downloads (GNU/buildroot official mirrors)

🔧 What Problems Does This Solve?

GCC 14.2 Compatibility Issues

Modern Ubuntu 24.10+ ships with GCC 14.2 which causes libffi build failures in the SDK. This Docker environment uses Ubuntu 24.04 with GCC 13.3.0 for compatibility.

Fakeroot Semaphore Errors

Docker containers have known issues with fakeroot's IPC semaphores. This release runs as root to bypass fakeroot entirely, producing identical firmware without errors.

Network Timeouts

Configured with reliable mirror URLs to avoid download failures from slow third-party mirrors.

📋 Requirements

  • Docker Engine 20.10+
  • Docker Compose 2.0+
  • 50GB+ free disk space
  • 8GB+ RAM (16GB recommended)

🚀 Quick Start

# 1. Clone this repository
git clone https://github.com/Fanconn-RV1126B-P/RV1126B-P-Dev-Docker.git
cd RV1126B-P-Dev-Docker

# 2. Build Docker image
docker compose build

# 3. Run container
docker compose run --rm rv1126b-builder

# 4. Inside container - build firmware
tmux new -s build
cd rv1126b_linux6.1_sdk_v1.1.0
./build.sh lunch  # Select option 9
./build.sh        # Builds in ~30-60 minutes

✅ Verified Build Output

Successfully builds complete firmware package:

  • update.img (673MB) - Complete flashable firmware
  • MiniLoaderAll.bin (441KB) - SPL bootloader
  • uboot.img (4.0MB) - U-Boot
  • boot.img (39MB) - Linux kernel + device tree
  • rootfs.img (560MB) - Root filesystem (ext2)
  • recovery.img (44MB) - Recovery system
  • oem.img (18MB) - OEM partition
  • userdata.img (8.0MB) - User data partition

🧪 Tested Configuration

  • Host OS: Ubuntu 24.10 (GCC 14.2) - build fails without Docker
  • Container OS: Ubuntu 24.04 LTS (GCC 13.3.0) - build succeeds
  • SDK Version: v1.1.0 ✅ Compatible
  • Build Config: rockchip_rv1126bp_evb1_v10_defconfig
  • Build Status: ✅ All stages pass (kernel, U-Boot, buildroot, recovery)

⚠️ Known Limitations

Root User Requirement

Container runs as root to bypass fakeroot semaphore issues. Output files are owned by root.

Workaround: After build completes, fix permissions on host:

sudo chown -R $(id -u):$(id -g) ~/RV1126B-P/RV1126B-P-SDK/rv1126b_linux6.1_sdk_v1.1.0/output

Temporary Mirror Configuration

Mirror changes in .config are temporary and lost on clean builds.

Permanent fix: See README troubleshooting section for defconfig modifications.

📚 Documentation

Complete documentation available in README.md:

  • Step-by-step build guide
  • Build verification instructions
  • tmux session management
  • Troubleshooting guide
  • Advanced usage patterns

🔗 Related Links

🙏 Acknowledgments

Built to solve build environment issues encountered with the Rockchip RV1126B-P SDK on modern Linux distributions.


Image Tag: rv1126b-builder:v0.1.0
Build Time: ~5-10 minutes (Docker image) + 30-60 minutes (firmware)
Image Size: ~2GB