As many may know, the Linux operating system has many variations. These are more commonly referred to as Linux distributions or distros, and choosing a distribution to use can be a quagmire. I won't be telling people what distribution to use as each of them have their pros and cons, what I will do is highlight some of the distros that are active in the ARM ecosystem. In the first of my "Spotlight on the Linux software Ecosystem" I am going to cover the Fedora Project.
Fedora is one of the major distributions, and is the upstream project for the well known Red Hat Enterprise Linux distribution (RHEL). It offers a vast array of Open Source software and has a large developer base. Fedora has been active within the ARM community for quite a few years and has supported the ARM architecture since the F8 release in 2007 (the latest version is F18). The project currently supports two versions of the ARM architecture - ARMv5 and ARMv7; there is ongoing work to support the upcoming ARMv8 architecture. Support for Raspberry Pi which is based on ARMv6 is also under active development.
In mid January the Fedora Project held their annual conference - FUDCon (Fedora User & Developer Conference). This is held once a year in each global region and January saw the North American event being held in Lawrence, Kansas. I was fortunate enough to attend the conference and meet up with many of their developers working on ARM. Day one of the three day event was filled with presentations and lightning talks, covering a wide range of topics including ARM as a Primary Architecture and ARM Building Exercises, there is a full list of recorded sessions.
On day two and three, people split into groups focusing on specific aspects of the project. The dedicated room for ARM was abuzz with around 20 developers, and the first order of the day was planning and setting out the "Big Picture", Much of the planning was looking at where the project would be in two years and what is needed to get there; the big item is to get ARM classed as a "Primary Architecture". Fedora's definition of a Primary Architecture is "These are architectures with the majority of the users, the most common architectures. Build failures on these architectures are fatal: no packages push to the repositories if they fail to build for a primary architecture. To put it simply: These are the architectures for which Fedora will delay a release if they are not functional. Fedora package maintainers are required to make sure that their package builds properly for this architecture.' Planning sessions were involved and included many members of the core Fedora team, like the Release Manager as well as other members of the central team. The ground work for being accepted as a Primary Architecture were discussed, and a target for being a PA is now set for the release of Fedora20 - in roughly one year's time.
There was some lively discussion on bugs and issues that are hindering the new release and prioritisation of those issues, and then the roadmap was drawn out on a large whiteboard for comments from ARM developers and also input from other teams within Fedora. Throughout the event there were discussions between the ARM team and other Fedora teams including Virtualisation, Quality Assurance and Infrastructure. In the afternoon of day one, the room was full of feverish people working away at resolving the identified bugs and issues as well as looking at ways of adding that extra bit of polish to the release. Day three was a mix of coding, presentations and further discussions covering topics from atomics to zImages.
As part of the bug hunting and resolution sessions, people at Calxeda had a Boston Ltd. server on site to help with building and testing of packages. The ECX-1000 EnergyCore (Highbank) cards were building packages at a rate of two per minute, with server nodes split between building packages and testing. The Viridis-2U is a great example of the type of ARM based server units that are emerging, with all the servers running build and test jobs we were only drawing 160 watts. Apart from having a large number of servers in a small space and sipping power (relatively speaking); another advantage was that there was no need for additional equipment to help connect the servers and the users, no additional switches as it's all integrated into the 2U unit. Once the packages were successfully built and tested on the Viridis nodes, they were then submitted for inclusion into the distribution.
At present, Fedora's build infrastructure is comprised of a multitude of different development boards; including Tegra based TrimSlices, Texas Instruments Pandaboards and other devices. As part of the process of moving ARM to being a Primary Architecture, the decision was agreed to standardise on a single build platform to offer a minimal route for deviation. As Fedora is the basis for Red Hat Enterprise and other distributions based on RHEL, they will soon be moving to using an environment based on Highbank SoCs.
Calxeda wasn't the only SoC present; many of the attendees were 'ARMed' with Samsung Series3 Chromebooks, and there were also numerous devices ranging from Pandaboards to MK802 HDMI sticks. Some people targeted the devices that have little or no support to try and rectify the situation; all in all a normal and enjoyable hacking event.
A group of people from Canada, members of the Seneca College faculty and students in fact, attended the event. Seneca is a proud member of the Fedora Project and is invested in supporting the ARM port. Lead by Chris Tyler, the team at Seneca help the project by hosting and managing the ARM build infrastructure on behalf of the project. They also contribute with packaging tasks as well as testing the resulting built packages and images.
One of the Seneca Team's interests in ARM is around its use for education. They are especially interested in the popular RaspberryPi. As such, they are also in charge of the Fedora "spin" for the Pi. On the first day of the event, Chris Tyler got on stage for a "Lightning Talk" and showed the educational benefits of using something like the Pi; he gave an excellent quick demo of sensing and controlling aspects of the RaspberryPi, all from the trusty command line.
As Fedora supports both version 5 and 7 of the ARM architecture they have a wide variety of supported devices "out of the box", they also provide a generic file system for use with un-supported devices if you can provide a kernel, for more information see their downloads page. If you would like to just talk to them about ARM related topics, you have a multitude of ways of communicating with the Fedora ARM team. As part of being an open and inclusive team, Fedora also holds regular public meetings which you can either actively take part in or passively lurk in.
Fedora's ARM team is not an exclusive club; it is an inclusive team with people willing to help others regardless of their knowledge or expertise. They are very open in what they do, and welcome those that wish to take part. So if you are interested in taking your first steps with Linux on ARM or are looking for a new Linux platform to use, why not give Fedora a try?