Container Image for compiling OpenWRT
1.7K
Container image and firmware build for this fork.
Repository: https://github.com/c127dev/openwrt/tree/compiler
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/.
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.
make menuconfig
./scripts/diffconfig.sh > .packaging/configs/<name>.diffconfig
Then dispatch with config=<name>.diffconfig.
compiler starts a run that stops at plan. That is what
registers the workflow with the Actions API; only workflow_dispatch
builds.Content type
Image
Digest
sha256:31ac12b6a…
Size
317.9 MB
Last updated
4 days ago
docker pull c127/openwrt-compiler