[yocto] minimize size of SW update bundle
Paul Eggleton
paul.eggleton at linux.intel.com
Wed Oct 18 13:34:53 PDT 2017
On Wednesday, 18 October 2017 3:11:59 AM NZDT Marc Ferland wrote:
> On Tue, Oct 17, 2017 at 9:12 AM, Robert Berger
> <yocto.user.mailinglist at gmail.com> wrote:
> > Hi,
> >
> > Imagine you have only a limited bandwidth to your devices available for SW
> > update. So you would like to minimize what's uploaded (over the air) to
your
> > devices.
> >
> > How would you do this with yocto?
> >
> > [1] and [2] might be able to do incremental updates, but maybe there are
> > more ideas out there.
> >
> > Like how would you get a diff between two release builds...
> >
>
> Some ideas:
>
> - SquashFS with agressive compression settings can be quite
> impressive. I was able to reduce my image size from 650MB
> (uncompressed) down to maybe 120MB. This was for a complete system
> update though.
> - The new zstd algo from facebook looks promising (haven't tried it
> yet) and might be worth investigating, I think it is supported as a
> squashfs decompressor.
> - bsdiff can generate diffs from binary files (be carefull if diffing
> compressed files, i.e.: gzip --rsyncable).
> - there's also casync (never tried it): https://github.com/systemd/casync/
FWIW I have preliminary recipes for casync and zstd here, but I'm having
trouble with some native dependencies not being populated properly when
casync-native is pulled in by other recipes (or -c addto_recipe_sysroot), so
it still needs work:
http://cgit.openembedded.org/meta-openembedded-contrib/log/?h=paule/casync
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the yocto
mailing list