Checkout this repository and run
git clone https://github.com/Doodle3D/openwrt-buildroot.git $ ./Run.sh
This buildroot is a sharable build environment to build OpenWRT images with the custom Doodle3D WiFi-Box configuration and packages. The resulting image can be flashed to a OpenWRT compatible device, currently specifically the TP-Link MR3020.
Instead of contaminating your machine with lots of build dependencies, which vary per operating system, we create a separate virtual machine using Docker (Understanding docker).
We created Run.sh to automate the most common use case; building an image and flashing this to a WiFi-Box.
- The Run.sh script will clone the Doodle3D WiFi-Box packages, so these can be developed locally.
- A container is created from our buildroot image. This image is comparable to a .img file used with VirtualBox or an operating system installation disk. We've already uploaded a ready made buildroot image, but you can also build it yourself, see Image development.
- In this buildroot container, our Build.sh is executed. This will use the local packages (through a shared volume), build the actual OpenWRT image and copy the image to the shared bin volume.
- Flash this OpenWRT image it to an OpenWRT device that connected to your computer.
Clone this repository
$ git clone https://github.com/Doodle3D/openwrt-buildroot.git $ cd openwrt-buildroot
Build image from Dockerfile (normally this is downloaded from Docker Hub)
This is done according to our Dockerfile.
$ docker build -t doodle3d/openwrt-buildroot .
Run as interactive docker container.
This enables you to access the buildroot container and make changes.
$ docker run -t -i -v "$PWD/bin:/home/openwrt/shared/bin" -v "$PWD/customfeeds:/home/openwrt/shared/customfeeds" -u openwrt --name openwrt-buildroot doodle3d/openwrt-buildroot bash
Common Docker commands
user@container: $ exit # exit container $ docker ps # show running processes $ docker ps -a -s # show all processes with size $ docker start <NAME> # (re)start container $ docker attach <NAME> # attach to container
Using Docker through Kitematic on OS X
Open Kitematic (this starts the Virtual machine with the docker daemon)
click open terminal button
scroll upwards in this terminal window
copy line and rewrite to environment variable such as:
$ export DOCKER_HOST=tcp://192.168.99.100:2376 DOCKER_CERT_PATH=~/.docker/machine/machines/dev DOCKER_TLS_VERIFY=1
Include this in your