I’ve been working on an easy to use build system for the Buildroot based YIO-remote OS. The initial Docker based build image is now available in the dev branch: https://github.com/YIO-Remote/remote-os/tree/dev/docker
Feedback and testers are welcomed!
It’s by no means finished, but the RPi SD card image can already be built with a single command.
Next steps are building the remote-software and integration plugins for the RPi.
Available build commands:
info Print Git information of the available projects bash Start a shell for manual operations inside the container clean Clean all projects build Build all projects update Update all projects on the current branch <project> git [options] <command> [<args>] Perform Git command on given project <project> clean Clean the given project <project> build Build the given project
Available projects are:
remote-os - the other projects will follow…
Get the Docker Image
You can either build the image yourself according to the information in the README, or just pull it from my temporary accessible Google Cloud registry for the initial tests.
Simply prefix the
yio-remote/build image name in the README with
gcr.io/ and the image is automatically pulled from the cloud
docker pull gcr.io/yio-remote/build
How to use it:
a) Docker Compose
If you have Docker Compose setup then it’s a simple command in the remote-os/docker directory:
This will automatically build the SD card image and store it in the subdirectory
For other build commands the docker-compose.yml file needs to be edited…
b) Plain Docker
With plain Docker a few more steps are involved and it’s more flexible:
Create Docker Volumes to persist projects and build artefacts:
docker volume create yio-projects docker volume create yio-buildroot
Create a directory on the host to store the final build artefacts (SD card image for now)
mkdir -p ~/projects/yio-remote/build
docker run --rm -it \ -v ~/projects/yio-remote/build:/yio-remote/target \ -v yio-projects:/yio-remote/src \ -v yio-buildroot:/yio-remote/buildroot \ gcr.io/yio-remote/build \ <build-command>
build-command: one of the above commands
Example: clean the remote-os project
docker run --rm -it \ -v ~/projects/yio-remote/build:/yio-remote/target \ -v yio-projects:/yio-remote/src \ -v yio-buildroot:/yio-remote/buildroot \ gcr.io/yio-remote/build \ remote-os clean