When you start getting interested in the Raspberry Pi and everything this little development board is capable of, the first question you ask yourself is, "How do I install the operating system for each project?" So, that's what we're going to look at: what tools you need to install a new OS on the Raspberry Pi from any operating system (Windows, Mac, and Linux).
An operating system for project
One of the great advantages of the Raspberry Pi is that the community of users and developers is usually very active. Both at the project level and in support of its different operating systems, progress is continuous. So, it is very easy to feel the need to try new operating systems to see how the user experience improves.
These are the most important operating systems for the Raspberry Pi:
General systems and development

- Raspbian/Raspberry Pi OS, It is the official operating system. A distribution that works very well for a wide variety of uses. You can download it from Raspberry Pi official website
- NOOBS and NOOBS Lite are two very good options for beginners in the use of the Raspberry Pi. Still, he can give a lot of play, so it's interesting to know him too. Can download from the Raspberry Pi website.
- Windows IoT Core It is a somewhat more specific proposal for installations and control of connected devices. It is a system focused on programmers and developers of IoT devices. This version of Windows for ARM focuses primarily on security, connectivity options, and cloud integration. It depends on a Windows auxiliary computer running Visual Studio, since Visual Studio is designed to work as a satellite. Check the Microsoft website for more information
- Ubuntu it's a Linux right-hander classic and can also be run on a Raspberry Pi if you're looking for a more functional computer. Ideal for the latest versions that have more RAM and power. Download Ubuntu 19.10 for Raspberry Pi here.
- Ubuntu core: This is an adapted version so that the Raspberry Pi can be used as an IoT device. It is much easier to use this distribution than to start with a standard Ubuntu installation and customize it with programs and dependencies.
- RaspBSD: Not everything on the Raspberry Pi is going to be Linux. RaspBSD is a free and open source image based on FreeBSD 11, only compiled for the Raspberry Pi. BSD is one of the most robust systems that exist, as well as one of the most used at an industrial level.
- OS RISC: Typically, operating systems for the Raspberry Pi are based on Linux. This case is different, since OS RISC is a system designed for processors that have the RISC architecture, as is the case with ARM. Finding resources for this system is not easy. Of course, OS RISC consumes the minimum. To give you an idea, its installation only takes up a few megabytes.
- BalenaOS: This system is a fork of Yocto Linux. It has become a system widely used by the community because it is capable of making the most of the Raspberry Pi's capabilities, such as taking advantage of all the RAM in the most complete models of the development board.
- Arch Linux: the Linux that MacGyver himself would install. Arch is a 'you cook it, you eat it' distribution. Basically, this system is designed so that you can install custom Linux. In this way, if you have the right knowledge, you can make a spectacularly efficient system, with the desktop that you want and only with the dependencies that you are going to use.
Video Games

- retroarch a very good distribution if you want to turn the Raspberry Pi into a retro console emulator. Can download here
- Lakka: This distribution also allows you to turn your Raspberry Pi into a small video game console for emulation. It is a very light and open source system. Its interface is very similar to that of the PlayStation, so if you've ever played the PS3 or PS4, you'll know how to navigate the system with great ease.
- RetroPie: This is another open source version for video game emulation. It is based on Debian. It uses the EmulationStation frontend and SBC to offer users an intuitive and enjoyable interface to play retro titles.
media Center

- OSMC a good operating system to create a multimedia center. Download OSMC from here
- OpenELEC: basically, it serves to turn Kodi into a media center. In general, it supports almost all of OSMC's features, but it has a slightly different interface that might be interesting if you find it more comfortable.
- Volumio: Imagine having your own Spotify at home, with your music and streaming without having to complicate your life too much or paying monthly fees. This is what Volumio does, a distro that can mount a music media server just like you would on a NAS. This distribution can be installed on any Raspberry Pi, although it is ideal to do it on the Raspberry Pi Zero, since it takes up very few resources and only requires a local connection (USB or network) to share the files.
Home automation and Others

- Domoticz: is a smart home automation system. The source is open and free. It allows you to control lights, switches, smart vacuum cleaners or any other device connected to your virtual assistant or to ecosystems such as Smarthings. It uses an HTML5 frontend and can be controlled from a mobile phone or a computer.
- homebridge: Used to emulate Apple's HomeKit API. Basically, with this distro you can make smart devices that are not Siri compatible.
- Pi Hole: Pi Hole is a distribution that allows you to create a custom firewall for your home network. Most people use this system to block cookies and advertising when browsing the Internet. However, this system has many more uses to increase the security of our network —especially if we have home automation devices—, create filters to prevent minors from visiting certain websites or certain types of content (adult content, video game servers… ), as well as it can be configured so that the restrictions apply at certain times of the day or in a series of devices.
Therefore, taking into account that it is good to install the best option for each type of use, it is important that you know how to install a new operating system from computers with Windows, Mac and Linux.
How to install an operating system on the Raspberry Pi from Windows

Before you start, you should know that the Raspberry Pi operating systems are installed on SD or MicroSD cards. Therefore, you are going to need a card with enough capacity to house the system and the possible data that you want to store as well. Between 8 and 16 GB is usually more than enough, although it will depend on the project. It is also important that it be Class 10 to reduce read and write times as much as possible.
To properly format the memory card, you can use the SD Memory Card Formatter application , available for both Windows and Mac.
With that taken care of, the next point you should know is how to install the operating system. For this you will need an application that dumps the data from the downloaded compressed or image file to the card.

BerryBoot is one of the easiest applications for installing any operating system on a Raspberry Pi running Windows. You can also use Wind32DiskImager . The steps to follow are:
- Download and install BerryBoot from this link.
- Run the application and after accepting, select the drive where you are going to install the system (SD card).
- Select the operating system to install. If the one you are interested in is not among the options, you can add it.
- Ready, in a matter of minutes everything will be done.
You can now insert the SD card into the Raspberry Pi and connect it to the power so that it turns on and everything starts.
Install a new operating system on the Raspberry Pi from macOS

If you use macOS as your operating system, the most recommended application for installing new operating systems on the Raspberry Pi is ApplePi-Backer , which you can download from here.
Once the application starts you will see a window with a very simple interface. The first thing you should do is select the drive where the Raspberry Pi operating system is located or where you want to install it, that is, the SD or microSD card.
If you want to make a backup copy of your current installation, then click on the Backup option, if on the contrary you want to install a new system, click on Restore and select the image that you are going to use.
Install Raspberry Pi OS on Linux
Linux users will find it easiest to install an operating system on their Raspberry Pi. Even so, if you want to do it and don't know where to start, you'll only need to use the command line and the flash utility.
To do this, follow these instructions provided by Ricardo Vega, and if you want to perform an installation that you can then access directly via SSH, visit his article.
- Installs everything needed to get Flash working. Run the following commands from Terminal.
sudo apt-get install -y pv curl python-pip unzip
sudo pip install awscli
uname -s - What it returns is then substituted for Darwin in the first of the following commands we need to run:
wget https://raw.githubusercontent.com/hypriot/flash/master/Darwin/flash
chmod +x flash
sudo mv flash /usr/local/bin/flashFor example, if the uname -s command returns 'Linux', the command to enter will be
wget https://raw.githubusercontent.com/hypriot/flash/master/Linux/flash
Now that you know how to install any operating system for the Raspberry Pi, it's time to start your projects. There are hundreds of options, although the classic recommendation, for how well it works is both the media center and the retro systems game emulator.
Can multiple systems be installed on a Raspberry Pi?
Just like with a PC, you can also have multiple operating systems installed on a single SD card on a Raspberry Pi. This way, you can choose the one you need at any given time when you turn on the device, simply by booting the device.
To achieve this, you would only need to use NOOBS or BerryBoot ; both solutions allow for multiple booting. Therefore, the process according to one option would be as follows:
- Download the installer with NOOBS or BeeryBoot
- Extract the file and copy everything to a formatted SD card
- Now start the Raspberry Pi
- If you used NOOBS, go to its menu and select the operating system(s) you want to install. In the case of BerryBoot the process is similar
- Once the process is ready, you can select which system to boot
Best on standalone cards
As we say, more than one system can be installed on the same card. However, doing so can be a complete pain in the ass. Because? As a piece of advice, unless it's for a very good reason, considering that SD cards are very cheap and easily accessible on the Raspberry Pi, you might be more interested in having a card for each system and use. That way you avoid problems.
When working with a Raspberry Pi, we often enter hundreds of commands in the terminal with elevated privileges. Sometimes, we don't even know what we're doing. Putting multiple systems on a single board is a one-way ticket to making a mistake and losing all three. Furthermore, using separate boards allows us to create backups of our installations much more easily.
Therefore, having everything on one card won't give you many advantages. You won't have to get up to swap one for another, but in return, you'll be vulnerable to a simple mistake completely ruining your multi-boot setup. Considering the ridiculously low price of even 128GB cards these days, it's worth keeping everything you do on your Raspberry Pi on separate cards.
One card for the Retro Pi, another for using a media center with Kodi, etc. Changing from one system to another will be as easy as turning off the small computer and replacing the micro SD.