| Ubuntu ported to ARM |
Apr. 18, 2008
A Nokia-sponsored project is porting Ubuntu Linux to the ARM architecture. The "Handheld Mojo" team has completed ARM builds of Feisty Fawn (dubbed "Frisky Firedrake") and Gutsy Gibbon ("Grumpy Griffin"), with Hardy Heron compilation starting soon.
Mojo's Ubuntu port for ARM can be tested in QEMU, an open source emulator that supports various ARM architectures. Or, it can be run in a chrooted environment from an SD flash memory card installed on Nokia's Linux-based N8xx series Internet tablets. Since the ports are built for ARM Ltd.'s ARMv5EL and ARMv6EL-VFP architectures, they should also run on lots of other devices with ARM9 and ARM11 cores.
With a few exceptions, most Ubuntu software compiles fine for ARM, according to Andrew Christian, the engineering fellow at Nokia who leads the effort. Notable exceptions are Java, Mono, G77 (a Fortran compiler), and the software that depends on them.
Speaking at the Embedded Linux Conference in Mountain View this week, Christian showed an N800 tablet running the GIMP, an open source image processing package that he said worked well on the device.
Christian told attendees that cross-compiling is much faster than native compilation. However, he said that most Debian (and by extension, Ubuntu) packages are not correctly set up for cross-build environments. For that reason, his team found it better to compile natively, because less human intervention is required.
In setting up a native build environment, Mojo went to the extent of assembling its own single-board computer around an ARM-based Intel processor. Installed in 1U rackmount cases, and stacked up in a rack, the boards can collectively compile the 25,000 binaries comprising a full Ubuntu distribution (some packages build more than one object file) in about 10 days, Christian said. He commented that cooling fans installed in the cases were "probably overkill."
To bootstrap a native ARM development toolchain, Christian used the ARM EABI port contributed to Debian in early 2007 by single-board computer vendor ADS. This saved considerable time, he said.
Christian also said he thought Debian should change how it packages source code for ARM's several variations. Instead of treating each as a completely separate architecture, the project should use the Deb package format's directory structure to organize sub-architectures, and the architecture field in the format's meta-data to specify where the package ought to build, with "ARM-all" being one possible option.
In an interview with LinuxDevices, Christian said that his team looked forward to creating more powerful native ARM build systems. In particular, he was encouraged to try commodity ARM-based NAS servers that could be modified to accept up to 2GB of RAM, according to reports from hobbyists around the Internet. The current Mojo boards top out at 256MB, and become memory-bound building large packages like KDE, he said.
As an alternative to ARM-based machines, Mojo is also testing x86 servers with QEMU-ARM emulation software. QEMU is reportedly faster than real ARM hardware when run on newer x86-based PCs.
Besides Christian, other key developers working on the port include Brian Avery, veteran of HP's iPaq Linux port, and George France, former maintainer of the Linux kernel for the Alpha architecture.
Analysis
 Dr. Ari Jaaksi (Click for Dr. Jaaksi's paper, "Building consumer products with open source software") | Nokia has long been a pioneer in the application of desktop software on embedded devices. For example, its Linux based Internet tablets run full-blown X11 and GTK+, instead of a lightweight "embedded" development framework like Qt/Embedded. And, rather than an embedded browser like Opera, Nokia's newest TabletOSes include a "MicroB" browser derived from Firefox. Desktop software is better tested, more familiar to users, and more compatible, Nokia's director of open source, Dr. Ari Jaaksi, is fond of observing.
As Intel launches Atom Centrino into the device market, Mojo's ports could help narrow x86's "software advantage." While ARM may always win over x86 on low power and small size, due to legacy functions like instruction set decoding in x86, x86 does benefit from a massive body of well-tested software. And, as x86 pioneer Glenn Henry explained in a recent interview, "software begets more software."
Software superiority has arguably enabled x86 to dominate the desktop and server markets over more "elegant" RISC-based architectures in the past. Why will things be any different in the long run in the mobile space? On the other hand, ARM is well-entrenched in devices, handily beating out Intel in embedded project starts for the last several years, according to LinuxDevices.com reader surveys.
Hopefully, Mojo will also consider an ARMv7 port, given that Texas Instruments has promised to offer inexpensive developer kits for its OMAP35xx parts. Based on dual-issue Cortex-A8 cores, these parts clock up to 600MHz, and thus could offer the performance of a hypothetical 1.2GHz ARM11 part within the power budget of a 600MHz ARM11.
Meanwhile, Ubuntu is gaining better support for devices with small screens and limited input devices, thanks to work by the Ubuntu Mobile and Embedded team, and its forebear, EmbeddedUbuntu, as well as Intel's Moblin project.
Availability
More details about the Mojo project -- including downloads of Ubuntu for ARM -- are available here.
Related Stories:
(Click here for further information)
|
|
|
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.
Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.
Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.
Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.
Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.
Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.
Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.
Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.
|
|
|
|
|