I have a 512MB Pi. I am trying to make sure I am getting the most out of it. I just downloaded the latest version of Raspbian and installed it on the Pi. Do I also need rpi-update? Is rpi-update meant for upgrading from one version of Raspbian to the next?
"In normal circumstances there is NEVER a need to run rpi-update as it always gets you to the leading edge firmware and kernel and because that may be a testing version it could leave your RPi unbootable". https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 Even the rpi-update documentation now warns "Even on Raspbian you should only use this with a good reason. This gets you the latest bleeding edge kernel/firmware."
sudo apt-get update; sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernelwill put it back to the latest supported kernel/bootcode.
I think you might be conflating two different operations.
rpi-updateis a tool to upgrade the firmware for your Raspberry Pi. Firmware is a small package of code that usually lives on a special chip of a computer that helps the software know how to talk to the hardware. However, in the case of the Raspberry Pi, the firmware will live on the first partition of the SD card.
Raspbian is an operating system or the core software for your Raspberry Pi. Software (including the OS) lives on second partition of the SD card and is all the stuff that gets executed when you use your device.
Both of these need updating independently. For convenience, the
rpi-update tool is included in the Raspbian distribution of Linux because it is a useful software tool that manages the firmware of your Pi's. You should run it periodically to make sure your devices have the latest firmware. Separately, you need to keep your software up to date using the standard Debian software management tools like
sudo apt-get update && sudo apt-get upgrade.
Each of these functions is separate, and updating one will not update the other. Upgrading your distribution to the latest software packages might get you a new version of
rpi-update, but unless you RUN
rpi-update your firmware will not get updated.
Since the place the firmware is stored is actually flashed to the first partition of the SD card (sort of like a BIOS), you will not need to run this on every device. Once you load a new version of software or firmware onto an SD card, any device you plug that card into will be running that version.
raspbian package repo contains
raspberrypi-bootloader package which contains firmware, kernel and kernel modules that
rpi-update downloads. The version is not the latest, but files should be fine and stable. Now it shows a 20130902 version, so it's about 2 months old. The package is installed by default and is updated when a new version arrives in repo.
So you basically do not need
rpi-update if you don't want the bleeding edge firmware and kernel, just stick with
apt-get - it will update kernel, firmware and modules on its own. Actually I cannot find
rpi-update on my Pi at all.
Meanwhile the kernel is part of the
raspberrypi-kernel-package in Raspbian.
rpi-update is not needed anymore to update the kernel.
There are two kernels in the package, that means it works on every hardware-version of the Pi (ARMv6, ARMv7 and ARMv8
Just use this fancy one-liner to keep your Pi up-to-date:
apt-get update && apt-get dist-upgrade && apt-get clean
If you are worried about not-needed stuff, add this:
apt-get autoremove --purge && apt-get remove `deborphan` --purge
The answer marked as correct is in fact outdated, and in a problematic way: rpi-update will update the firmware to the latest published version, which has to be considered "not stable". So following the recipe given you might end up with an unstable system (has happened to me ;) ).
RPI-Update is used to update the Raspberry Pi to the latest version. You don't really need it, but it is a good idea to keep the Raspberry Pi updated. So you might as well install rpi-update.
Also if you don't really need your Raspberry Pi on the latest bleeding edge updates. Rather use the following command. This will update all installed packages to their stable current version
sudo apt-get update && sudo apt-get upgrade
If you look at your SD card after flashing it with the latest version of Raspbian you will actually see 2 partitions on your SD card. The first one is where the firmware is stored and the second one will be where the operating system (Raspbian) and your files are stored.
Therefore if the firmware on your SD card (first partition) is up to date then any Raspberry Pi using that SD card will be running the latest firmware version.
You can even update the firmware on the SD card by updating the files in that first partition with a Windows computer for example. (See: 3.2 Get the latest firmware version)
If the Raspbian team is using the latest firmware on their distribution though, that is a different question. In my opinion, to make sure you are running the latest firmware on your Raspi I would still use the rpi-update tool with any operating system distribution you choose.
In short, I would say the following phrase: Update the card, run everywhere.