This page catalogues __operating systems__ used for personal robots.

!! Linux-Based Operating Systems

"Raspian", a ''portmanteau'' of "Raspberry" and "Debian", was the original Linux-based OS for the Raspberry Pi. The current version is still Debian-based, but has been renamed as "__Raspberry Pi OS__".  

To install the Raspberry Pi OS, it is copied onto an SD card using an application like the [balenaEtcher|https://www.balena.io/etcher/] or the preferred method, a cross-platform desktop application called the __Raspberry Pi Imager__, a free download from the [Raspberry Pi OS home page|https://www.raspberrypi.org/software/]. You basically select an image file, select a drive to copy to, then push a button. Done. Then the first time you boot with the SD card you go through an interactive configuration process.

See: 
* [Installing operating system images|https://www.raspberrypi.org/documentation/installation/installing-images/] from the Raspberry Pi Foundation
* [How to Backup an SD Card|HowToBackupAnSdCard]


!! Alternatives to Raspberry Pi OS

Many Debian-based Linux distributions can be used on a Raspberry Pi. Most of the differences between these are solely in the desktop environment, not the Linux kernel, so if your Pi is being used as a server, or command line only, there's little benefit in an alternative to the "standard". In other words, what are often called "operating systems" are actually all using the Linux operating system and only differing in their desktop environment (window manager).

* [20 Best Operating Systems You Can Run on Raspberry Pi in 2021|https://www.fossmint.com/operating-systems-for-raspberry-pi/]
* [Top 10 Best Alternatives to Raspberry Pi OS for Your Raspberry Pi Computer|https://9to5linux.com/top-10-best-alternatives-to-raspberry-pi-os-for-your-raspberry-pi-computer]


!! 32 or 64 bit?

The default Raspberry Pi OS (including all historical versions of Raspbian) has been 32 bit but in late 2020 the beta version of the 64 bit OS became available.

To determine which is running on a Pi type:
{{{
  % uname -m
}}}
If it responds with "aarch64" then it is 64 bit. If it responds with "armv7l" then it is 32 bit.

* [Raspberry Pi OS (64 bit) beta test version|https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370#p1668160] 
* [https://downloads.raspberrypi.org/raspios_arm64/images/] 

The latter is a link to the directory containing RPi OS image files (i.e., not pictures but single-file copies of operating systems), the latest as of this writing is 2020-08-24.
 
!! Removing the UI 

%%warning
Removing the UI is a rather permanent thing. Once you've done so, restoring your Pi back to being able to use the desktop again 
very difficult, i.e., reversing the purge of UI libraries. So unless you're hurting for disk space on your SD card you might wish to just leave the UI files alone. One thing I ''have'' noticed is that if your WiFi gets messed up, it's easier to fix it using the UI than via raspi-config.
%%

If you never need the UI and plan to run command line only, type this:
{{{
sudo apt remove --purge x11-common
sudo apt autoremove
sudo apt update
}}}

This removes all x11 packages, then the 'autoremove' does the cleanup of packages that are no longer needed. Then updates what's left of your operating system. 

This will empty up some disk space and speed up operating system updates as there's less on your Pi. As a measure of this,
here's the stats on a clean new 64 bit Raspberry Pi OS, before and after removing the UI:

__Before:__
{{{
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.0G  3.8G  2.9G  58% /
/dev/mmcblk0p1  253M   31M  222M  13% /boot
}}}
__After:__
{{{
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.0G  3.3G  3.5G  49% /
/dev/mmcblk0p1  253M   31M  222M  13% /boot
}}}

So this cleared about half a gigabyte of space.


!! Other Operating Systems

* [Armbian] is a Debian-based OS used for ARM architecture, non-Raspberry Pi boards (it has not been and is not likely to be ported to the Raspberry Pi)
* [CircuitPython] or [MicroPython], a programming language, not an operating system but effectively used as such on [microcontrollers] (when powered on they run a single program)
* [JavaScript] (as used on the [Espruino])


!!! Pages Tagged "Operating System"

[{HasTagOf OperatingSystem}]

----

[{Tag OperatingSystem}]