• Stars
    star
    417
  • Rank 100,325 (Top 3 %)
  • Language
    Dockerfile
  • License
    GNU General Publi...
  • Created almost 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Docker containers of the ImageBuilder and SDK

OpenWrt Docker repository

GPL-2.0-only License CI Docker Hub

This repository contains files to create OpenWrt containers. While mostly used for our CI you may use the scripts to build containers on your own.

Warning We switch our docker.io account from openwrtorg to openwrt

Available containers:

  • imagebuilder create firmware images
  • sdk compile OpenWrt packages
  • rootfs test software inside an OpenWrt runtime

All containers are mirrored to the follwing three registries:

  • docker.io
  • ghcr.io
  • quay.io

Find more details on the container types below

sdk

Contains the OpenWrt SDK based on the same container we use for our Buildbot infrastructure. This can be useful when building packages on macOS, Windows or via CI.

SDK Example

docker run --rm -v "$(pwd)"/bin/:/builder/bin -it openwrt/sdk
# inside the Docker container
./scripts/feeds update packages
make defconfig
./scripts/feeds install tmate
make package/tmate/{clean,compile} -j$(nproc)

Enjoy a local OpenWrt SDK container building the tmate package and but the binary in hosts ./bin folder.

SDK Tags

All currently available SDKs via tags in the following format:

  • <target>-<subtarget>[-<branch|tag|version>]

The branch|tag|version can be something like openwrt-22.03 (branch), v22.03.4 (tag) or 21.02.3 (version). To use daily builds use either master or SNAPSHOT.

imagebuilder

Contains the OpenWrt ImageBuilder based on the same container we use for our buildbot infrastructure. This can be useful when creating images on macOS, Windows or via CI.

ImageBuilder Example

docker run --rm -v "$(pwd)"/bin/:/builder/bin -it openwrt/imagebuilder
# inside the Docker container
make image PROFILE=generic PACKAGES=tmate

Enjoy a local OpenWrt ImageBuilder container building an image for x86/64 and store the binary in hosts ./bin folder.

ImageBuilder Tags

All currently available ImageBuilders via tags in the following format:

  • <target>-<subtarget>[-<branch|tag|version>]
  • <arch>[-<branch|tag|version>]

The branch|tag|version can be something like openwrt-22.03 (branch), v22.03.4 (tag) or 21.02.3 (version). To use daily builds use either master or SNAPSHOT.

rootfs (experimental)

The OpenWrt runtime uses multiple active serices to work, it's not really suited as a container. This rootfs should only be used for special cases like CI testing.

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.

Rootfs Example

docker run --rm -it openwrt/rootfs
# inside the Docker container
mkdir /var/lock/
opkg update
opkg install tmate
tmate

Enjoy a local OpenWrt container running the x86/64 architecture with internet access. Once closed the container is removed.

Rootfs Tags

"|||armvirt/32|armvirt/64|malta/be|mvebu/cortexa9

  • x86/64 or x86_64
  • x86/generic or i386_pentium4
  • x86/geode or i386_pentium-mmx
  • armvirt/32 or arm_cortex-a15_neon-vfpv4
  • armvirt/64 or aarch64_cortex-a53
  • malta/be or mips_24kc
  • mvebu/cortexa9 or arm_cortex-a9_vfpv3-d16

Build Your Own

If you wan to create your own container you can use the Dockerfile. You can set the following build arguments:

  • TARGET - the target to build for (e.g. x86/64)
  • DOWNLOAD_FILE - the file to download (e.g. imagebuilder-.*x86_64.tar.xz)
  • FILE_HOST - the host to download the ImageBuilder/SDK/rootfs from (e.g. downloads.openwrt.org)
  • VERSION_PATH - the path to the ImageBuilder/SDK/rootfs (e.g. snapshots or releases/21.02.3)

Example ImageBuilder

If you plan to use your own server please add your own GPG key to the ./keys/ folder.

docker build \
    --build-arg TARGET=x86/64 \
    --build-arg DOWNLOAD_FILE="imagebuilder-.*x86_64.tar.xz" \
    --build-arg FILE_HOST=downloads.openwrt.org \
    --build-arg VERSION_PATH=snapshots \
    -t openwrt/x86_64 .

More Repositories

1

openwrt

This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
C
17,849
star
2

luci

LuCI - OpenWrt Configuration Interface
JavaScript
5,848
star
3

packages

Community maintained packages for OpenWrt. Documentation for submitting pull requests is in CONTRIBUTING.md
Makefile
3,774
star
4

mt76

mac80211 driver for MediaTek MT76x0e, MT76x2e, MT7603, MT7615, MT7628 and MT7688
C
694
star
5

routing

OpenWrt Routing Packages
Shell
311
star
6

asu

An image on demand server for OpenWrt based distributions
Python
277
star
7

odhcpd

This repository is a mirror of https://git.openwrt.org/?p=project/odhcpd.git. Pull requests will be accepted which will be merged in odhcpd.git
C
159
star
8

chaos_calmer

Legacy OpenWrt "Chaos Calmer" release branch
C
131
star
9

telephony

The telephony packages feed
Makefile
99
star
10

mtk-wifi-gpl

MediaTek 802.11ac GPL driver
C
94
star
11

odhcp6c

This repository is a mirror of https://git.openwrt.org/?p=project/odhcp6c.git. It is for reference only and is not active for checks-ins or reporting issues; issues should be reported at: https://bugs.openwrt.org. Pull requests will be accepted which will be merged in odhcp6c.git
C
74
star
12

archive

Historical pre-merge OpenWrt archive
C
60
star
13

video

Makefile
49
star
14

omcproxy

OpenWrt embedded IGMPv3/MLDv2 Proxy
C
31
star
15

gh-action-sdk

GitHub CI action to build packages via SDK
Shell
23
star
16

buildscripts

Build and maintenance scripts for OpenWrt releases
Shell
23
star
17

qosify

[MIRROR] OpenWrt QoS implementation based one eBPF + CAKE
C
21
star
18

firmware-selector-openwrt-org

This repository is being migrated over from GitLab, ymmv
JavaScript
19
star
19

packages-abandoned

Feed for abandoned OpenWrt packages
Makefile
19
star
20

bcm63xx-next

Linux for Broadcom BCM63xx SoC
C
18
star
21

usteer

[MIRROR] OpenWrt AP service for client steering
C
15
star
22

netifd

[MIRROR] OpenWrt Network interface configuration daemon
C
14
star
23

firewall4

[MIRROR] OpenWrt nftables firewall
UnrealScript
14
star
24

targets

Feed for OpenWrt targets not maintained in mainline anymore
Makefile
13
star
25

uci

[MIRROR] OpenWrt Unified Configuration Interface
C
13
star
26

cypress-nvram

brcmfmac nvram files
12
star
27

libubox

[MIRROR] C utility functions for OpenWrt
C
11
star
28

firmware_qca-wireless

[MIRROR] Qualcomm Wireless Device BDF
9
star
29

buildbot

OpenWrt buildbot configuration
Python
9
star
30

ubus

[MIRROR] OpenWrt system message/RPC bus
C
9
star
31

rpcd

[MIRROR] OpenWrt ubus RPC daemon
C
7
star
32

usign

[MIRROR] Tiny signify replacement
C
7
star
33

unetd

[MIRROR] WireGuard based VPN connection manager for OpenWrt
C
6
star
34

bcm63xx-cfe

BCM63xx CFE binaries
6
star
35

uhttpd

[MIRROR] Tiny HTTP server
C
6
star
36

uclient

[MIRROR] libubox HTTP client library
C
6
star
37

firmware-utils

[MIRROR] OpenWrt firmware image utilities
C
5
star
38

ustream-ssl

[MIRROR] ustream SSL wrapper
C
5
star
39

mdnsd

[MIRROR] OpenWrt MDNS daemon
C
5
star
40

udebug

[MIRROR] OpenWrt debugging helper library/service
C
5
star
41

opkg-lede

[MIRROR] LEDE fork of Opkg
C
5
star
42

branding

This repository contains logos and color definitions used by OpenWrt
4
star
43

libnl-tiny

[MIRROR] Tiny OpenWrt fork of libnl
C
4
star
44

actions-shared-workflows

4
star
45

ustp

[MIRROR] OpenWrt MSTP/RSTP/STP daemon
C
4
star
46

ugps

[MIRROR] OpenWrt GPS daemon
C
4
star
47

uqmi

[MIRROR] Tiny QMI command line utility
C
4
star
48

firewall3

[MIRROR] OpenWrt firewall configuration utility
C
4
star
49

toh

JavaScript
4
star
50

iwinfo

[MIRROR] Library for accessing wireless device drivers
C
4
star
51

fstools

[MIRROR] OpenWrt filesystem utilities
C
3
star
52

relayd

[MIRROR] IPv4 pseudo-bridge routing daemon
C
3
star
53

jsonpath

[MIRROR] JSON parsing utility
C
3
star
54

make_ext4fs

[MIRROR] Standalone fork of Android make_ext4fs utility
C
3
star
55

procd

[MIRROR] OpenWrt service / process manager
C
3
star
56

ubox

[MIRROR] OpenWrt core utilities
C
3
star
57

librpc-uclibc

[MIRROR] Standalone librpc forked from uclibc
C
3
star
58

umbim

[MIRROR] OpenWrt MBIM modem utility
Perl
3
star
59

mountd

[MIRROR] OpenWrt automount daemon
C
3
star
60

cgi-io

[MIRROR] CGI utility for handling up/downloading of files etc.
C
3
star
61

urngd

[MIRROR] Micro non-physical true random number generator based on timing jitter
C
3
star
62

ucert

[MIRROR] OpenWrt usign certificate wrapper
C
3
star
63

bcm63xx_u-boot

[MIRROR] Broadcom-s U-Boot
C
2
star
64

bcm63xx_atf

[MIRROR] Broadcom-s Trusted Firmware A
C
2
star
65

broadcom-sprom

Broadcom BCMA/SSB Fallback SPROMs
2
star
66

usbmode

[MIRROR] usbmode - usb_modeswitch replacement
C
2
star
67

forum-old

HTML
2
star
68

fwtool

[MIRROR] Utility for appending and extracting firmware metadata and signatures
C
1
star