The full diversity of Raspberry Pi software
in the best guide you might have ever found
|Raspbian is the main and basic software for RPi devices, officially supported by the Raspberry Pi Foundation. In fact, it is an operating system, based on Debian and optimized for Raspberry Pi hardware. It comes with lots of pre-installed pieces of software appropriate for most of ARM users and developers.And in this blog post, I am going to look through almost all possible operating systems, as well as the Raspberry Pi images, compare and review major types of other software you can use for your complicated Raspberry Pi Projects.But the main operating system, ready-to-use and optimized to the needs of the most developers and makers is Raspbian. So, first thing firstly, let’s dig deeper this type of OS for RPi.|
What is Raspbian?
As mentioned before, Raspbian is an official operating system for Raspberry Pi devices, supported by Raspberry Pi Foundation. There are three most popular versions of Raspbian, widely spread among users now: Wheezy, Jessie and Stretch. All of them are based on Debian: Debian 7 Wheezy, Debian 8 Jessie and Debian 9 Stretch respectively. The Stretch is the latest one. It contains a lot of useful stuff: Chromium browser, Sonic Pi, RealVNC, NodeRED, Blue and Greenfoot Java IDE, Geany, Python, Scratch, Wolfram,
Raspbian Jessie is the version of operating system for Raspberry Pi, previous to the latest Stretch. It had been being used for 4 years before the Stretch release in September 2017. So, there are still a lot of people preferring Jessie as the OS for their RPi devices!
In its time Raspbian Jessie was quite a big step forward for Raspberry Pi operating system to become more user-friendly and looked more like an ordinary desktop interface all of us got really used to. On the screenshot, you can see that Jessie has got GUI. Moreover, LibreOffice suite and Claws Mail applications have been added to meet the needs of a wider variety of users. LibreOffice is the set of applications, including a word processor, spreadsheet, presentation graphics, vector drawing and database programs just like MS Office does. All files made with LibreOffice are compatible with Microsoft Office.
Claws Mail is an email client. It supports all common email protocols and offers all the functionality of an ordinary mail agent (like Windows Mail or Thunderbird).
The programming applications list was enriched with Java apps (BlueJ and Greenfoot, they’ve also traveled to Stretch, read below). Other applications, updated and pre-installed by default in this version are:
- New versions of Scratch, Sonic Pi, and the Epiphany web browser
- Sense HAT is under Scratch and Python (changed from Astro Pi ).
- Pygame Zero game is added
- Screenshots become available via scrot utility (by push PrintScreen button)
You can get the current latest version of Raspbian Stretch by downloading it from Raspberry Pi official website. You’ll find two archives there: Raspbian and Raspbian Lite, which means the full package of Raspbian and limited one. The difference between the two is that the Lite version doesn’t have GUI and X-server and is made to fulfill very specific tasks.
Comparing with the previous versions or Raspbian, Stretch stands out with its internal technical developments rather than those notable in everyday routine use. It offers:
- Updated applications (like Sonic Pi or Chromium)
- More advanced approach to audio over Bluetooth (better integration with ALSA architecture)
- Usernames handling has been improved. Automatic logging in with the name “pi” has been replaced with the passworded name of the current user
- Scratch 2 (programming language) improvement. Now, it’s possible to use the Sense HAT with Scratch 2
- Broadpwn fix. The vulnerability of BCM43xx wireless chipset for an attacker to take control over it has been addressed
Other Raspbian images
Raspbian is community created and supported software. Initially, it’s been founded not by the Raspberry Pi Foundation, but a team of software enthusiasts which you can meet on http://www.raspbian.org/. They still keep on developing the operating system, so you can find a lot of other images of Raspbian, optimized for different purposes and implementation of the RPI hardware.
On their community website, you can find such unofficial additional images for Raspberry Pi such as
- Adafruit Educational distro
- Pisces by Mike Thompson
- Pisces+MATE Image by Mike Thompson
- CNXSoft minimal
- Comitup Remote Wifi Management
They include quite a good number of useful tools for their images, mentioned above. For example, the one I personally liked the most was the “Pisces” Image by Mike Thompson. It includes GNU C and C++ compilers, SSH server, Xorg and LXDE desktop environment. Pretty good set for a software developer!
How to install Raspbian
The Raspbian installation process is not complicated at all. Basically, as Raspberry Pi uses SD cards, all you need is to write an image on it. This is the safest and most robust way to bring the operating system to your hardware. Another way is when you already have some Raspbian on your Raspberry Pi and want to upgrade. In this case, you can perform terminal commands, beware that this may cause damage to your files. So, it’s vital to backup your SD card right before! Well, let’s look through both of this cases.
Writing a Raspbian image on an SD card
This way requires some additional desktop to write an image of Raspbian on your SD card. Depending on what operating system your desktop has (Mac, Windows or Linux) each one may have its own specific. So, I would recommend you to use Etcher, as it works on any of the mentioned and the process is always more or less the same. So, the guide includes the following steps:
- Setup Etcher on your PC (get it here)
- Insert an SD card
- Open the Etcher app and choose your downloaded Raspberry Pi .img or .zip file
- Select the SD card
- Push the “Flash!” button to start
All set! After that simply insert the SD card with an image into your device and switch it on. The system will boot automatically.
Upgrading to the newer version of Raspbian
I’d like to remind about the danger of losing files while performing such upgrade. So, the previous option is way more preferable. But if you still want to upgrade your Raspbian, follow these steps:
- DO THE BACKUP FIRST OF ALL!
- Upgrade the older version with the commands
- In /etc/apt/sources.list change Jessie to Stretch
- Then repeat the step 2.
- Then double check that everything works correctly and otherwise use the option 1 writing an image on SD card
How to update Raspbian
The Raspbian operating system is constantly being improved and it’s a smart decision to follow the updates, which in most cases are quite useful. Updating the Raspbian looks very similar to upgrading from the older version to the newer one, described in the previous chapter, but still differs with its general purpose. While updating, the operating system installs all the latest updates of the apps and distro kept on repositories and not changing the whole system. And what’s more important – it’s safe.
So, to purely update your current Raspbian do the following (in the terminal):
|$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get dist-upgrade|
You can also do the extra stuff to get the latest updates of particular applications:
|$ sudo apt-get install -y rpi-chromium-mods$ sudo apt-get install -y python-sense-emu python3-sense-emu$ sudo apt-get install -y python-sense-emu-doc realvnc-vnc-viewer$ sudo apt-get install -y realvnc-vnc-server|
This is especially useful if your current Raspbian is Jessie (or Raspberry Pi Desktop) as these updates are included in the newer version of Raspbian called (Stretch – read above). Also, in 2016 the Raspberry Pi Foundation released a special update called PIXEL, which includes all of the updates mentioned in this chapter. (Read more about PIXEL later in this article).
Other official software for Raspberry Pi
Besides all the types of Raspbian, enumerated above, Raspberry Pi Foundation offers a lot of other third-party operating system providers and other Raspberry Pi software for comfortable work. Further, you will find out about Ubuntu, RiscOS. SUSE and even Windows 10 IOT Core. But, first of all, what is really worth noting is their NOOBS.
NOOBS is a great starter Raspberry Pi software package to be downloaded the first thing first, especially by rookie RPi users (that’s why it’s called “noobs”). It is an archive which contains an out of the box installer for Raspbian, all the most popular applications and alternative operating systems. So, all you need to do is to download the archive, write it up your SD card and first boot your Raspberry Pi device with this SD card. The NOOBS installer will do all the rest of the job and provide you with the user-friendly interface app to set up more applications on your Raspberry Pi within a few clicks.
There are two versions of NOOBS – full and lite. The full one contains the latest Raspbian and forces it to be installed first. Then you’ll be able to choose among other apps and systems to be installed as well. The NOOBS Lite doesn’t contain the Raspbian pre-installed and leaves you an opportunity to choose which system you’d like to first boot on your Pi.
Third-Party Operating Systems
Among operating systems on the official Raspberry Pi website, you can also find the third-party ones, that can be recommended for using with Raspberry Pi devices. They are:
|UBUNTUWindows 10 IOT CoreRiscOSSUSE|
Generally, Ubuntu is an open source operating system, which is a Linux distribution and based on the Debian architecture. It’s widely used for cloud and server solutions, as well as IoT, Desktop and other devices, including ARM-based ones, like Raspberry Pi.
As to Ubuntu for Raspberry Pi, there are 2 options available: Ubuntu MATE and Snappy Ubuntu Core developed by Martin Wimpress and Rohith Madhavan.
I’d like to start from more popular Ubuntu MATE. It’s greatly optimized for the Raspberry Pi 2 and Raspberry Pi 3 devices with LibreOffice and Firefox applications provided, built-in Bluetooth and Wifi support, hardware accelerated VLC video playback and decoding and encoding in ffmpeg.
The next feature of this OS is that there’s not a predefined user on the first boot. You’ll need to set it up manually as well as configure the regional settings. Ubuntu MATE for RPi does have got several bugs to pay attention to.
- Ubuntu MATE 16.04.2 is not snap compatible
- WiFi doesn’t work on the first boot. To enable it a reboot is required.
Concerning the Snappy Ubuntu Core, it’s a minimized lightweight version of Ubuntu, specially designed for embedded and IoT devices. The key features of Ubuntu Core are a higher level of security and separation between kernel and device drivers, which can help embedded engineers and software developers work in parallel.
Ubuntu Core is available only for Raspberry Pi 2 and Raspberry Pi 3 models. Also, due to its increased security, the installation process is a little bit different. You’ll need to perform the following steps:
- Create an Ubuntu SSO account
- Download the proper Ubuntu Core image (for RPi 2 or 3)
- Form up and import an SSH Key into your Ubuntu SSO account
- Write the Ubuntu Core image on an SD card
- Attach the monitor and keyboard
- Implement the first boot configuration instructions
- Log in to your user account via SSH
For full instructions look through the Ubuntu Core documentation.
Windows 10 IoT Core
This is NOT the real Windows all of us got used to dealing with on any PC desktop. It’s developed by Microsoft, it has a word “windows” in its name but it has nothing in common with the original operating system.
In general, the Windows 10 IoT Core is used for connecting your Raspberry Pi device to a large set of Microsoft instruments, like Visual Studio or Azure, to code and then download the code to your RPi device. This is how the project is done on your Pi with Windows 10 IoT Core.
In other words, you have to do the whole job on some of your PC, and the Raspberry Pi device is connected to your PC working environment as an additional device. This is only reasonable if you are an active Windows user and Raspberry Pi is an additional project of yours. But if you are authentic ARM devices professional, it will seem tricky to you, because you’ll have to get to know the entire Microsoft environment from scratch.
Anyway, if Windows 10 IoT Core is your choice, you’ ll need to download the image on your PC, write the image on an SD card, install Vusial studio (to operate the coding project within), then insert an SD card with an image into your RPi device (priorly connected to Ethernet or Internet), get connected your Raspberry Pi to Ms Visula studio environment (using the device IP address) and then you are all set!
RISC OS is an open source operating system, initially designed by Acorn (Cambridge, England) and is being currently developed and managed by the RISC OS Open Limited (ROOL). This software is officially supported by the Raspberry Pi foundation.
RisOS developers pronounce their software to be one of the most user-friendly and stable ones. This is achieved by the fact, that RiscOS is able to reside at ROM, so the system corruption is close to impossible. A lot of the software features and drivers are made with the hand optimized ARM assembler, which provides the best possible level of performance for ARM-based devices.
This operating system also goes with a list of pre-installed bundle applications. This includes graphics conversion and enhancement, games, office suite applications (Like MS Office), file compression apps, FTP, PDF viewer, Oregano browser and much more.
The installation process is also based on the writing the system image to the SD card. For RiscOS you’ll need an SD card of 2GB or greater capacity. So, you simply follow these steps:
- Download the RiscOS RPi image (you can get it here)
- Write the downloaded image to the SD card via some of your desktop PC using Win32DiskImager (or SystemDisc app, as recommended by the community)
- Insert the SD card with the image into your Raspberry Pi
- The IP address is not assigned to your device, so you have to do it manually. Simply got to “!Configure” and click “Internet” option. Then you can setup TCP/IP right there.
- After you set up your IP, the software is ready for work!
SUSE actually is the name of the company, developing the Linux products and solutions, mainly for enterprises. For ARM-based users, they offer their open source operating system called openSUSE, which is another Linux distribution and is supported by Raspberry Pi foundation as the official third-party software for Raspberry Pi devices.
In fact, openSUSE is kind of a project, which offers a set of instruments, tools and features collected in one operating system, supported by a community. So, looking at their openSUSE source www.opensuse.org you’ll find the two distributions: Tumbleweed and Leap. And it’s not a case of a few words to describe the difference between them. But I’ll try. 🙂
Originally, openSUSE (as the overall SUSE company) targets the enterprises, so both distros are dedicated and optimized for industrial purposes. Thus, the key difference between the Tumbleweed and the Leap is in their stability level. I mean, the Leap is a stable full operating system, which is appropriate for usage in the situation when the absence of changes, experiments and downtime are critical. On the opposite side is the Tumbleweed, which is a so-called “rolling distribution”, updating so fast, that it would require quite a lot of attention. It’s tied with the general SUSE development and allows the user to be in a close touch with, even smallest updates and changes. While openSUSE Leap is only a subject of regular general big updates, strongly timetabled.
Both Leap and Tumbleweed contain the same applications set, the only difference is their versions. Tumbleweed has got more up-to-date ones then conservative Leap. The apps and features include: KDE Plasma, Qt, gcc, X.org, Firefox browser, LibreOffice, GIMP, digiKam, Amarok music app and Dragon Video Player. Both systems use btrfs root filesystem by default and are compatible with MBR and UEFI systems, including UEFI Secure Boot support.
The installation of openSUSE images to Raspberry Pi is not a very easy thing. The systems are quite heavy. They use full installer ISO images of 4.7GB each! They can be both burned to a CD/DVD disks and copied directly to a USB stick and booted. As you can imagine, for Raspberry Pi it’s better to use the second option. Then goes a multi-step algorithm, containing the next major parts:
- Creating a bootable SD card (at least 16GB) with a special formatting
- Copying the Raspberry Pi firmware and bootloader
- Downloading and writing the needed distribution on the SD card with a special app (e.g. Win32DiskImager)
- Booting and installing the distros. For that you will need some other PC and an additional monitor to connect your Raspberry Pi to
- Insert your SD card with an openSUSE image on it and start boting the system
In case of troubles with booting you will probably need a small trick – creating a Hybrid MBR/GPT on the SD card for the Raspberry Pi
Another way of installing openSUSE on Raspberry Pi is the Network/PXE installation method. The further steps have their own peculiarities, depending on what distribution you are installing on your RPi.
So, for Tumbleweed:
- Download the image (a minimum 16GB SD card is required)
- Extract the image onto the SD card under the root rights
- Insert the SD card with the image into your RPi device
- Connect the Pi to some Desktop PC and to a monitor as well and then switch on the RPi
- If you used a DHCP server, check it for your Raspberry Pi IP to provide on the first boot
- Wait until the automatic installation is finished
- Download the image (an SD card of 16GB is required)
- Extract the image onto the SD card under the root rights
- Insert the SD card with the image into your RPi device
- Connect the Pi to some Desktop PC and to a monitor as well and then switch on the RPi
- Walk through the first boot steps (this is the only difference from the previous tutorial)
- If you used a DHCP server, check it for your Raspberry Pi IP to provide on the first boot
- Wait until the automatic installation is finished
Non-official Linux-based operating systems for Raspberry Pi
As I have already mentioned, there are a lot of different pieces of software for Raspberry Pi, including official and non-official ones. Everything above was the official list, which is supported by the Raspberry Pi Foundation and is rather displayed on their website. The non-official software is represented by other operating systems designed and supported by enthusiasts and individual developers. This list is way larger and diverse. And due to its diversity but much less popularity I’d like to introduce it in a brief table below to your convenience.
|Fedora||Based on the Linux kernel and GNU. Has a separate Fedora ARM section. Offers a wide variety of raw-mages: Minimal (for ARM servers), Fedora Workstation, KDE Plasma, Xfce, LXQt Desktop, MATE-Compiz and Sugar on a Stick. The main features include a bunch of pre-installed (such as LibreOffice and Firefox), Security-Enhanced Linux, GNOME desktop environment and the GNOME Shell user interface.|
|PiDora||The Fedora remix customized for Raspberry Pi. Have got a lot of different software pre-installed, including different text editors, programming languages, and more. A “headless mode” is available to use the device without a monitor attached. Compatible with the downloads from the Fedora repository|
|PiBang||Another Linux distribution based on Debian GNU/Linux. The support and maintaining seem to have stopped as their official website is currently unreachable. Still, you can find it and download from some other aggregator sources like the Sourceforge. The community considers it to be a great distro for Raspberry Pi server and an OS for developers to replace the desktop.|
|Linutop OS XS||Actually, it is a kind of a Linux distribution for PC, but have an option for Raspberry Pi but very narrowly tailored. It’s optimized for to making an Internet access point or a Digital Signage system based on RPi. Available via NOOBS, which is a plus, but isn’t free. The full version costs 79 EUR.|
|ArchiLinux 32||A Linux distribution, originally made for x86-64 architecture computers. Used to have a version for Raspberry Pi but currently stopped being officially supported. There’s quite a few number of cases of using that system and so as for the reviews.|
|Gentoo Linux||This system provides a user with a full control on the contents of the package. The main feature of this is represented by the Portage which is a package management and setting up default free tool that comes with this software. It allows users to fine configure and tune Gentoo in accordance with the preferences, hardware and purposes.|
|Kali Linux||It is a Debian Linux distribution made up with a bias for digital forensics and testing. Supports Wireless 802.11 frame injection, one-click MANA Evil Access Point setups, HID keyboard and Bad USB MITM attacks and much more. Initially, this OS is used as a penetration testing platform for Nexus devices.|
|Chromium OS||Don’t confuse with the Chromium browser and Chrome OS. Chromium OS is an open-source version of Chrome OS, based on Linux Kernel and is a kind of Gentoo distribution improvement. It’s optimized for intense web work, supports web applications as well as features a great level of security and simplicity. Also, it does not do the auto-updates and this is considered a great feature not to spoil the user’s code changes.|
|CentOS||Initially, enterprise tailored, Linux based operating system which has got a special package for Raspberry Pi. Is generally based on Red Hat’s source code, and so looks very similar to RHEL. Mainly used for server management purposes and is often operated under the console and runs headless.|
|DietPi||Extremely lightweight (that’s why “diet”) and based on Debian Jessie. It has great peculiarities including optimization for high performance, widened software list (desktops, media systems, BitTorrent, cloud backup, gaming and much more), customization options, login option.|
|Aros||Basically, originates from AmigaOS and made up with AmigaOS API. Designed for Amiga devices but compatible with Raspberry Pi (and other ARM). Offers a lot of user applications for RPi owners.|
|Slackware ARM (SARPi)||It is a Linux-based operating system. Can be used both in a command-line-based and in a desktop environment. Features extended security and package management system (pkgtool), allowing the full control.|
Other non-Linux operating systems for RPi
|Plan 9 is an operating system developed in the 1980s by the Bell Labs including the developers Ken Thompson, Rob Pike, Dave Presotto, and Phil Winterbottom. The OS is currently kept on being supported by the community of enthusiasts. This system as very alike Unix but at the same time is quite different.The main feature of Plan 9 OS is that it assigns multiple processes to their own personal channels, so-called “mutable name spaces”. Every process operating within this name space doesn’t affect the name spaces of unrelated processes. For a file server mounting a simple 9P file protocol is used.|
Generally, Plan 9 is a kernel system but still has its own applications set. Most of them are developed exclusively for Plan 9 but there are several ones taken from Unix, like dc, ed and troff applications. Currently, Plan 9 is officially supported. You can get the updated information via their website www.9p.io
|FreeBSD is an open source operating system which history counts up more than 30 years. And all that time there has been a strong community developing and supporting the software. So, FreeBSD implementation ranges from servers and desktops to modern embedded platforms.Another big field for usage of this operating system is a platform for websites hosting and within embedded networking and storage devices. There are also other features, which made FreeBSD very popular among its users.|
- “bhyve”, which is a BSD licensed free hypervisor
- KMS And New drm2 Video Drivers
- Capsicum application enabled by default
- A Binary Packaging System
- Modified firewalls allowing network administration specialists to imitate different bad network conditions
- Jails – a system which is a substitute for virtualization
- Linux environment emulation
- DTrace is a comprehensive framework for tracing and troubleshooting kernel and application performance issues.
- Over 23,000 apps gathered into a huge Collection and ready for installation
- Network Virtualization: allowing to work within multiple instances
|Haiku is an open source operating system which is based on BeOS but forked to an independent project long ago (in 2001) and now is currently being developed and maintained.|
Initially, Haiku was designed for x86 architecture devices but it also offers ports to ARM (devices like Raspberry Pi), as well as PowerPC and MIPS platforms are claimed to be underway.
The main goal of this operating system is to be user-friendly and suitable both for inexperienced users and for professionals. That’s why Haiku include the features to be liked by the ordinary users, such as cohesive design on the one hand. And things like custom kernel, object-oriented API and database-like file system, on the other hand, respected by developers.
Haiku has also got a pre-installed set of native tools:
- Java support – applications such as Netbeans or JDownloader can be set up and run via OpenJDK virtual machine that is also available
- Caya messenger
- Office alternatives: Sum-It (spreadsheet) and WonderBrush (a drawing tool)
- Programming languages: PERL, Python and Ruby
- Freeware games (reachable via HaikuDepot)
NetBSD is a Unix-like free open-source operating system maintained by a large community. This software is a great choice for makers, hobbyists, engineering professionals, researchers and others who need the stable system. This high freedom of implementations is reached by the main feature of this OS – its great portability and compatibility. NetBSD has got versions for 54 hardware architectures! For example, the supported platforms include x86_64, ARM, MIPS, PowerPC, i386, SPARC, M68K, VAX, etc.
NetBSD is distributed in three ways:
- Formal release form. Released on a regular basis and each release contains stable and tested libraries and applications.
- Maintenance branches form. It consists of really short-term minor updates including a particular bug with a solution for it.
- NetBSD-current form.The updates are released almost daily and offer the latest features and applications, very often untested and with a high probability of bugs to be occurring.
In addition, the NetBSD’s community is so large, that when you face some bug or a problem, this is likely to have been already fixed by someone else within the community. So it’s always reasonable to communicate with other users via forums and make contributions sharing your own experience as well.
Helen OS is a portable operating system, based on a so-called micro-kernel principle. This is a very easy to use and coherent system, which decomposes such functions as GUI, networking, file system and hardware drivers into components that interact with each other through the message passing. Thus, no errors or more serious system crashes for a single component can affect another one. The micro-kernel principle, in its turn, means that only a minimal functionality is provided for simple user processes and communication. And the major goal achieved by this micro-kernel principle is the possibility of parallel running several system personalities and avoiding a bug crashing the entire OS (a bug in a user space results in affecting only the user’s process while the entire system driver keeps on functioning).
Another great feature of this operating system is that it supports a lot of types of hardware architecture: md64, arm32, ia64 EFI, Mips32 MSIM, MIPS Malta etc.
The system developers community defines the product’s aim mainly for learning operating systems in general rather than the practical implementation of the software. Although there is an example of HelenOS professional use within the Operating Systems course at Charles University, Prague.
What is Raspberry Pi Images?
This question is quite popular if you are just starting. Anyway, while reading this article, you seem to have already understood that Raspberry Pi images are the presets of software, operating systems, or other software sets and collections, pre-installed on an SD (or provided as a ready-to-download archive) for users convenience. Very often the software is open source. The great example of such image can be the NOOBs image we have discussed earlier. It is a separate Rasbian image, which contains all the operating systems we’ve mentioned earlier in this article and comes with on downloadable image SDs (or archives).
Another simple example is a retro gaming Retropie project that can be also used as a ready-for-booting operating system.
So, when we speak about Raspberry Pi images we mean exactly Raspberry Pi Disk images, which are literally some SDs with some compatible software on them. Though, very often a lot of pieces of software for RPi comes to say “unready”, meaning you will need to make an effort to download it, install, set up and run yourself. Luckily, quite detailed tutorials are provided in these cases!
Below, you can find a short example list of the software for Raspberry Pi that you can find in the form of disk images.
Thin Clients for RPi
RPITC currently supports Suite3270, Citrix, FreeRDP, NoMachine and Virt-viewer Thin Client protocols. In addition, it also comes with VNC and SSH Servers, Docky and Conky apps and Firefox browser.
TrueOS Pico is a thin client used for connection of different ARM devices into one server.
OpenWRT is a framework designed both for developers and general device users. For developers, it helps to create applications without the firmware. From the user’s side, it helps to customize their devices to an unbelievable level!
Pi-Point is an application which manages the WiFi access point for Raspberry Pi devices, turning it into a real wireless access point. Is distributed as 8Gb SD card presets or can be made up manually by a user (which is not a simple task to fulfill).
RasPBX consists of features of Asterisk with its FreePBX GUI which is all about the free open-source framework for communications apps such as IP Telephony, IP PBX, VoIP, SIP etc. RasPBX is adapted specially for building up such projects on Raspberry Pi.
Home Automation Disk Images
HASSbian is a great example of home automation set. It features a lot of integration possibilities from entertainment apps and devices like media centers to Amazon Echo and Google assistance.
Motion Eye OS is a complete RPi tool for video surveillance or other projects alike to be made on Raspberry Pi.
Open Lighting. OLA (or Open Lighting Architecture) is an open source application for lighting control automation, previously used in entertainment industry. Nowadays the system is widely adopted for DIY home automation projects on ARM devices.
Education Purposed Images
RACHEL. This abbreviation stands for Remote Area Community Hotspot for Education and Learning. This is a set of software and projects available for free downloading and usage, created for cultural and educational exchange. Especially, for places with poor (or even absent) Internet connection.
Images for Developers
Kivy is a Python library with a multi-touch user interfaces support.
Nard is an SDK for development of MOTS embedded systems remotely running on a permanent basis.
Tingbot an educational software development kit (SDK) for learning how to make up apps It comes with it’s one simplified code editor based on Python, which, in its turn, significantly simplifies the applications creation technical process.
Special Images for Aviation and Marine Industries
PiAware is a software that helps a user to create an ADS-B and MLAT station on Raspberry Pi and tracks almost all air flights in real-time. Besides RPi some extra devices are also needed, but the image itself is available for free.
OpenPlotter is an application to help sailing navigation for small and medium boats. This is an open source project that uses Raspberry Pi devices as a hardware platform. Moreover, this system also offers a ready-made home automation.
Stratux is an RTL-SDR ARM-based devices receiver for weather and aviation traffic data. It features flexible parameters and enables users to set up everything they need for a particular case.
Audio and Music Images for Raspberry Pi
Gqrx is a receiver for a software defined radio (SDR), which includes a lot of widely-used drivers such as Rtlsdr, RFSpace, SDRPlay, Airspy, HackRF, etc. Note, that there’s a warning on their own website that ARM image is experimental and isn’t as good as desktop PC version!
Moode Audio is a Media Player for ARM devices, also known as TCplayer. The app supports HiFiBerry and Mambo berry cards which are used for significant sound improvement. The image features modern adaptive interface, supports the Bluetooth connection, Pi Touchscreen and much more for great music experience on RPi.
PiFM Radio Transmitter is an image to make your RPi a real FM radio transmitter in a few steps. This image contains a small piece of a python code which is launched on the Pi with an antenna connected to the pin 4. The system works on 100.0 MHz.
RuneAudio is considered to be one of the best and Hi-Fi audio player, specially designed for ARM devices such as Raspberry Pi, Odroid, Cubietruck, Beaglebone, Cubox and Udoo. This is a lightweight OS which connects all your content sources (like NAS or USB-drive), clients (desktop or mobile) with the Hi-Fi music hardware making the whole assembly a great music entertainment system.
|The images, described above does not consist of the full list of all the possible software, applications or other features ever designed for Raspberry Pi. Our team is currently working on the document, which will contain all the possible images for Raspberry Pi ever designed that can be found on the Internet. Want to be the first to receive the doc as soon as it’s released? Simply SUBSCRIBE to this update and receive it shortly!|
Other software for Raspberry Pi
The possibilities of Raspberry Pi as a hardware is literally endless. So, it’s really impossible to enumerate and describe all of them in one article. This topic really worth a separate web-portal! Nevertheless, I try to represent the most spread and demanded software, grouped in accordance with the types and purposes of practical implementation.
However, Raspberry Pi boards (as well as other ARM mini PCs) are closely associated with IoT and DIY making fields. That’s why in the chart below you can find mostly entertainment or IoT aimed groups od software for Raspberry Pi. The other ways of using such hardware are either unlike or have a narrow purpose. Anyway, feel free to add your own ideas in the comments or write me at [email protected].
|Raspberry Pi Software Type||Applications||Description|
|Raspberry Pi Media Centers||OSMCOpenELECLibreELECKODI (or XBMC)RasplexPlex||These pieces of software, in general, aims to turn an RPi device into a multi-purpose media center. Almost all of them provide great cross-device connectivity, including TV-set, Audio-system, Video and Audio-Players of any types, data-source and storages like HDDs, USB-drives or even NAS with any type of auxiliary hardware and peripherals. The main features of such kind of Meda Centers are economy, silence, stability and ability to play almost all formats of digital content.|
|Raspberry Pi emulators for gaming |
read more >
|EmulationStationRetropieLakkaPiPlayRecallboxExaGear Emulator||Almost all of them use the EmulationStation software front-end as the basis, accompanied by the RetroArch emulators. All of them are great for retro gaming hobbyists as they port only arcade machine or console video games to Raspberry Pi (excluding ExaGear Emulator – it deals with old Widows PC games!)|
|Web Browsers for RPi||MidoriChromiumEpiphanyFirefoxGoogle Chrome||All of them are lightweight as Raspberry Pi hardware can hardly cope with multi-threaded apps like Chrome. Though, it’s possible to run Goole Chrome Browser on RPi via ExaGear (click to learn more). In general, all browsers compatible with single PC boards are simple and basic, free and open-source to provide occasional surfing the Net, downloading and content display.|
|RPi Virtual Machines||PIXELLXDEQEMUVirtualboxExaGear||Virtual machines help to install and run the applications non-typical for the hardware or even those which aren’t compatible with the architecture. It helps to reach different goals for programming Raspberry Pi devices for specific tasks and widens the variety of this hardware implementation.|
(e.g. ExaGear virtual machine runs x86 apps on ARM).
|Raspberry Pi Printers Software||OctopiAstroPrint||RPi devices are great for making smart things and one of the best examples of that is the smart printing. One of the best features is that the represented software helps to create a WiFi (wireless) printers from old ones. Also, these applications have got a big cluster for setting up and running a 3D printing and adopt 3D printers for different purposes and projects.|
|Raspberry Pi Software for Schools||PiNET||It is unique, supported by the Raspberry Pi Foundation free and open source software which helps to set up and running a so-called Raspberry Pi classroom. The main aim of such classrooms is to teach students the basics of programming languages as well as making projects using embedded technologies, such as single-board mini PCs like RPi. The software’s main features include the private network, based on a centralized operating system (Raspbian) with share folders, automatic back up and manageable work collections.|
|Raspbian Weather Researching Software||Weather Station||The software is dedicated to making your Raspberry Pi a real DIY weather station. The Raspberry Pi foundation offers a special hardware kit including plug-in connectors and sensors for gathering the environmental data (wind speed and direction, precipitation, temperature, pressure etc.), analyzing and storing them to some remote node, or plug-in data storage hardware. There’s a large weather watch enthusiasts community sociating via different forums, portals and websites, which you can set up connect your weather display system as well using the represented app.|
|Crypto Mining Software (stopped!)||Minepeon||However, it’s not a good idea to mine cryptocurrencies on such hardware like Raspberry Pi nowadays, due to the level of mining difficulty. It’s unprofitable. The modern mining Bitcoin (as well as altcoins) algorithms require way much more powerful hardware which RPi will never be even close to. In fact, ARM-based devices have got absolutely different goals. Though, there was an attempt to mine Bitcoin on RPis when it was somehow profitable (long ago). Now, the project’s been stopped and the last update on their website dated back to 2014.|
|RPi Music Production Software||Sonic-Pi||It’s a free and open source project (under MIT license),|
and is recognized to be a real great software both for beginners and music professionals. Sonic Pi allows to synth sounds and composes music live via coding! And that is a really great feature for learning the programming languages as well as for music composing. The users may define their particular tones and rhythms and change these parameters whilst playing back. The software was developed by Sam Aaron, University of Cambridge and thus, it goes with a bunch of lessons tutorials and study programs to provide an exciting education for beginners.
Well, in this article we have learned almost all the possible operating systems which are more or less used on Raspberry Pi (or other ARM-based devices).
Also, reading this article you can make sure that the possibilities for software development in ARM industry are really unlimited. Generally, there are not so many applications for Raspberry Pi, though the demand for it is quite big.
ExaGear Desktop for Raspberry Pi (and other ARM devices) is situated on the edge of this challenge. It is useful both for a hardware project and for some software development project, being made on an ARM board. The first case is about porting the necessary x86 apps to your single PC board to substitute the absent software. The second one helps to install and run such necessary for any developer apps as Wine, Microsoft.NET, TeamViewer and many others.
Moreover, with ExaGear Desktop, you can run almost any x86 app on any ARM-based device including, but not limited to Raspberry Pi, Odroid, Banana Pi, Beagleboard, Cubox, Jetson, Cubieboard and many others.
|Also on Eltechs|
|Virtual machines for Raspberry PiChoose the best virtual machine for your Raspberry Pi or any other ARM device comparing ExaGear and its alternatives||Build a TeamSpeak 3 Server on Raspberry PiIn this post, we will tell you how to setup TeamSpeak 3 Server on Raspberry Pi with ExaGear Desktop which allows running any x86 apps on ARM mini PCs.|
|Run MS .NET Framework 4.5 on Raspberry PiSet and run .NET Framework on Raspberry Pi for any specific reason. Step-by-step detailed guide.||Wine on Raspberry PiDetailed instruction on running a Wine app on any Raspberry Pi (or other ARM) to port different x86 apps on Raspbian|
|RetroPie: Ultimate guideIn this guide you’ll find out all you need to know about RetroPie to make up your all-in-one own retro gaming console.||Raspberry Pi Gaming emulatorA detailed guide on how to make your Raspberry Pi a powerful gaming emulator and run any iconic and nostalgic PC games on Raspbian (or any other ARM).|
ExaGear is registered trademark of Eltechs, Inc. Raspberry Pi is a trademark of the Raspberry Pi Foundation. Other trademarks and product names are the property of their respective owners.