Sign inSign up

c127/openwrt-compiler

By c127

Updated 4 days ago

Container Image for compiling OpenWRT

Image
Integration & delivery
Developer tools
0

1.7K

c127/openwrt-compiler repository overview

Openwrt compiler

Container image and firmware build for this fork.

Repository: https://github.com/c127dev/openwrt/tree/compiler

Build locally

git clone https://github.com/c127dev/openwrt.git
cd openwrt
git checkout mercusys-mr80x-v220-wired
git worktree add .packaging compiler

podman build -t openwrt-compiler .packaging
podman run --rm -v "$PWD:/work:z" -w /work openwrt-compiler bash -c '
  ./scripts/feeds update -a && ./scripts/feeds install -a &&
  cp .packaging/configs/mr80x-v220-wired.diffconfig .config &&
  make defconfig && make -j"$(nproc)"'

Images land in bin/targets/qualcommax/ipq50xx/.

Build on GitHub

Actions tab, workflow build, branch compiler, Run workflow. Or:

curl -X POST \
    -H "Accept: application/vnd.github+json" \
    -H "Authorization: Bearer $GH_TOKEN" \
    -H "X-GitHub-Api-Version: 2022-11-28" \
    https://api.github.com/repos/c127dev/openwrt/actions/workflows/build.yml/dispatches \
    -d '{"ref":"compiler","inputs":{"source_ref":"mercusys-mr80x-v220-wired"}}'

204 means accepted. Token: fine-grained, this repo, Actions read and write.

Inputs: source_ref (branch or sha), config (file under configs/), release (attach the images to a GitHub release, default true).

The image is pushed to ghcr.io/c127dev/openwrt-compiler. Release tags are vYYYY.MM.DD.<run>, UTC.

Set repository secrets DOCKERHUB_USERNAME and DOCKERHUB_TOKEN to also push docker.io/<user>/openwrt-compiler. With either unset the step logs ghcr.io only and the run continues.

Adding a config

make menuconfig
./scripts/diffconfig.sh > .packaging/configs/<name>.diffconfig

Then dispatch with config=<name>.diffconfig.

Known limits

  • A push to compiler starts a run that stops at plan. That is what registers the workflow with the Actions API; only workflow_dispatch builds.
  • A full single-device build needs roughly 25 GB. The hosted runner has little margin over that; a disk-full failure shows up as a link error deep in the toolchain.

Tag summary

Content type

Image

Digest

sha256:31ac12b6a

Size

317.9 MB

Last updated

4 days ago

docker pull c127/openwrt-compiler