Hexxeh's rpi-update is a great utility to keep your Raspberry Pi firmware either up to date or on the bleeding edge but over the last couple of weeks it has on occasion been failing and stalling without giving any clue as to what was wrong. After a few days it really started to annoy me so I did a quick search and replace on --quiet to see what the problem was and after turning off the self update function of the script (I forgot to do that and spent 20minutes wondering why my changes weren't being preserved
) I discovered that it would sometimes fail on "compressed objects", I'm not sure why other than it's probably just one of those things as on the new run of the script it would normally work. While I was looking through Hexxeh's script I found what I considered a bug, if you choose install a specific commit the .firmware_revision file in /boot isn't updated with that commit value, an annoyance, the script defaults to self updating, and a lack of functionality, the to show error messages. So i've put together a small patch, currently version 3.
The changes i've made to Hexxeh's script that is available at https://github.com/Hexxeh/rpi-update are
1. Make it default to not updating itself (you can revert to it's old behaviour by using the envvar UPDATE_SELF=1)
2. It now writes the firmware revision of a user selected commit to /boot/.firmware_revision which stops it saying your firmware is up to date when you move from a old commit to the current head.
3. 3 levels, ok 4 if you count silent of verboseness. You select the verboseness using the envvar VERBOSE.
if the envvar doesn't exist or is 0 then the script is as per normal. if VERBOSE=1 then all git & wget commands display their actions, if VERBOSE=2 then you get output from git, wget, tar & cp, and if VERBOSE=3 then you get output from git, wget, tar, cp & rm
e.g. if you run rpi-update after applying the patch then
sudo UPDATE_SELF=0 VERBOSE=1 rpi-update
the the script will not update itself if there are changes and it will display the output of git,wget but not cp, tar & rm
the patch against Hexxeh's rpi-update commit de54b22c4eff6e06fd0e090a84fcdedcbdc1dd28 is here
Read more http://russelldavis.org/2013/01/02/patch-for-hexxehs-rpi-update/