[Buildroot] [Feature Request] Linker intelligent binary differential patching with Courgette in OPKG

Andreas Ziegler br015 at umbiko.net
Sat May 27 06:28:58 UTC 2023


Hi James,

On 2023-05-26 17:55, James Hanley wrote:
> I'm unsure if this belongs here with BuildRoot, Yocto Project, or 
> OpenWRT,
> but I'm starting here first since (I believe) it involves the build 
> process.

What you should be looking at is probably the deployment process. Build 
systems create images for installation on targets, but do not handle the 
distribution of the generated software. The Mender project has a good 
illustration of a distribution architecture [1].

> First, what is Courgette? - "Courgette transforms the input into an
> alternate form where binary diffing is more effective, does the
> differential compression in the transformed space, and inverts the
> transform to get the patched output in the original format. With 
> careful
> choice of the alternate format we can get substantially smaller 
> updates."
> via
> https://www.chromium.org/developers/design-documents/software-updates-courgette/
> 
> By incorporating this into the OPKG package management, change deltas 
> can
> be more compact which may be appropriate for IoT applications with 
> either a
> constrained network interface, battery-powered, or scaled-up population 
> of
> devices.

You might also look into Mender [2] and SWUpdate [3]. SWUpdate seems to 
already contain a component for compressing the transferred data [4].

OPKG is dependent on distributable packages, which is something that 
neither Buildroot nor OpenWRT do supply. Yocto implements a build step 
for packaging.

> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: 
> <http://lists.buildroot.org/pipermail/buildroot/attachments/20230524/63745232/attachment-0001.html>

Kind regards,
Andreas

[1] https://mender.io/how-it-works
[2] https://mender.io/
[3] https://swupdate.org/
[4] https://sbabic.github.io/swupdate/delta-update.html



More information about the buildroot mailing list