EDIT: Since this post was written, the advice has changed.
rpi-update should not be used unless specifically advised to by an RPi engineer / beta-testing. It is an unstable version of the firmware. It used to be necessary for updates but isn't anymore. See this answer on another question.
What is the GPU firmware and kernel?
The kernel is responsible for managing the resources of the Raspberry Pi and runs on the central processing unit (CPU). It allows tasks to run on the CPU. The GPU firmware, on the other hand, manages the graphical processing unit (GPU). The two separate units are on the same chip and share memory, which is segregated at boot time according to hard-coded
start.elf files. In order to use the Raspberry Pi, both sets of files must be in the correct locations on the SD card.
You can buy preloaded SD cards from the retail partners of the Foundation.
Alternatively, the Foundation regularly release new SD cards images at http://www.raspberrypi.org/downloads. You must use Unix's
dd or Windows'
Win32DiskImager to load this on an existing SD card.
It's not possible to compile your own GPU firmware image, because it is closed source, so we rely on the Foundation and Broadcom to supply this. On the other hand, you can compile your own kernel image from source. Cross-compilation is the subject of other questions, such as How do I cross-compile the kernel on a Ubuntu host?
Updating the GPU firmware - Debian/Raspbian
You can update the firmware using
rpi-update by Hexxeh. On Raspbian, you can install it by running
sudo apt-get install rpi-update
To update the software, run
Updating userspace and kernel Software - Debian/Raspbian
The userspace software must be maintained. It's pretty easy; just run
sudo apt-get upgrade
If there are any errors, you can try updating the database first by running
sudo apt-get update
If you don't understand an error, then it's probably best you ask here or try googling.
Updating software - Arch Linux
The software must be maintained. The advantage of Arch Linux over Debian here is that Arch Linux manages the Raspberry Pi's firmware within the package management system. To update, just run
sudo pacman -Syu
If there are any errors and you don't understand it, then it's probably best you ask here or try googling.
- rpi-update Repository