Back to the Hub.
Software & Distributions:
Software - an overview.
Distributions - operating systems and development environments for the Raspberry Pi.
Kernel Compilation - advice on compiling a kernel.
Performance - measures of the Raspberry Pi's performance.
Programming - programming languages that might be used on the Raspberry Pi.
What is armhf
The official Debian Squeeze image issued by the Raspberry Pi foundation uses "soft float" settings. The foundation found it necessary to use the existing Debian port for less capable ARM devices due to time and resource constraints during development of the Raspberry Pi. Therefore, it does not use of the Pi's processor's floating point hardware - reducing the Pi's performance during floating point intensive applications - or the advanced instructions of the ARMv6 CPU.
Raspberry Pi distributions that are optimized for ARMV6 and are optimizes for "hard float" should have better performance on certain CPU intensive tasks.
There are some info on the news groups that "hard float" optimization can speed up floating point operatins upto 10x, please read detailed discussion on Raspberry Pi forums - http://www.raspberrypi.org/phpBB3/viewtopic.php?p=61497#p61497
|Arch Linux ARM||2012-04-29||2012-03-01||Linux||OSI GPLv2||No||raw image||4,416?||root:root|
|Debian ARM||2012-04-19 (Squeeze)||2012-02-16 (Squeeze)||Linux||Core: OSI mixed (GPLv2 BSD etc)||No||raw image||20,000+||pi:raspberry|
|IPFire||2012-06-27 (2.11)||2012-06-27 (2.11)||Linux||Open Source||~20 MiB||No||raw image||Addons system||N/A|
|Fedora Remix||2012-07-07 (F14)||2012-07-07 (F14)||Linux||OSI mixed (GPLv2 BSD etc)||No||Fedora RPM: installer
Windows Zip: installer
Other Linux: Python script
|Meego MER + XBMC||2012-04-27 (0.2)||2012-04-11 (0.1)||Linux (embedded)||OSI mixed (GPLv2 BSD etc)||~34 MiB + XBMC||No||~320 (core)||N/A|
|Risc OS||2012-07-09 (5.19)||2012-07-09 (5.19)||ARM RISC OS||Shared Source||No||System Files
Unofficial SD Card Image
|OpenELEC + XBMC||2012-07-04||2012-05-10||Linux (embedded)||OSI mixed (GPLv2 BSD etc)||80 MiB (inc. XBMC)||Yes||build instructions
raw image (unofficial)
|~140 included (dpkg and apt-get are removed so you can not add more)||root:openelec|
|Raspbian Debian||2012-06-06 (Wheezy)||2012-05-28 (Wheezy)||Linux||Core: OSI mixed (GPLv2 BSD etc)||~30 MiB w/o desktop||Yes||pi image list
|QtonPi||? (0.2)||? (0.1)||Linux||No||qt 5 sdk + sdcard image||root:rootme|
|SliTaz||2012-05-29 (4.0)||2012-05-29 (4.0)||Linux||GPLv2||<~34 MiB||No||raw image||root:root|
|PwnPi||2012-06-29 (Squeeze)||2012-05-26 (Squeeze)||Linux||GNU General Public License version 3.0||No||Image||20,000+||root:root|
As announced on February 20, 2012 : Raspberry Pi Fedora Remix 14, developed by Seneca College, is the recommended distribution for newcomers to Raspberry Pi and day-to-day use. Pre-loaded SD cards with this distribution are planned to be available at some point after the initial launch through the Raspberry Pi Store.
Eben says (regarding default distribution): "Either Ubuntu or Fedora; the main point in Fedora’s favour is their ongoing support for ARMv6 architectures."
As of October 15 2011: the Raspberry Pi alpha board boots Fedora F13 (armv5tel) to a character-mode login prompt in about 23 seconds, taking 14-17MB of memory. XFCE and LXDE graphical environments are both available (but more work on the X drivers is needed). F15-ARM will be tested as its release date approaches in November. A 1-minute video is available at . Video about Seneca College and Fedora on Raspberry Pi: 
Link: to Raspberry Pi Fedora Remix wiki pages 
What is the Raspberry Pi Fedora Remix?
The Remix is a distribution comprised of software packages from the Fedora ARM project, plus a small number of additional packages that are modified from the Fedora versions or which cannot be included in Fedora due to licensing issues – in particular, the libraries for accessing the VideoCore GPU on the Raspberry Pi.
The SD card image for the Remix includes a little over 640 packages, providing both text-mode and graphical interfaces (LXDE/XFCE) with an assortment of programming languages, applications, system tools, and services for both environments. There are over 16,000 software packages available from the Fedora ARM repositories which can be easily installed using the Internet to customize your system to meet your needs and interests (again, using either command-line or graphical tools).
Some of the highlights of the software included in the SD card image:
- Programming languages: python, perl, ruby, bash
- Version control: git
- System administration tools (command line and/or graphical) for configuring various aspects of the system including the network, date/time, users, and printers
- Command-line and graphical tools for installing/removing/updating software
ssh (secure remote login) and printer services
- Graphical applications: word processing (AbiWord), spreadsheets (Gnumeric), image editing (GIMP), and web browsing (Firefox)
- Editors for programming: vim (text mode) and gedit with plugins for file management, terminal, and python console (graphical mode)
The Kernel provided in the Remix image is the Raspberry Pi 3.1.9 kernel from GitHub, with a combined Fedora/Raspberry Pi configuration file. This configuration includes the devices in the System-on-a-Chip, modular support for most USB devices and optional network features, and kernel features expected by Fedora packages, including IPv6.
Raspberry Pi Libraries
The Raspberry Pi proprietary libraries, headers, and utilities, included in /opt/vc in the Debian image, are installed into regular system locations in the Fedora Remix image (/usr/lib for libraries, /usr/include for headers, and /usr/bin and /usr/sbin for utilities). This reflects the fact that these files are part of the core distribution and not a third-party add-one.
The source code for the demonstration multimedia apps is contained in the /usr/share/vc-demo-source directory. Instructions for compiling and using these apps is on the Raspberry Pi Fedora Remix wiki documentation (see link, below).
The kernel, GPU firmware, start-up scripts, and proprietary libraries/headers/demo source are all provided by RPM packages. This software, along with all of the Fedora packages, can be installed/removed/reinstalled/updated from online software repositories. This means that if new GPU firmware or multimedia libraries become available, they can be installed with a simple update command (“yum update”) or a mouse click on the graphical software updater.
The Remix is distributed as four separate pieces, carried by three separate mirror networks:
- The SD card image files are being mirrored by the Raspberry Pi community’s mirror network.
- The Velocix content delivery network is mirroring the installer program plus the Raspberry Pi-specific remix package repositories.
- The Fedora mirror network is mirroring the Fedora ARM package repositories.
Many thanks to Liam Fraser and the sites comprising the three mirror networks.
The Future of the Raspberry Pi Fedora Remix
"The Fedora ARM project is hard at work building Fedora 17, which we hope to release concurrently with the PC versions in May. This should be the most complete Fedora ARM release produced to date.
Students in the SBR600 course at Seneca College are working to on an improved version of the Remix incorporating files from Fedora ARM 17, and this will also be released in May.
The Fedora ARM project has the goal of achieving primary architecture status during the Fedora 18 development cycle — which means that, from that point on, the ARM build of Fedora will receive the same priority and be released on the same schedule as the PC (x86) versions.
As this project progresses, we anticipate moving most of the Raspberry Pi-specific software packages into the main Fedora ARM project, except where prevented by licensing issues."
Release notes, information on where/how to get help or to get involved, FAQ about the Remix, and more are on the Seneca CDOT wiki at http://cdot.senecac.on.ca/raspberrypi.
A Quick Word on Trademarks
Important note from Chris Tyler :
"This software distribution is counted as a “Fedora Remix” in the terminology of the Fedora project because it contains software not found in the Fedora package collection. Please do not refer to the Remix as “Fedora” or use the Fedora infinity logo or wordmark in conjunction with the remix – please refer to it as a “Fedora Remix” and use the secondary mark in accordance with the Fedora Trademark Guidelines. (Note that we have specific approval to use the Secondary Mark with a modified colour scheme to match the Raspberry Pi logo)."
Debian was the default distribution on the Alpha boards. Boot time depends on width & speed of SD-card. Alpha board boot into Debian prompt (no GUI) was timed taking about 34 seconds.
The Debian distro for Raspberry Pi is the Cambridge reference filesystem, which is a fully functional Debian Squeeze installation containing LXDE (desktop) and Midori (browser); development tools; and sample code for accessing the multimedia functionality on the device.
Arch Linux ARM is based on Arch Linux, which aims for simplicity and full control to the end user. It provides a lightweight base structure that allows you to shape the system to your needs. For this reason, the Arch Linux ARM image for the Raspberry Pi does not come with a graphical user interface, though you can easily install one yourself. There is a step-by-step guide for installing Arch with the Enlightenment desktop. Please note that the Arch distribution may not be suitable for beginners.
Arch Linux ARM is on a rolling-release cycle that can be updated daily through small packages instead of huge updates every few months.
More information is available at http://archlinuxarm.org
Raspberry Pi + Debian = Raspbian. A project to create a hard float port of Debian Wheezy (7.x) armhf for the Raspberry Pi. The intent of Raspbian is to bring to the Raspberry Pi user 10,000s of pre-built Debian packages specifically tuned for optimal performance on the Raspberry Pi hardware. The project is still in it's early phases, but the major push to rebuild nearly all Debian packages for the Raspberry Pi is expected to be completed by early June, 2012 (only several hundred packages remain as of June 1st). After that, efforts will focus on making Raspbian the easiest to use, most stable and best performing Linux distribution available for the Raspberry Pi.
More information is available at http://www.raspbian.org
IPFire is an Open Source firewall distribution for x86 and ARM-based systems. It turns the Raspberry Pi computer into a small router for home networks and very small businesses. As the Raspberry Pi computer comes with only one NIC, it works perfectly as a 3G router without plugging in additional hardware.
The generally small system that provides essential services for networks can be enhanced by addons which add new features to IPFire. So the system can be turned into a file server and much more.
More information is available at http://www.ipfire.org
The following distributions have been announced and may have been publicly demonstrated but distributions are not generally available quite yet.
Gentoo Linux is a computer operating system built on top of the Linux kernel and based on the Portage package management system. It is distributed as free and open source software. Unlike a conventional software distribution, the user compiles the source code locally according to their chosen configuration. There are normally no precompiled binaries for software although for convenience some software packages (such as Mozilla Firefox and LibreOffice) are also available as precompiled binaries for various architectures where compiling would otherwise be very time consuming.
KidsRuby is what it sounds like – a Ruby for kids – and it’s running beautifully on the Raspberry Pi. This is exactly the sort of application we want to see on the device, and we’re really pleased to see it up and running. It looks like there will be some optimisation for speed before we launch, but what’s there already is very useable.
R.Pi blog entry: http://www.raspberrypi.org/2011/09/kidsruby-on-raspberry-pi-another-video-demo/ More info & Video: http://confreaks.net/videos/637-gogaruco2011-kidsruby-think-of-the-children?player=html5
Meego MER & XBMC
The MeeGo MER project provides a Linux-based, open source software platform for the next generation of computing devices. The MeeGo MER software platform is designed to give developers the broadest range of device segments to target for their applications, including netbooks, handheld computing and communications devices, in-vehicle infotainment devices, smart TVs, tablets and more – all using a uniform set of APIs based on Qt. XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. Meego TV 1.2 uses XBMC as a reference GUI (that is, a starting point for creating a custom GUI).
OpenELEC is an embedded operating system built specifically to run XBMC, the open source entertainment media hub. The idea behind OpenELEC is to allow people to use their Home Theatre PC (HTPC) like any other device you might have attached to your TV, like a DVD player or Sky box. Instead of having to manage a full operating system, configure it and install the packages required to turn it into a hybrid media center, OpenELEC is designed to be simple to install, manage and use, making it more like running a set-top box than a full-blown computer.
- OpenELEC Mainsite
- In February 2012, OpenELEC.tv announced their ARM port for Raspberry Pi
- OpenELEC forum thread
- RaspberryPi forum thread
- Raspberry Pi build instructions for OpenELEC
Raspbmc is a minimal Linux distribution based on Debian that brings XBMC to your Raspberry Pi. This device has an excellent form factor and enough power to handle media playback, making it an ideal component in a low HTPC setup, yet delivering the same XBMC experience that can be enjoyed on much more costly platforms. Raspbmc is brought to you by the developer of the Crystalbuntu Linux Distribution, which brings XBMC and 1080p decoding to the 1st generation Apple TV.
RISC OS is a fast and lightweight computer operating system designed in Cambridge, England by Acorn. First released in 1987, its origins can be traced back to the original team that developed the ARM microprocessor. RISC OS includes BBC BASIC which was primarily conceived to teach programming skills as part of the BBC computer literacy project.
- RISC OS Open (ROOL) has released the sources. Community members have ported the OS to the BeagleBoard and similar hardware
- In November 2011, RISCOScode.com announced that RISC OS will be available as an alternative OS for Raspberry Pi
- RaspberryPi forum thread
- ROOL forum thread
Bodhi Linux is a small Linux distribution using the Enlightenment window manager and the ARM build is based on Debian.
- what-about-the-raspberry-pi Forum thread
- bodhi-linux-arm-repository-online Developer Blog
- one-year-with-bodhi-linux Developer Blog
These are other popular distributions that are often asked about for Raspberry Pi but are not available.
GeeXboX is a free and Open Source Media-Center purposed Linux distribution for embedded devices and desktop computers. GeeXboX is not an application, it’s a full-featured OS, that one can boot as a LiveCD, from a USB key, an SD/MMC card or install on its regular HDD. The GeeXboX distribution is lightweight and designed for one single goal: embed all major multimedia applications as to turn your computer into an HTPC.
Ubuntu was initially planned to be the default distribution, but the current version of Ubuntu only supports ARMv7 onwards, not the ARMv6 architecture used by the Raspberry Pi's processor. Therefore Ubuntu does not work on Raspberry Pi, and there is no further information about this changing in the near future.
A bug report on this subject was submitted to Ubuntu's bug tracker. The responses to that bug include an unofficial viewpoint from a Canonical employee, outlining the amount of work required to support ARMv6 (and therefore, potentially, Raspberry Pi). See Bug 848154
Instead of just using a compiler and editor, you can use a complete image to create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.
OpenEmbedded is a build framework and cross-compile environment for embedded Linux.
A detailed tutorial by emercer: http://cronicasredux.blogspot.com/2011/09/installing-and-running-debian-armel-on.html
Scratchbox is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. To find out what it can do, take a look at some of the documentation.
There is now an Oracle Virtualbox VM image with a scratchbox2 install inside.
More details and discuss: http://www.raspberrypi.org/forum/?mingleforumaction=viewtopic&t=454