Help: OpenWRT Image Build via GitHub Actions for DIR-878 (No PC/VPS)

It's been a few days now that the OpenWRT Firmware Selector site hasn't been working. Is there anyone here who can guide me on how to build an OpenWRT image for the DIR-878 (A1) router using GitHub Actions, including adding some default packages like luci-app-nft-qos, vsftpd, and others? I don't have a desktop PC or a VPS, so GitHub Actions might be my only option. Is it even possible? Do I need to create a .config file as well? Can this be done without a desktop or VPS? Thanks in advance!

The imagebuilders are fairly lightweight, in that all the compilation is already completed and they simply aggregate the kernel and some packages into a complete image (this is what the ASU server is doing for the Firmware Selector).

They only need a relatively small Linux box to run, would that be suitable? For example, I can build an x86 image in a 2-core VM with only 4G ram and 32G disk space in about 2-3 minutes...

Sorry, I forgot to mention that when I said 'I don't have a powerful desktop PC ...,' I actually meant that I don't have a desktop PC at all. I've made an edit.

Hacked a docker script that runs as github action, you can select the target, device and packages on the action and then it outputs the bin folder as an artifact

Haven't really tested it much so be careful if you use it

How does your script compare with the pre-built docker images?

Well i guess i probably should have googled before making mine :rofl:

Both scripts are pretty similar, but the official one does file signature checks and provides more flexibility by not building the image during the build step and instead allowing an interactive shell in the Docker container

Mine is very specifically designed to be only used by GitHub action

2 Likes

Thanks, but do you have any guidelines on how to use it? Especially for beginners like me!

  1. Open the repo

  2. Fork the repo

  3. Go to Actions page

  4. Press the "All Workflows" drop-down and select "Build Openwrt image"

  5. Press "Run workflow" and then input all the values and run

  6. Once the workflow is finished it should have the zip file in its summary

1 Like