This repository contains scripts to create Docker containers hosting OpenWrt. https://hub.docker.com/r/openwrtorg/rootfs
 
Go to file
Petr Štetiar 54561b55a4 generate-targets: explicitly set container image to Debian 11
Otherwise it would use runner default, which might be unpredictable, as
for example GitLab provided public runners are using `ruby:2.5` as
default container image, but true.cz runners are using `debian:10`. So
lets fix it by using Debian 11 image by default.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-01-02 11:52:28 +01:00
.gitlab/ci generate-targets: explicitly set container image to Debian 11 2023-01-02 11:52:28 +01:00
rootfs/etc
.gitignore expand gitignore with usign/ & gpg/ 2019-10-11 13:56:14 -10:00
.gitlab-ci.yml use `base` container for SDKs/IBs 2021-03-18 09:54:04 -10:00
Dockerfile use `base` container for SDKs/IBs 2021-03-18 09:54:04 -10:00
Dockerfile.base Dockerfile.base: switch to Debian 11 2022-07-28 21:35:22 +02:00
Dockerfile.deploy fixup prebuild deploy container 2019-11-06 18:16:03 -10:00
Dockerfile.rootfs refactor: unify sdk and imagebuilder 2019-08-03 00:37:32 +02:00
LICENSE
README.md rootfs: add mvebu/cortexa9/arm_cortex-a9_vfpv3-d16 2022-02-22 17:16:33 +01:00
docker-build.sh rootfs: add $ARCH-$BRANCH tag 2022-01-14 11:48:33 +01:00
docker-common.sh docker-common: add 22.03 GnuPGP and usign keys 2022-03-26 22:35:54 +01:00
docker-download.sh Use wget for file downloads 2021-02-12 11:40:00 -10:00
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
  • arm_cortex-a9_vfpv3-d16
  • 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.