The rpi-update command for Raspberry Pi OS

rpi-update is a command on the official Raspberry Pi system to update the Raspberry Pi OS kernel and VideoCore firmware to the latest pre-release version.

Note: Pre-release versions of software are not guaranteed to work. Do not use the rpi-update command on any system unless advised by a Raspberry Pi engineer. It may make your system unreliable or even crash completely. It should not be used as a command for any regular update process.

Using rpi-update will download the latest pre-release version of the linux kernel, its matching modules, the device tree files, and the latest version of the VideoCore firmware. It will then install these files to the relevant locations on the SD card, overwriting any previous versions.

All source data used by rpi-update comes from the rpi-firmware repository, which contains only a subset of the data from the official firmware repository, since not all of the data from that repository is needed.

If you are sure you need to use rpi-update, it is recommended that you first back up your current system, as running rpi-update may cause it to fail to boot.

rpi-update needs to be run as root. You will need to reboot after the update is complete.

sudo rpi-update
sudo reboot
It has many options documented in the rpi-update repository.

Restoring to a stable version

If you have run the rpi-update command and things don't work as you hoped, and if your Raspberry Pi still powers up and enters the bootloader correctly, then you can use the following command to return to the stable version:

sudo apt-get update
sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel

Finally, you will need to reboot your system for these changes to take effect.