This repository contains scripts to create Docker containers hosting OpenWrt. https://hub.docker.com/r/openwrtorg/rootfs
 
Go to file
Paul Spooren f7a375b9dc switch $TYPE logic to work during tests
THe recent changes were a bit short-sighted, not putting into
consideration all labels and different behaviour during testing. This
final commit should fix building for all versions, be it snapshot, a
release snapshot or a regular point release.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2021-02-27 23:26:59 -10:00
.gitlab/ci switch $TYPE logic to work during tests 2021-02-27 23:26:59 -10:00
rootfs/etc
.gitignore
.gitlab-ci.yml use build job names again for TARGET/ARCH 2021-02-26 21:47:49 -10:00
Dockerfile
Dockerfile.deploy
Dockerfile.rootfs
LICENSE
README.md
docker-build.sh use build job names again for TARGET/ARCH 2021-02-26 21:47:49 -10:00
docker-common.sh
docker-download.sh
docker-imagebuilder.sh refactor build scripts 2021-02-23 19:53:22 -10:00
docker-rootfs.sh refactor build scripts 2021-02-23 19:53:22 -10:00
docker-sdk.sh use build job names again for TARGET/ARCH 2021-02-26 21:47:49 -10:00
functions.sh switch $TYPE logic to work during tests 2021-02-27 23:26:59 -10:00
generate_targets.sh switch $TYPE logic to work during tests 2021-02-27 23:26:59 -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
  • arm_cortex-a15_neon-vfpv4
  • aarch64_generic
  • mips_24kc
  • malta-be
  • i386_pentium4

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.