This repository contains scripts to create Docker containers for OpenWrt. The scripts are run via an CI and upload such containers to docker.io.
Used variables are VERSION, TARGET, DOCKER_USER, DOCKER_PASS and DOCKER_IMAGE.
$VERSION: OpenWrt version to build (e.g. "snapshot" or "19.07.4")
$TARGET: OpenWrt target to build (e.g. "x86-64")
$DOCKER_USER: user to upload
$DOCKER_PASS: passwort to upload
$DOCKER_IMAGE: image name
To build multiple targets use the gen-targets.sh script which generates the
files targets.yml and targets_rootfs.yml, which are imported by the GitLab
runner. This allows to run multiple jobs in parallel.
See .gitlab-ci.yml for the current setup.
An unpackaged version of OpenWrt's rootfs for different architectures. The
./rootfs folder requires slight modifications to work within Docker,
additional files for the rootfs should be added there before building.
docker run --rm -it openwrtorg/rootfs
Enjoy a local OpenWrt container with internet access. Once closed the image is removed.
- x86_64
- armvirt-32
- armvirt-64
- arm_cortex-a15_neon-vfpv4
- arm_cortex-a9_vfpv3-d16
- aarch64_generic
- mips_24kc
- malta-be
- i386_pentium4
Contains the OpenWrt SDK based on a debian:latest container with required
packages preinstalled. This can be useful when building packages on MacOS X,
Windows or via CI.
docker run --rm -v "$(pwd)"/bin/:/home/build/openwrt/bin -it openwrtorg/sdk
# within the Docker container
./scripts/feeds update base
make defconfig
./scripts/feeds install firewall
make package/firewall/{clean,compile} -j$(nproc)
Enjoy a local OpenWrt SDK container building the firewall3 package and but the
binary in hosts ./bin folder.
All currently available SDKs via lower case <target>-<subtarget>[-<branch>],
appending 19.07-SNAPSHOT or 18.06.4 let's you build other than snapshots.
Contains the OpenWrt ImageBuilder based on a debian:latest container with
required packages preinstalled. This can be useful when creating images on
MacOS X, Windows or via CI.
docker run --rm -v "$(pwd)"/bin/:/home/build/openwrt/bin -it openwrtorg/imagebuilder
# within the Docker container
make image
Enjoy a local OpenWrt ImageBuilder container building an image for x86/64 and
store the binary in hosts ./bin folder.
All currently available SDKs via lower case <target>-<subtarget>[-<branch>],
appending 19.07-SNAPSHOT or 18.06.4 let's you build other than snapshots.