Debian ARM accelerates via EABI port
Jan 19, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — 4 viewsEmbedded system specialist Applied Data Systems (ADS) has contributed an experimental new root filesystem for the ARM architecture to the Debian project. Comprised of 9,877 packages and growing, the ADS-contributed filesystem offers greatly improved floating point performance, thanks to support for ARM's EABI (embedded application binary interface).
ARM announced its EABI nearly four years ago, with the release of version 2.0 of its RealView compiler collection. Described as a “cross-platform standard developed by ARM, in collaboration with major OS and tools vendors,” the EABI provides a standard way for programs and libraries to interact with processor hardware — including ARM's VFP (vector floating point) coprocessor and Cirrus's Maverick Crunch floating point unit (FPU).
Current Debian GNU/Linux releases for ARM use floating point instructions that are emulated in software, which carries a performance penalty, notes ADS.
The GNU Compiler Collection subsequently gained usable EABI support as of release 4.1.0 (although Maverick Crunch support still needs work), while the Linux kernel added an EABI build option with the 2.6.16 release, according to Debian's ARM EABI port page.
The Debian project had worked for some time, prior to ADS's contribution, to build up a viable ARM EABI port. However, these efforts had been “taking a while,” wrote developer Lennert Buytenhek, when he announced his port to the Debian community on Jan. 10th. Buytenhek wrote:
“More and more VFP-supporting CPUs are coming out lately, and it would be nice to be able to use VFP on them in a sane way. The existing Debian EABI efforts have been taking a while, so November 24 last year I started working on a from-scratch EABI port, sponsored by Applied Data Systems. Six and a half weeks later, there's about 6,000 debs built, and so far it all seems to work pretty well.”
Buytenhek at first said ADS would keep its ARM EABI filesystem for internal use and for customers. However, several days later, Buytenhek wrote:
“As it doesn't really make a lot of sense anymore to keep the port private at this point, ADS decided that it should be opened up to the public. Yay.”
Within a couple of days, the package count in Buytenhek's ARM EABI filesystem had grown to 9,877. He reported that he was compiling the applications natively, on top of Koen Kooi's OpenEmbedded-based pure EABI filesystem, running on three donated Thecus N2100 storage devices (pictured at right), based on Intel 80219 processors. Buytenhek also made use of a donated Intel IQ81342EX, a development board for Intel's IOP341 and IOP342 storage processors.
Debian's ARM EABI port is known as “armel,” and is not to be confused with the “armeb” big endian port. According to an informal report submitted to a Debian developer list by Martin Guy, the ADS-contributed EABI-enabled armel filesystem running on a 233MHz ARM processor with no floating point unit took 4 minutes 17 seconds to encode an mp3 file, using lame. The old Debian ARM distribution, meanwhile, took 68 minutes to encode the same file, on a 200MHz ARM processor with floating point hardware that the distribution could not exploit.
Lots of technical information about EABI, its advantages, and why it essentially represents a new architecture, can be found on the Debian Project's ARM EABI port page.
One of the first free software projects to gain EABI support was Nokia's Debian-based Maemo project, which added EABI support to its Mistral SDK last June. Mistral was then used to develop the Tablet OS 2006 update Nokia's 770 Internet Tablet.
Availability
ADS's EABI-enabled ARM Linux port is available as a 117MB “build-essential root filesystem,” here.
Additionally, Buytenhek reports having completed a port of Fedora Core 6 to the ARM EABI architecture.
ADS, a long-time specialist in ARM processors, in 2001 contributed sleep mode functionality to Linux's power management support for the Intel StrongARM processor.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.