• Stars
    star
    460
  • Rank 95,202 (Top 2 %)
  • Language
    Dockerfile
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated 4 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
19,412
star
2

luci

LuCI - OpenWrt Configuration Interface
JavaScript
6,207
star
3

packages

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

mt76

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

routing

OpenWrt Routing Packages
Shell
328
star
6

asu

An image on demand server for OpenWrt based distributions
Python
309
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
163
star
8

chaos_calmer

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

telephony

The telephony packages feed
Makefile
104
star
10

mtk-wifi-gpl

MediaTek 802.11ac GPL driver
C
99
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
77
star
12

archive

Historical pre-merge OpenWrt archive
C
60
star
13

video

Makefile
54
star
14

omcproxy

OpenWrt embedded IGMPv3/MLDv2 Proxy
C
32
star
15

gh-action-sdk

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

qosify

[MIRROR] OpenWrt QoS implementation based one eBPF + CAKE
C
27
star
17

firmware-selector-openwrt-org

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

buildscripts

Build and maintenance scripts for OpenWrt releases
Shell
24
star
19

packages-abandoned

Feed for abandoned OpenWrt packages
Makefile
19
star
20

usteer

[MIRROR] OpenWrt AP service for client steering
C
18
star
21

bcm63xx-next

Linux for Broadcom BCM63xx SoC
C
18
star
22

netifd

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

firewall4

[MIRROR] OpenWrt nftables firewall
UnrealScript
17
star
24

ubus

[MIRROR] OpenWrt system message/RPC bus
C
15
star
25

uci

[MIRROR] OpenWrt Unified Configuration Interface
C
14
star
26

libubox

[MIRROR] C utility functions for OpenWrt
C
13
star
27

targets

Feed for OpenWrt targets not maintained in mainline anymore
C
12
star
28

cypress-nvram

brcmfmac nvram files
12
star
29

firmware_qca-wireless

[MIRROR] Qualcomm Wireless Device BDF
10
star
30

buildbot

OpenWrt buildbot configuration
Python
10
star
31

firmware-utils

[MIRROR] OpenWrt firmware image utilities
C
9
star
32

uhttpd

[MIRROR] Tiny HTTP server
C
9
star
33

usign

[MIRROR] Tiny signify replacement
C
8
star
34

ustp

[MIRROR] OpenWrt MSTP/RSTP/STP daemon
C
7
star
35

make_ext4fs

[MIRROR] Standalone fork of Android make_ext4fs utility
C
7
star
36

unetd

[MIRROR] WireGuard based VPN connection manager for OpenWrt
C
7
star
37

rpcd

[MIRROR] OpenWrt ubus RPC daemon
C
7
star
38

uclient

[MIRROR] libubox HTTP client library
C
7
star
39

ugps

[MIRROR] OpenWrt GPS daemon
C
6
star
40

bcm63xx-cfe

BCM63xx CFE binaries
6
star
41

branding

This repository contains logos and color definitions used by OpenWrt
5
star
42

ubox

[MIRROR] OpenWrt core utilities
C
5
star
43

jsonpath

[MIRROR] JSON parsing utility
C
5
star
44

ustream-ssl

[MIRROR] ustream SSL wrapper
C
5
star
45

mdnsd

[MIRROR] OpenWrt MDNS daemon
C
5
star
46

udebug

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

toh

JavaScript
5
star
48

opkg-lede

[MIRROR] LEDE fork of Opkg
C
5
star
49

iwinfo

[MIRROR] Library for accessing wireless device drivers
C
5
star
50

actions-shared-workflows

4
star
51

libnl-tiny

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

mountd

[MIRROR] OpenWrt automount daemon
C
4
star
53

firewall3

[MIRROR] OpenWrt firewall configuration utility
C
4
star
54

uqmi

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

cgi-io

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

procd

[MIRROR] OpenWrt service / process manager
C
4
star
57

relayd

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

librpc-uclibc

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

umbim

[MIRROR] OpenWrt MBIM modem utility
Perl
3
star
60

fstools

[MIRROR] OpenWrt filesystem utilities
C
3
star
61

urngd

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

usbmode

[MIRROR] usbmode - usb_modeswitch replacement
C
3
star
63

ucert

[MIRROR] OpenWrt usign certificate wrapper
C
3
star
64

bcm63xx_atf

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

broadcom-sprom

Broadcom BCMA/SSB Fallback SPROMs
2
star
66

bcm63xx_u-boot

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

fwtool

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

forum-old

HTML
1
star
69

rtl8125

Realtek 8125 Linux driver
C
1
star