Raspberry Pi OS is the official operating system (OS) for Raspberry Pi computers and is free. We recommend Raspberry Pi OS for most Raspberry Pi use cases.
Raspberry Pi OS is based on the Debian Linux distribution and supports over 69,000 Debian packages. Raspberry Pi follows a staggered version of the Debian release cycle. Releases happen roughly once every two years. The latest version of Raspberry Pi OS is based on Debian Trixie. The previous version was based on Debian Bookworm.
OS installation
Edit this on GitHub
Raspberry Pi OS is installed using Raspberry Pi Imager, available for Windows, Mac, and Linux. For instructions, see Install using Imager. You can also download a disk image (ready-to-use file) of Raspberry Pi OS directly from our website and then write it to an SD card to start using your Raspberry Pi.
If you’re running a previous version of Raspberry Pi OS and want to use the latest major version, don’t perform an in-place update (updating the current system without reinstalling). Instead, start again by installing a new image of Raspberry Pi OS. For instructions, see Install using Imager.Warning
Back up any important files from your old OS that you don’t want to lose. Installing a new OS overwrites everything on the SD card.
Editions
Raspberry Pi OS comes in three editions:
Raspberry Pi OS (desktop with basic software) is the recommended edition offered in Raspberry Pi Imager. It provides a graphical desktop environment and includes applications such as Chromium and Firefox web browsers, VLC media player, and the Thonny Python environment.
Raspberry Pi OS Full (desktop with basic software and recommended applications), provides the same graphical desktop environment and applications as the default Raspberry Pi OS edition, but also includes the LibreOffice suite, KiCad, a Scratch programming environment, and many other applications.
Raspberry Pi OS Lite (a command-line-only version without a graphical desktop). This edition is useful for headless servers, embedded systems, or older Raspberry Pi models, such as the original Raspberry Pi, Raspberry Pi 2, and Raspberry Pi Zero.
Architecture
Raspberry Pi OS is available in both 64-bit and 32-bit versions. Choose the version that best matches your Raspberry Pi’s hardware:
The 64-bit version is designed for newer Raspberry Pi models that have 64-bit processors, like Raspberry Pi 3, 4, and 5. It can run both 64-bit and 32-bit software, but can also handle more memory (RAM) and is faster for tasks that require more computing power.
The 32-bit version is designed for older Raspberry Pi models that have 32-bit processors, like the original Raspberry Pi, Raspberry Pi 2, and Raspberry Pi Zero. It uses less memory and might be more compatible with older software and hardware.
Manage software and firmware updates
There are two ways to update your current operating system:
APT-based. We recommend this for most users. Use it to update the software, kernel, and stable firmware of your current Raspberry Pi OS installation. For instructions, see Update your current Raspberry Pi software.
rpi-update. Use this for experimental or pre-release kernel and firmware testing, development, or specific bug fixes. For instructions, see Update pre-release firmware.
Normal firmware updates are included in APT updates (raspi-firmware package); rpi-update is only appropriate for developers and testers, or when you’re specifically instructed by Raspberry Pi engineers to use it.
If, instead of updating your current operating system, you want to upgrade from a previous version of Raspberry Pi OS to a new version (for example, from Bookworm to Trixie), reinstall the operating system from a new image. For instructions, see Upgrade to a new major version.
Update your current Raspberry Pi software
Keep the software on your Raspberry Pi up to date. This helps to keep your Raspberry Pi secure from vulnerabilities and ensures that you get the latest bug fixes. It also updates your Linux kernel and firmware.
The following instructions describe how to keep your current installation of Raspberry Pi OS up to date within the same major version of the operating system you’re running (for example, Trixie). They don’t upgrade your Raspberry Pi OS to a new major release (for example, from Bookworm to Trixie). For instructions on upgrading your OS, see Upgrade to a new major version.
We recommend using APT to keep your Raspberry Pi software up to date. You can also use APT to find a specific package or tool, inspect a package’s metadata, install a specific package, and uninstall a specific package. For instructions, see Manage software packages.
To use APT to update your current Raspberry Pi software with the latest fixes, Linux kernel, and firmware, run the following commands regularly:
Update your package list. APT maintains a list of available software sources in /etc/apt/sources.list and /etc/apt/sources.list.d/; run the following command to refresh your list of available software packages:
sudo apt update
Update your installed packages to their latest versions. Now that you have a list of what new versions are available, run the following command to download and install the updates. Because Raspberry Pi OS changes package dependencies more often that Debian, we recommend that you use full-upgrade instead of the standard upgrade:
sudo apt full-upgrade
Before continuing with the update, check that you have enough free disk space. If sudo apt full-upgrade says that it needs extra space to complete the update, you can check that your system has at least that much free space available using df -h. You can then clean up downloaded files to make more space as described in Clean up files.
Update pre-release firmware
rpi-update is a command-line tool used to install experimental or pre-release firmware on a Raspberry Pi. On the Rasberry Pi 4 and 5, it also updates the EEPROM bootloader.
rpi-update downloads the latest pre-release version of the Linux kernel, its matching modules, device tree files, and the latest version of the VideoCore firmware. It then installs these files into an existing Raspberry Pi OS install.
Warning
Pre-release firmware isn’t guaranteed to work and can introduce instability, rendering your system unreliable or unbootable.
All source data used by rpi-update comes from the rpi-firmware repository, which contains a subset of data from the official firmware repository.
rpi-update is intended for use by developers and engineers for testing, development, and specific bug fixes. In most cases, you don’t need to use rpi-update, and you should only do so if recommended by a Raspberry Pi engineer; for routine updates, we strongly recommend using APT instead, as described in Update your current Raspberry Pi software.
Make a backup of your system.
Run the following command to initiate the update:
sudo rpi-update
Reboot your Raspberry Pi for the changes to take effect:
sudo reboot
For more information, see Updating Raspberry Pi firmware.
Downgrade firmware to the last stable release
If updating to the latest pre-release firmware causes issues, you can revert to the last stable firmware and then reboot for the downgrade to take effect:
sudo apt update
sudo apt install –reinstall raspi-firmware
sudo reboot
This reinstalls the officially supported firmware from Raspberry Pi OS, restoring system stability.
Manage software packages
From the Terminal, APT is the default package manager used to install, update, and remove software within the Raspberry Pi OS you’re currently running. You control it using Terminal commands like apt-cache and apt install.
From the Desktop, you can use the Preferences > Add / Remove Software tool to manage software using the graphical interface.
Search for software
To find a specific package or tool, use apt-cache search followed by a keyword. This returns a list of packages with names and descriptions that include the keyword. For example, to show all packages related to raspi:
apt-cache search raspi
View package details
To view detailed information about a package, use apt-cache show followed by a package name. This displays information such as package version, size, and dependencies. For example, to view more detailed information about the raspi-config package:
apt-cache show raspi-config
Install a package
To install a specific package on your Raspberry Pi, use sudo apt install followed by the package name:
sudo apt install
This returns the amount of disk space that the package needs and you’re asked to confirm the installation. To confirm the installation, enter Y followed by Enter or Return on your keyboard. To skip the confirmation prompt and automatically answer ‘yes’ at the time that you install the package, add -y to the command:
sudo apt install -y
Uninstall a package
To uninstall a specific package on your Raspberry Pi, use sudo apt remove followed by the package name:
sudo apt remove
This returns the amount of disk space that removing the package gives you and you’re asked to confirm the removal of the package. To confirm the removal, enter Y followed by Enter or Return on your keyboard to confirm the installation. To skip the confirmation prompt and automatically answer ‘yes’ at the time that you uninstall the package, add -y to the command:
sudo apt remove -y
To completely remove all traces of the package, including configuration files, use purge instead of remove:
sudo apt purge
Check disk space
Before installing or updating software on your Raspberry Pi, check the available storage using the following command:
df -h
Clean up files
APT stores downloaded packages (.deb files) in /var/cache/apt/archives. During installation, APT downloads these packages and then copies files from these packages to the correct installation locations. Depending on the software you’ve installed, package files can take up a lot of disk space. Use the following command to delete old downloaded package files:
sudo apt clean
Upgrade to a new major version
Rather than an in-place upgrade on your existing boot media, we strongly recommend that you use a clean install to upgrade the OS version on your Raspberry Pi, like moving from Bookworm to Trixie. This involves using Raspberry Pi Imager to flash a new OS image onto new boot media.
The following instructions require:
A new storage device for your boot media (typically a microSD card), and a way to connect it to a computer (for example, a USB card reader).
A computer to write a new OS image to your new boot media, and to store and move data between boot media.
The following instructions assume that you’re using a microSD card as your new boot media and Raspberry Pi Imager to install a new OS image onto that boot media. If you’re using a different type of storage for your boot media, modify the steps below as appropriate.
Create a backup of your current boot media.
Warning
This step will permanently delete all files on the storage device you choose to use. Back them up before continuing.
Prepare a new storage device with the new OS. On a new storage device, install a new OS image with the latest Raspberry Pi OS version. For instructions, see Install using Imager.
Copy your existing files and configurations. Use a storage device to copy any important files from your Raspberry Pi.
Insert the new boot media into your Raspberry Pi. Insert the storage device containing the new OS into your Raspberry Pi.
Boot your Raspberry Pi. Connect your Raspberry Pi to power and power it on.
Convert Raspberry Pi OS Lite into Raspberry Pi OS Desktop
You can use APT to add the packages that turn the Lite version into the Desktop version.
Install your preferred desktop windowing system.
To install Wayland (recommended), run:
sudo apt install rpd-wayland-core
To install X, run:
sudo apt install rpd-x-core
Install the Raspberry Pi theme and Control Centre.
sudo apt install rpd-theme
sudo apt install rpd-preferences
Add the applications.
sudo apt install rpd-applications
sudo apt install rpd-utilities
sudo apt install rpd-developer
sudo apt install rpd-graphics
Add the extra features for your chosen windowing system, such as screenshot and remote desktop capabilities.
For Wayland, run:
sudo apt install rpd-wayland-extras
For X, run:
sudo apt install rpd-x-extras
Restart your Raspberry Pi to enter the desktop environment.
sudo reboot
You now have all the packages that comprise Raspberry Pi OS Desktop.
If you want to return to the Lite version of Raspberry Pi OS, you can remove these packages. Alternatively, to have the Lite experience without removing the desktop packages you’ve installed, follow the instructions in Boot to console or desktop to set your Raspberry Pi to boot to the command line.
You can also install the recommended applications included in Raspberry Pi OS Full by going to your Raspberry Pi main menu and selecting Preferences > Recommended Software.
