Choosing and Installing an Operating System for Raspberry Pi
Learn how Raspberry Pi operating systems work, compare Raspberry Pi OS and alternatives, choose ARM-compatible images, and install one safely with Raspberry Pi Imager.
Why a Raspberry Pi needs an operating system
An operating system (OS) is the core software that starts a computer and provides the environment in which other software runs. On a Raspberry Pi, the OS helps the board boot, communicates with the processor and peripherals, manages storage and memory, provides networking, and gives you either a graphical interface or a command-line prompt.
Without an operating system, the Raspberry Pi has no general-purpose environment for running Python programs, controlling GPIO hardware, browsing files, installing packages, sharing files, or hosting services. The OS supplies drivers and system services so applications do not need to control every hardware component directly.
A Raspberry Pi normally boots its OS from a microSD card. Some supported models and configurations can also boot from USB storage or a network location. The available boot methods depend on the board, boot firmware, storage device, and configuration.
Before continuing, identify your exact board model and understand that writing an image erases the selected storage device. The Raspberry Pi board guide can help with hardware identification.
Hardware and architecture compatibility
Most desktop and laptop computers use x86 or x64 processors. Raspberry Pi boards use processors from the ARM family instead. ARM is a processor architecture: it defines how software communicates with the CPU and how compiled programs are represented.
An operating-system image must support both ARM and the specific Raspberry Pi model. A generic ARM image may lack the boot files, kernel, firmware, or drivers required by a particular board. Compatibility can also depend on available RAM, boot firmware, graphics support, wireless hardware, storage controllers, and the workload you intend to run.
32-bit and 64-bit images
A 32-bit operating system uses 32-bit software components. It can be useful for older Raspberry Pi models, older software, or systems where broad compatibility and lower memory use are priorities. A 64-bit operating system can address more memory and may be required or preferred by applications that provide 64-bit builds.
Newer Raspberry Pi boards generally support 64-bit operating systems, while some older boards require 32-bit images. Do not choose by processor age alone: check the image's stated model support and the distribution's current documentation. A 64-bit-capable board can often run a 32-bit OS, but that does not mean every 64-bit image supports every board.
Raspberry Pi OS: the recommended default
Raspberry Pi OS is the standard beginner-friendly choice for general Raspberry Pi use. It is a Linux distribution based on Debian and includes Raspberry Pi-specific hardware support, configuration tools, repositories, and documentation.
It is a strong default for learning Linux, programming, Python, GPIO projects, electronics, desktop tasks, and following Raspberry Pi tutorials. It includes a package manager for installing, updating, removing, and tracking software. It also provides command-line tools and a graphical desktop option.
Desktop or Lite?
| Edition | Best for | Characteristics |
|---|---|---|
| Raspberry Pi OS Desktop | Monitor-and-keyboard use, programming, learning, and general desktop tasks | Includes a desktop environment with windows, menus, panels, file tools, and graphical applications |
| Raspberry Pi OS Lite | Headless servers, automation, networking services, and command-line work | Minimal installation without a full desktop; uses less storage and memory |
A desktop environment is the graphical interface that provides windows, menus, panels, and file-management tools. Choose Desktop when you want to connect a monitor and use the Pi like a small computer. Choose Lite when the Pi will run without a directly connected monitor, keyboard, or mouse. This is called a headless setup and is commonly administered through SSH, or Secure Shell.
For a small headless home server, Raspberry Pi OS Lite or Ubuntu Server is usually more efficient than a full desktop image. For a first Pi used with a monitor to learn Python, Raspberry Pi OS Desktop is usually the simplest choice.
Choosing 32-bit or 64-bit Raspberry Pi OS
- Choose 64-bit on a supported newer board when you need a 64-bit application, want access to a 64-bit userland, or have a workload that benefits from it.
- Choose 32-bit when the board is older, the image specifically requires it, or maximum compatibility with older software matters more than 64-bit features.
- Consider RAM as well as CPU support. A 64-bit system does not automatically make a low-memory board faster.
How to choose an operating-system image
| Question | Why it matters | Possible decision |
|---|---|---|
| Which Raspberry Pi model do you have? | Boot files, drivers, CPU features, and supported images vary by model | Choose an image that explicitly lists the board |
| Does it support 64-bit operating systems? | Some older boards require 32-bit software | Use a supported 64-bit or 32-bit edition |
| Do you need a graphical desktop? | A desktop uses more storage, memory, and processing capacity | Use Desktop for interactive work or Lite for command-line use |
| Will the Pi run headlessly? | You need remote access and networking configured before or during first boot | Enable SSH and configure Wi-Fi, or use Ethernet |
| What is the main project purpose? | Special-purpose images may be better optimized than general distributions | Choose a media-center, gaming, server, or desktop image |
| How much RAM and storage are available? | Large desktops and applications need more resources | Use a lightweight image on constrained hardware |
| Is the image actively maintained? | Maintenance provides security fixes, firmware compatibility, and current packages | Verify recent releases and explicit board support before installing |
Availability changes over time. Before downloading an alternative, confirm that its image is maintained and supports your exact model, architecture, display hardware, wireless hardware, and project requirements.
Operating-system categories and representative options
| Operating system or category | Primary use | Linux or non-Linux | Desktop/headless focus | Typical experience level | Compatibility checks required |
|---|---|---|---|---|---|
| Raspberry Pi OS Desktop | Learning, programming, GPIO, and general use | Linux | Desktop | Beginner | Board model, 32-bit or 64-bit support, available RAM |
| Raspberry Pi OS Lite | Servers, automation, and command-line projects | Linux | Headless | Beginner to intermediate | Board support, networking method, SSH setup |
| Ubuntu Desktop or Server | Ubuntu ecosystem, server tools, and development | Linux | Desktop or headless | Intermediate | Model-specific image, RAM, architecture, and performance |
| Arch Linux ARM | Minimal systems and manual configuration | Linux | Usually headless or custom desktop | Experienced | Exact board support, installation instructions, and manual boot configuration |
| LibreELEC | Dedicated Kodi media center | Linux-based | Appliance-style media interface | Beginner to intermediate | Current image for the exact Pi model and media hardware |
| RetroPie, Recalbox, or Batocera-style image | Retro-game emulation | Usually Linux-based | Game-focused interface | Beginner to intermediate | Board support, emulator performance, controllers, and legal game files |
| RISC OS | Lightweight, distinct operating-system experience | Non-Linux | Desktop-oriented | Intermediate | Model support, application availability, and hardware drivers |
Ubuntu is useful if you already know the Ubuntu ecosystem or need Ubuntu-oriented server and development tools. Arch Linux ARM offers a minimal base and extensive control, but expects you to perform more configuration and administration.
For a dedicated living-room media center, a maintained Kodi-focused image such as LibreELEC can be more suitable than a general desktop system. For retro gaming, use a maintained image such as RetroPie, Recalbox, or Batocera when it explicitly supports your board.
RISC OS demonstrates that a Raspberry Pi is not limited to Linux. It provides a different, lightweight computing experience, although software and hardware support differ from Linux distributions.
Names such as NOOBS, OpenELEC, Pidora, Puppy Linux, and Raspbmc may appear in older instructions or discussions. Treat them as legacy examples rather than the default installation path. Prefer Raspberry Pi Imager and a currently supported image.
Installation methods compared
| Method | Best for | Advantages | Limitations | Current recommendation |
|---|---|---|---|---|
| Raspberry Pi Imager | Most beginners and standard Raspberry Pi OS installations | Graphical workflow, image selection, customization, writing, and verification | Some specialized images may not be listed | Recommended default |
| Manual image download and flashing | Alternative distributions or images not listed in Imager | Works with downloaded disk images and provides direct control | More opportunities to select the wrong drive or image | Use when the distribution documents it |
| Legacy NOOBS-style installer | Understanding older Raspberry Pi setup concepts | Menu-driven installer environment | Not the preferred route for current supported images | Use modern supported images and Raspberry Pi Imager instead |
NOOBS means “New Out Of Box Software.” It was a menu-driven installer used by earlier Raspberry Pi setups. Conceptually, an installer environment helps you select and deploy an operating system; a ready-to-boot disk image already contains the partitions and files needed to start the OS. Modern guidance should favor Raspberry Pi Imager and current images.
Installing with Raspberry Pi Imager
1. Prepare the hardware
- Identify the exact Raspberry Pi model.
- Use a reputable microSD card with sufficient capacity. A larger card is helpful for a desktop distribution, updates, applications, logs, and user data.
- Back up anything on the card. Writing an image erases the selected target drive.
- Use a reliable card reader and an appropriate power supply and cable.
Capacity and quality matter. A small, slow, worn-out, or counterfeit card can cause failed writes, slow performance, corruption, and unexplained boot problems. Formatting the card beforehand is normally unnecessary because imaging tools repartition and format the target as part of writing the image.
2. Select and configure the image
- Download and install Raspberry Pi Imager for your computer from its official distribution source.
- Open Imager and select the Raspberry Pi model when prompted.
- Select the operating system. For a general-purpose beginner installation, choose Raspberry Pi OS Desktop. For a headless system, choose Raspberry Pi OS Lite or a suitable server image.
- Select the target microSD card. Check its capacity and device identity carefully; selecting another drive will erase that drive.
- Open the customization settings before writing, if offered.
Useful pre-boot settings include:
- A hostname for identifying the Pi on the local network.
- A username and strong password.
- Wi-Fi SSID, password, and country.
- SSH enablement for headless administration.
- Locale, keyboard layout, and time zone.
- Image verification when the tool offers it.
3. Write and verify the card
- Start the write operation and confirm the erase warning.
- Wait for the image to be written completely.
- Allow post-write verification to finish. Verification checks that the data on the card matches the image and can reveal a faulty card reader, damaged download, or failing card.
- Safely eject or remove the card using your computer's operating-system controls.
Do not remove the card while it is being written or verified. The imaging tool normally handles partitioning and filesystem creation, so manual formatting is not required.
4. First boot
- Insert the microSD card into the powered-off Raspberry Pi.
- Connect a monitor and keyboard if using a desktop setup, or connect Ethernet if you plan to administer the Pi remotely.
- Connect the appropriate power supply. The board should begin its boot process.
- Complete the initial setup wizard if one appears.
- Confirm that the system reaches a desktop or a login prompt.
- Test network connectivity and then install updates.
For a headless setup, enable SSH and configure networking in Imager before writing. After boot, find the address with hostname -I and connect from another computer with:
ssh username@raspberrypi.localThis requires SSH to be enabled, local hostname resolution to work, and the hostname and username to match the configured system. If the name does not resolve, use the Pi's IP address instead.
Manual image downloads and flashing
If an operating system is not listed in Raspberry Pi Imager, download a disk image from the distribution's maintained release source and follow its installation instructions. A disk image is a file containing the complete partition and filesystem layout needed to create bootable storage. Flashing means writing that image directly to a storage device.
Compressed images may need to be decompressed first. Some projects publish checksums such as SHA-256 values. Comparing the downloaded file's checksum with the published value helps detect an incomplete or altered download before writing it.
Advanced users can use a disk-imaging command on Linux or macOS. First identify the removable drive:
lsblkOn macOS, use the system's disk-listing command and identify the device by its size and removable status. Then unmount the card without ejecting it and use the image-writing command documented by the image provider. A Linux-style example is:
sudo dd if=path/to/os-image.img of=/dev/target-device bs=4M conv=fsync status=progressFirst-boot validation and updates
After booting, verify the three basic outcomes: the board starts successfully, you can reach a desktop or login prompt, and the network works. On a Debian-based system, these commands provide useful checks:
cat /etc/os-release
getconf LONG_BIT
uname -m
df -h
hostname -Icat /etc/os-releaseidentifies the installed distribution and release.getconf LONG_BITreports whether the active userland is 32-bit or 64-bit.uname -mreports the running machine architecture.df -hshows available filesystem space.hostname -Idisplays the Pi's local IP address.
Update packages after the first boot and periodically thereafter using the distribution's supported mechanism. On Raspberry Pi OS or another Debian-based system:
sudo apt update && sudo apt full-upgradeReview prompts before accepting changes. Keeping packages and supported firmware current improves security, bug fixes, and hardware compatibility. For more command-line practice, see the Raspberry Pi terminal guide and useful terminal commands.
Common installation and compatibility problems
| Symptom | Likely causes | First checks | Resolution |
|---|---|---|---|
| No activity or no boot | Incompatible image, corrupted write, failing card, inadequate power | Confirm model, rewrite with verification, test known-good storage and power | Use a supported image and reliable card, reader, supply, and cable |
| Blank display | Wrong monitor input, wrong HDMI port, cable or display-mode issue, incompatible image | Check input, cable, primary HDMI port, another display, and network reachability | Correct the physical connection and confirm the image supports the model |
| Wi-Fi unavailable | Incorrect credentials, missing country, unsupported band, or no built-in wireless | Recheck SSID, password, country, board capability, and try Ethernet | Correct Imager settings or configure networking over a temporary wired connection |
| SSH connection refused | SSH disabled, no network address, wrong hostname, username, or IP address | Confirm SSH, find the address, and check configured credentials | Enable SSH and connect using the correct current address and username |
| System is slow | Desktop too demanding, insufficient RAM, slow or worn card | Check resource use and compare edition with board capacity | Use Lite or a lighter distribution and reliable storage |
| Storage fills quickly | Small card, desktop applications, updates, logs, or user data | Run df -h and inspect what consumes space | Use larger storage, remove unnecessary data, or choose a minimal image |
Architecture and Windows confusion
A standard desktop Windows installation built for x86 or x64 PCs cannot generally be copied directly to ARM-based Raspberry Pi hardware. Windows IoT and other embedded variants are different products with different hardware and software requirements; they should not be confused with ordinary desktop Windows. Always check the image architecture and board-support list.
Practical recommendations
- First Pi for learning Python with a monitor: Raspberry Pi OS Desktop, using the current supported 32-bit or 64-bit edition for the board.
- Small headless home server: Raspberry Pi OS Lite or Ubuntu Server, with SSH and networking configured during imaging.
- Dedicated living-room media center: A maintained Kodi-oriented image such as LibreELEC, provided it explicitly supports the model.
- Experienced Linux user wanting maximum control: Arch Linux ARM, after confirming board support and preparing for manual setup.
- Older board with limited RAM: A supported lightweight or Lite image, commonly 32-bit when required by the model.
When in doubt, start with Raspberry Pi OS. It offers the broadest beginner support and makes it easier to follow tutorials, install packages, learn the command line, and move later to a specialized system.
For related setup tasks, see setting up a Raspberry Pi, Raspberry Pi boot options, connecting to the internet, and remote access.