A point against storing firmware binaries in OpenWRT git (ipq-wifi)

Alex G. mr.nuke.me at gmail.com
Sun Jul 10 10:27:51 PDT 2022


Hi all,

It really bothers me that the ipq-wifi firmware is stored in git as 
binary files.


Binary data is useless
----------------------

For anyone pulling down the sources to build for any target other than 
the one the firmware is for. Most source files in OpenWRT apply to a 
family of boards, and thus have broader usage. They are also much 
smaller in size than binaries.



Only ipq-wifi does this
-----------------------

The other firmware packages are not stored in git. This sort of 
inconsistency is, well, inconsistent.


Upcoming ipq807x target
-----------------------

Let's talk about the elephant in the room -- the ipq807x target that's 
getting close to being ready for OpwnWRT upstream. This target will add 
a ton of firmware files to the ipq-wifi package. Each board needs at 
least a 128 KiB binary file. This quickly adds to megabytes of useless data.

Also, these firmware files are not immutable. They do change as 
manufacturers roll out updates.


Increase in repository size
---------------------------

Continuing to allow this sort of binary inclusion will lead to 
unnecessary bloat.


Proposal
========

I propose that storing binaries in the main OpenWRT git be off-limits 
going forward.
  1. Move the ipq-wifi firmware binaries out of the main OpwnWRT git
  2. Store them either as as direct downloads or
  3. Store them in a separate and new git repo

Point (3) seems to contradict all the arguments I"ve just made. First, 
I'm referring to the main OpenWRT repo. All the points still apply for 
any board or target not requiring ipq-wifi.
Second, if the "new" repo becomes too bloated, it can be fixed with git 
filter-repo, and would only requirea change of the PKG_SOURCE_VERSION in 
the change in the OpenWRT makefile .

Alex



More information about the openwrt-devel mailing list