This repository contains scripts to create Docker containers hosting OpenWrt. https://hub.docker.com/r/openwrtorg/rootfs
 
Go to file
Paul Spooren b24eb19785 add downstream dependencie and quote version
The VERSION variable is still missing in downstream jobs even though the
documentation states it could be added like that. Add the VERSION to the
trigger job and also quote it, to avoid possible YAML parsing issues.

Adding a *depend* to the triggered job makes the CI report the
downstream success state instead of instantly marking the upstream job
as success. Meaning, if a downstream SDK or IB job fails, the upstream
job is marked as failed.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-13 10:20:58 -10:00
.gitlab/ci add downstream dependencie and quote version 2020-09-13 10:20:58 -10:00
rootfs/etc
.gitignore
.gitlab-ci.yml replace BRANCH with VERSION 2020-09-11 08:06:37 +02:00
Dockerfile
Dockerfile.deploy
Dockerfile.rootfs
LICENSE
README.md replace BRANCH with VERSION 2020-09-11 08:06:37 +02:00
docker-build.sh replace BRANCH with VERSION 2020-09-11 08:06:37 +02:00
docker-common.sh
docker-download.sh
docker-imagebuilder.sh version fixup 2020-09-10 21:04:49 -10:00
docker-rootfs.sh version fixup 2020-09-10 21:04:49 -10:00
docker-sdk.sh fixup docker-sdk.sh TARGET usage 2020-09-11 09:04:41 -10:00
generate_targets.sh add downstream dependencie and quote version 2020-09-13 10:20:58 -10:00

README.md

OpenWrt Docker repository

GPL-2.0-only License CI Docker Hub

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.

rootfs

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.

Example

docker run --rm -it openwrtorg/rootfs

Enjoy a local OpenWrt container with internet access. Once closed the image is removed.

Tags

  • x86-64
  • armvirt-32
  • armvirt-64

sdk

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.

Example

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.

Tags

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.

imagebuilder

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.

Example

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.

Tags

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.