This repository hosts GitHub Actions for on-demand builds of customised OpenWRT x86/64 images. This is an unofficial companion to the official OpenWRT Firmware Selector with additional features targeting only x86/64 architecture.
Want a OpenWRT x86/64 image with your packages/files/scripts?
It’s easy as 1-2-3:
-
Fork this repo.
-
Run
Build Imageaction with your options. -
Download the image from the Action’s
Artifactssection.
Bonus: GitHub has a configurable retention period for artifacts, so you can always re-download your images during this period.
Read details below.
While the official OpenWRT Firmware Selector provides a good (for most cases) customizable image builder, it has a limitation (as of v24.10) on a rootfs partition size which is 104 MByte. Also, it doesn’t support building QEMU images in a qcow2 format.
In essence, the official builder is often a "no-go" solution for x86/64 images since such hardware is usually picked to run a bunch of resource-demanding apps. This often implies that the initial image may need a bunch of heavyweight preinstalled packages, like Docker, so images easily exceed the default rootfs size.
This image builder removes these limitations and allows you to build truly customised images, while GitHub provides on-demand build runners and temporary storage for built images.
Goals:
-
Provide on-demand builds of customized and ready-to-use OpenWRT x86/64 images in
.imgand.qcow2formats. -
Provide an offsite place for downloads of customized images based on stable OpenWRT releases.
-
Provide a forkable repository (template) for building personalized OpenWRT x86/64 images.
Not goals:
-
Support architectures other than x86/64. Custom images for embedded devices with heavily constrained resources can be easily built using the official OpenWRT Firmware Selector.
-
Support of unstable release builds.
-
Create a replacement for the official OpenWRT image builder.
The builder produces only images of the following type:
- Partition format
-
ext4
- Image type
-
combined EFI
.imgand.qcow2 - Architecture
-
Generic x86/64
|
ℹ️
|
For image type details and "how to install", check the official documentation. |
If you need files/scripts built into the image, you can place them in files/ directory of your forked repository.
The builder will copy them to the root of the image.
A good example would be a UCI defaults, a first-boot scripts.
For instance, adding a files/etc/uci-defaults/99-mynetwork script to this repo containing a custom network configuration, the file will appear in /etc/uci-defaults/99-mynetwork of a rootfs, and as such it will be executed on a first boot.
There are no plans to add new features, as all goals are already met so far. Features may be added once the official image builder adds new capabilities.
