Distributions
LCA: The past, present, and future of Ubuntu on ARM
The ARM architecture has traditionally been served by source-based distributions that are hand-built for specific systems; it has not seen much in the way of generic distributions like x86 has. As the ARM architecture grows in capability, adoption, and importance, though, distributors are looking more seriously about providing support for it. Ubuntu has been working on its ARM support for a few years now; in a 2012 linux.conf.au talk, Canonical developer David Mandala reviewed the history of Ubuntu's ARM distribution and gave some thoughts on where he thought things might go.Ubuntu started making a distribution for ARM in 2008. This distribution was not based directly on Debian's effort for a simple reason: Debian was built around the ARMv4 architecture, but Ubuntu wanted to target the newer ARMv7. After some work, the first ARM-based release came out in April, 2009; it was targeted at the Freescale iMX51 development board.
Thereafter, ARM releases followed the same six-month schedule as the
x86-based Ubuntu releases. The 9.10 release got them up to the ARMv6
instruction set and added support for a Marvell Armada board. 10.04 added
support for an OMAP3 development board, could build on ARMv7, and
was able to use the Thumb-2 instruction set. The Ubuntu ARM release also
rebased itself onto the Netbook Edition at that time. 10.10 added initial
device tree support; at this point, Ubuntu had started working with Linaro
to improve ARM support in general. With the 11.04 release things started
to get a little easier; in particular, TI had pushed support for the OMAP3
processor entirely upstream, so mainline kernels would just work on that
architecture. The distribution was also targeting OMAP4 by this point;
that support is arriving in the mainline but is not yet entirely there.
Finally, 11.04 moved to using Qt for its desktop.
The current release, 11.10, supports the Beagleboard and Pandaboard systems, along with the iMX53 QuickStart board. There is a community-supported build for Toshiba's ARM-based AC-100 netbook system which, David said, is a lot nicer to work with than a development board. Ubuntu has also produced the first technical preview of the upcoming ARM server release.
The team is now working on the 12.04 release, due in April, which should include support for ARM server system-on-chip (SoC) processors from Marvell and Calxeda. The distribution is moving over to the ARMhf architecture, which offers hardware floating support (among other things), leading to a faster system overall. Ubuntu 12.04 will be fully multiarch-clean, which will make it much easier to do cross-development and testing on x86-based systems.
Life has been getting easier over time as the team gains experience and many of the software problems are hunted down and fixed. Creating the first ARMel archive, with 25,000 packages, took about three months; the ARMhf archive, instead, with 37,000 packages, was done in about three weeks. Lots of build issues have been overcome, and problematic assumptions in the code (such as "ARM systems will never be SMP") have been fixed.
Looking forward, David clearly sees a bright future for the ARM server architecture. That may be surprising to some; ARM has not generally been known as an architecture for servers, but that may be about to change. Power consumption is an increasingly important issue for data centers; many of them, at this point, have reached a point where no more power can be brought in and, thus, cannot accommodate any more systems. The industry spends some $45 billion per year on data center power and cooling. Anything that can reduce power consumption in this setting is welcome.
ARM is known for low power consumption, an attribute that makes it attractive in this situation. The architecture is adding a number of other features of interest to the server use case; we will be seeing 64-bit, multi-core processors with 2GHz clocks and support for virtualization. It will be possible to buy a quad-core SoC that can run flat-out with 5W of power, far less than any x86 chip. ARM servers, thus, have the potential to handle the server role while being much cheaper to buy and run.
So ARM servers may well find considerable success. Part of David's job, naturally, was to convince us that we would want to run Ubuntu Server on those ARM systems. It makes sense, he said, because Ubuntu has that experience with ARM going back to 2008; they have run into all the issues and know how things work. They have a distribution built natively for the Cortex A9 multi-core processor, ready to handle SMP workloads. And a lot of these systems will be running workloads like web serving - the sort of thing that Ubuntu has traditionally been good at.
Additionally, ARM-based server systems are going to bring some interesting system administration challenges. The density of these systems will be impressive, allowing the installation of thousands of servers into a single rack. Managing all of those systems - even at the level of ensuring they all get IP address when they boot - is not going to be straightforward. David thinks that Ubuntu's Juju configuration management system, originally developed for cloud deployments, will be well suited to the ARM server environment.
Looking forward, David anticipates that the first actual server release, targeting the Calxeda and Marvell SoCs, will happen in October. That will make Ubuntu the first operating system to support the ARM Cortex A15 processor. 12.10 will include support for virtualization with KVM or Xen. It will be a 32-bit release (64-bit work is getting started but is not ready yet), but it will support large amounts of physical memory using the (just merged for the 3.3 kernel) large physical address extension feature. Some of this support may also go into the 12.04 LTS release in later updates.
In 2013, the range of supported hardware will grow; there will also be support for the Cortex A7 processor and its interesting power management technologies. In 2013, he said, Ubuntu will be the first system to support the 64-bit ARMv8 architecture. UEFI boot will also be supported. Looking forward to 2014 and beyond, there will be a serious effort to create a unified kernel; running a single kernel on any ARM processor is a challenging goal, but it should be able to run on a wider range of processors than any kernel available today.
All told, it is an ambitious undertaking; ARM is not an architecture that has been congenial to general-purpose distributions in the past. But, if the ARM folks have their way, we may be about to see a significant change in the server market; Ubuntu clearly plans to be there if and when that happens.
[Your editor would like to thank the LCA organizers for assisting with his travel to Ballarat.]
Brief items
FreeBSD 9.0 released
FreeBSD 9.0 has been released. Highlights of this release include a new installer, Capsicum Capability Mode for sandboxing, softupdates journaling for the Fast Filesystem, user-level DTrace, ZFS updates, and much more, see the release notes for more information. "The FreeBSD Project dedicates the FreeBSD 9.0-RELEASE to the memory of Dennis M. Ritchie, one of the founding fathers of the UNIX[tm] operating system. It is on the foundation laid by the work of visionaries like Dennis that software like the FreeBSD operating system came to be. The fact that his work of so many years ago continues to influence new design decisions to this very day speaks for the brilliant engineer that he was. May he rest in peace."
PC-BSD 9.0 Released
The PC-BSD development team and iXsystems have announced the release of PC-BSD version 9.0 "Based upon FreeBSD 9.0-Release, this is also the first PC-BSD which offers users a variety of desktop environments to chose from, such as KDE, GNOME, XFCE, LXDE and more! Also available are pre-built VirtualBox / VMware images with integrated guest tools for rapid virtual system deployment, and native support for installing directly to OSX BootCamp partitions."
Newsletters and articles of interest
Distribution newsletters
- DistroWatch Weekly, Issue 439 (January 16)
- Maemo Weekly News (January 16)
- Ubuntu Weekly Newsletter, Issue 248 (January 15)
Page editor: Rebecca Sobol
Next page:
Development>>