Warning
This is still very much work in progress and not suitable for being used in dev or production environments
This repository aims to provide a Buildroot BSP for the Rockchip RV1106 system on chip.
- Run u-boot SPL from rockchip source
- Run u-boot from rockchip source
- Boot linux 6.1 kernel from armbian source
- Automatically build root fs
- Check device drivers (Ethernet, SPI, I2C, I2C, etc.)
- Check integrated MCU support + Mailbox system
- Update u-boot (proper & spl) to mainline version
The buildsystem is based on two docker containers. A base image and an iterating image. The base image contains the toolchain and an initial build of the project. The iterating image is built ontop of the base image to speed up the build process by just rebuilding the iterating image.
This repository contains two github actions (.github/workflows/) which automatically build the base image on push to main (or by manually triggering it) or the iterating image on push to any other branch.
docker build -f Dockerfile -t olel/rv1106-buildroot-base:latest .docker build -f Dockerfile.dev --output type=tar,dest=- . | tar x -C distThis will output the build images to a directory called dist/
To manually build the project, you have two options:
This is work in progress, you can use the commands from the Dockerfile to build it on any debian-based os.
To speed up the dev process you can use the included docker-compose configuration file to setup a running container which actually does nothing (tail -f /dev/null), so you can attach to it and use the command-line to build the project. All configuration files and the board directory are directly mounted inside the container, so you can change them quickly.
DOCKER_DEFAULT_PLATFORM=linux/amd64 docker compose up -d(If you're on a amd64 machine, you can omit the DOCKER_DEFAULT_PLATFORM)
# Get container ID using
docker ps
# Exec a bash shell
docker exec -it <container_id> /bin/bashOnce you're attached to the bash, you can build the project using the following commands. All commands are executed in the /root/buildroot/ directory.
# see all options
make help
# cleanup everything (next build will take a long time)
make clean
# Reload the configuration
make rv1106_defconfig
# build everything
make
# rebuild single package (eg. uboot, linux, etc.)
make uboot
# clean single package (eg. uboot, linux, etc.)
make uboot-dircleanAfter building the images can be found at /root/buildroot/output/images, to boot from an SD-Card you can flash the sdcard.img file directly.