Comments (5)
Looking at the history, the last four updates haven't touched the kernel/modules which is the largest part of the upgrade. Only one of those updates touched /opt/vc (and only partially).
I feel as long as there are no conflicts, then there is a saving from an incremental download.
from rpi-update.
That's why I provided a log ... git doesn't do the incremental download, at least not with --depth=1. It looks like if you want incremental downloads, you have to clone the full history, which is >800MB for this repo.
Unfortunately git 1.7 won't let you do a clone up to a specific revision any more (unless it is a branch head I guess), so it's hard to produce a demonstration test case. Since I do rdiff-backup on my pi, I can say that the log above was for going from Hexxeh/rpi-firmware@2ed05e0 to Hexxeh/rpi-firmware@bf92ca9, which only touches start_.elf and fixup_.dat, which is only 6.3M of files, even if there is no compression or binary delta being used. And yet it downloaded 28M for the incremental update, which then failed, so it had to download the 28M again.
I have a suspicion that the --depth=1 that prevents it from downloading the whole repo also prevents it from being able to apply the incremental update, which brings us back to keeping a full git clone on the pi. And with a full git clone, if you "miss" a revision that touches the full tree, then you don't even get the benefit of incremental updates, as you'll have to download two (or more) full trees in order to get the latest tree.
git is a great tool, but it's just not designed for this problem.
from rpi-update.
+1
I don't expect an incremental updates unless I am contributing on this, which I'd love to but many others may not.
from rpi-update.
You're right, Git isn't really the best way of doing this. I keep meaning
to do a Python rewrite at some point and just download the updates with
curl or something similar.
On 27 January 2013 12:56, Vicary Archangel [email protected] wrote:
+1
I don't expect an incremental updates unless I am contributing on this,
which I'd love to but many others may not.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/64#issuecomment-12753737.
from rpi-update.
I've made the simple change, of always fetching a clean repo, which should avoid the conflict/second download.
The curl download of the tarball (or some other scheme) may be quicker, but I'll save that for the Hexxeh's rewrite.
from rpi-update.
Related Issues (20)
- Invalid hash given HOT 8
- /boot/kernel7l.img needs to exist to get a V8 kernel installed HOT 5
- PRUNE_MODULES=1 does not seem to do anything HOT 13
- Firmware not activated - ubuntu HOT 2
- log file somewhere? HOT 7
- ssl error when runnung rpi-update on rpi3 HOT 6
- rpi-update on rpi4/8G results in soft FP libs installed HOT 4
- proxy support
- pi@raspberrypi:~ $ sudo rpi-update *** Github API is currently rate limited - please try again after HOT 3
- Boot fails in encrypted sdcard after running `rpi-update` HOT 5
- HDMI output hasn't worked since 78c1429cc1d5a200d824d2629c3ceba4ba4617fe HOT 9
- mismatch of "uname -m" output and "getconf LONG_BIT" HOT 3
- problem running SKIP_DOWNLOAD=1 rpi-update cannot stat '//root/.rpi-firmware/*.elf' issue HOT 9
- OpenCL support HOT 1
- PRUNE_MODULES only runs if there is an update HOT 3
- How would you upgrade/downgrade/restore the current stable "default" firmware? HOT 2
- t HOT 1
- Input output error HOT 2
- How to install new firmware from code (Uninterrupted by -y) ? HOT 2
- Latest firmware update showing 64bit on 32bit OS (armv7l vs aarch64) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rpi-update.