Linaro Blog

April 2012 CEO Report

Linaro’s work affects many segments other than mobile – cars, TV, cameras, kiosks, printers, consumer and enterprise routers, servers – the market for Linux on ARM extends to billions of devices. The ARM architecture and business model encourages SoC vendors to create customized and value-added products for different market segments. While this enables optimized hardware for a particular application, the software platforms required to drive them are becoming increasingly complex. Standardization on core Linux software is becoming increasingly critical to avoid excessive engineering development and maintenance costs, and to avoid lengthy testing, validation and bug fixing cycles, which ultimately lead to product delays. The quality of Linaro’s engineering team and its focus on consolidating and developing Linux core software on ARM will be of strategic importance for ARM SoC vendors for years to come.

Different market segments have different needs. The mobile market is characterized by short product cycles and a dependence on the latest, most powerful devices, coupled with a demand for extraordinary battery life. Linaro is making a real difference by helping distributions such as Android, and phone developers rely on a well implemented and well tested kernel and operating system core that runs across multiple SoCs, with a concerted effort into improving performance and power management. As the market for ARM devices expands rapidly, driven by new SoC products including the A15, big.LITTLE and next generation ARM v8 64 bit devices, the demands on Linux for ARM are also expanding. Linaro is working with existing and prospective members to help share the cost of the engineering required to enable ARM processors to not only compete but to excel in these markets.

There is synergy between these new market areas and mobile devices. 10 years ago the thought of using server based SMP Linux for mobile phones would have been met with extreme skepticism, yet today that is exactly the norm, as many of the mechanisms for running multi-processor Linux server software are now in your multi-core SoC-based mobile phone. Take UEFI as another example: a year ago there was little interest in UEFI as a mobile phone boot mechanism, except as a future roadmap item for ARM servers. Then an interesting thing happened. UEFI is the standard secure boot mechanism for Windows 8. Secure boot is becoming more important for all mobile devices as they store more and more personal information, and start to be widely used for banking and financial transactions. Today most mobile devices use custom bootloaders. However, few products are sold on the basis of differentiated boot implementations. It makes a great deal of sense for members to agree to work on a single implementation of secure boot and UEFI together. This is a good example of the value of Linaro for members. Without Linaro each SoC vendor must do this work themselves — it is core and necessary — and yet non-differentiating. If the costs of developing and maintaining UEFI are shared in Linaro then the members will benefit. As you will see below Linaro has already started working on UEFI on the ARM Versatile Express and we will be bringing proposals to the TSC to widen this activity to support all of our members products and to provide Linaro support for UEFI moving forward.

I look forward to seeing you all at Linaro Connect later this month.

Posted in Industry, Linaro | Leave a comment

Linaro Android running on Galaxy Nexus

No, I promise, it’s not a Last-day-of-April-Fools joke. ;)
Linaro Android, built with the Linaro toolchain (my test build was done with the gcc 4.7 based 2012.04 Android toolchain release), can run on a Galaxy Nexus phones (GSM version tested, CDMA version may or may not work).
There are a couple of limitations (GPS didn’t work, the camera didn’t work, and turning off Bluetooth caused the phone app to crash), but all the basics work fine, even 3D games could run.

If you want to check it out:

repo init -u git://android.git.linaro.org/platform/manifest.git -b linaro-playground -m maguro.xml
export TARGET_TOOLS_PREFIX=/where/you/installed/the/linaro-android-toolchain/bin/arm-linux-androideabi-
source build/envsetup.sh
lunch full_maguro-userdebug
make -j8 otapackage

The file to flash to the Galaxy Nexus will be out/target/product/maguro/full_maguro-ota-eng.*.zip – you can flash it using e.g. the ClockworkMod Recovery.

As the branch name implies, this is not an official release, and we don’t expect to make any official releases of this in the future. However, we will accept patches. ;)

Posted in Android, Community | Leave a comment

Linaro 12.04 released

“Your talent determines what you can do. Your motivation determines how much you are willing to do. Your attitude determines how well you do it.” ~Lou Holtz

We are pleased to announce the release of Linaro 12.04.

The Linaro 12.04 release highlights the precision, expertise and talent which all of the Linaro Teams – Working Groups, Landing Teams and Platform Teams – use to deliver influential updates and stimulating new features that are integrated on top of Android and Ubuntu. We, together with our members, partners and community continue to build upon the future of Linux on ARM and the 12.04 release is one more step in the excellent execution of those plans.

“This release integrates the ARM Fast Models. Using Fast Models enables us to engineer and test architectural features well before production silicon chips are available from our members. The most recent major project that is seeing the benefit of this is our work with big.LITTLE integrated kernel switching and KVM (using the Cortex-A15′s virtualization mode)” said Linaro CTO David A Rusling, “and these Fast Models are proving to be essential in our mission to avoid fragmentation and accelerate our member’s time to market.”

During the Linaro 12.04 release cycle the Developer Platform Team migrated the Linaro Evaluation Builds (LEB) to the Ubuntu 12.04 LTS (Precise Pangolin) based images. These new images are built for the ARM hard float (armhf) images and Linaro U-Boot is now based on the latest upstream release – v2012.04.1. Additionally, the Developer Platform images now provide support for the big.LITTLE integrated switcher and A15 Fast Models with KVM kernel, as well as testing coverage of the big.LITTLE project for both the reference and integrated switcher.

The Linaro Android team delivered the multimedia enablement for the Snowball and have updated all builds to AOSP ICS 4.0.4_r1.1. Also included as of this cycle are updated base toolchain components – MPFR and GMP. The Linaro Android Team ported stressapptest to Android for big.LITTLE testing and like the Developer Platform team implemented and ran weekly big.LITTLE tests.

The Infrastructure, Graphics, Kernel, Multimedia, Toolchain, and Validation teams all had updates and new features added into this release which are covered in more detail on the release wiki.

We encourage everybody to use the 12.04 release. The download links for all images and components are available on our downloads page:
http://www.linaro.org/downloads/

See the detailed highlights of this release to get an overview of what has been accomplished by the Working Groups, Landing Teams and Platform Teams. The release details are linked from the “Details” column for each released artifact on the release information:
http://wiki.linaro.org/Cycles/1204/Release#Release_Information

Using the Android-based images
=======================

The Android-based images come in three parts: system, userdata and boot. These need to be combined to form a complete Android install. For an explanation of how to do this please see:
http://wiki.linaro.org/Platform/Android/ImageInstallation

If you are interested in getting the source and building these images yourself please see the following pages:
http://wiki.linaro.org/Platform/Android/GetSource
http://wiki.linaro.org/Platform/Android/BuildSource

Using the Ubuntu-based images
=======================

The Ubuntu-based images consist of two parts. The first part is a hardware pack, which can be found under the hwpacks directory and contains hardware specific packages (such as the kernel and bootloader). The second part is the rootfs, which is combined with the hardware pack to create a complete image. For more information on how to create an image please see:
http://wiki.linaro.org/Platform/DevPlatform/Ubuntu/ImageInstallation

Getting involved
============

More information on Linaro can be found on our websites:
* Homepage: http://www.linaro.org
* Wiki: http://wiki.linaro.org

Also subscribe to the important Linaro mailing lists and join our IRC channels to stay on top of Linaro developments:
* Announcements:
http://lists.linaro.org/mailman/listinfo/linaro-announce

* Development:
http://lists.linaro.org/mailman/listinfo/linaro-dev

* IRC:
#linaro on irc.linaro.org or irc.freenode.net
#linaro-android irc.linaro.org or irc.freenode.net

Known issues with this release
=====================

For any errata issues, please see:
http://wiki.linaro.org/Cycles/1204/Release#Known_Issues

Bug reports for this release should be filed in Launchpad against the individual packages that are affected. If a suitable package cannot be identified, feel free to assign them to:
http://www.launchpad.net/linaro

Posted in Linaro, Releases | Leave a comment

Linaro Toolchain Binaries 2012.04 released

The Linaro Toolchain Working Group is pleased to announce the 2012.04 release of the Linaro Toolchain Binaries, a pre-built version of Linaro GCC and Linaro GDB that runs on generic Linux or Windows and targets the glibc Linaro Evaluation Build.

Uses include:

  • Cross compiling ARM applications from your laptop
  • Remote debugging
  • Build the Linux kernel for your board

What’s included:

Linaro GCC 4.7 2012.04

  • Linaro GDB 7.4 2012.04
  • A statically linked gdbserver
  • A system root
  • Manuals under share/doc/

The system root contains the basic header files and libraries to link your programs against.

Interesting changes include:

  • Switches to the new GCC 4.7 based Linaro GCC
  • Adds native language support to most of the programs
  • Adds the mudflap, ssp, and gomp runtime libraries
  • Enables gnu_unique_object support in GCC

Please see the README about running 4.7 based programs on a system with 4.6 based runtime libraries.

The Linux version is supported on Ubuntu 10.04.3 and 11.10, Debian 6.0.2, Fedora 16, openSUSE 12.1, Red Hat Enterprise Linux Workstation 5.7 and later, and should run on any Linux Standard Base 3.0 compatible distribution. Please see the README about running on x86_64 hosts.

The Windows version is supported on Windows XP Pro SP3, Windows Vista Business SP2, and Windows 7 Pro SP1.

The binaries and build scripts are available from:
https://launchpad.net/linaro-toolchain-binaries/trunk/2012.04

Need help? Ask a question on https://ask.linaro.org/

Already on Launchpad? Submit a bug at
https://bugs.launchpad.net/linaro-toolchain-binaries

On IRC? See us on #linaro on Freenode.

Other ways that you can contact us or get involved are listed at
https://wiki.linaro.org/GettingInvolved.

Posted in Linaro, Releases | Leave a comment

Android Multimedia on Origen, 12.03

Multimedia HW Acceleration from Origen

In 12.03 release, Origen has a fully enabled Multimedia components with HW acceleration, this includes: 3D HW, Multimedia Video Playback and HDMI for Graphics and Video. This gives an invigorating user experience. The kernel version used is Linaro Kernel 3.0, and Linaro Android 4.0.3. All the multimedia components are released as a stand-alone binary components which need to be installed by install-binaries.sh shell script, this is well explained in flashing procedure page, so not explained here.

Video Acceleration

The following codecs are supported: H.264, and MPEG4. Video of all resolution upto 1080p works with a stunning user experience in 30 fps.

HDMI

The HDMI supports 2 components: Graphics and Video. The graphics layer provides the Android composition contents, the video layer provides video rendered by StageFright/OMX. There is also Hot Plug detection support for HDMI enabled

3D HW acceleration

MALI 400 gives a stunning 3D HW acceleration for system-wide graphics management, benchmark scores show a significant differences from using a defaults SW acceleration from using a hardware accelerated graphics components.

Performance Tuning Tricks

For Video processing it is required that the buffer sharing between multiple components happen at very good speed, here are few scenarios.

1) OMX Codec gives Y and UV buffers to the Video Post Processor for color conversion and Video Scaling. It is required therefore to pass the contents between the 2 components, a Zero-Copy solution is this achieved by directly tunnelling the physical address between the 2 driver components from the HAL layer

2) In the HDMI video playback scenario it is required that the Y and UV contents be passed from the Media Process (OMX and StageFright) to the System Process (Surface Flinger), this involves passing of buffers through IPC, thus Signals and Properties are currently being used to pass the Y and UV physical Address. HDMI is currently working in the context of Surface Flinger. HDMI has a powerful in-built Video Processing capabilities for color conversion and scaling.

Thus Stunning video experience is achieved even when video is being streamed both to HDMI and LCD at the same time, there is no delay or Frame drop or AV-Sync problems

Further Enhancements:

The Linaro kernel is being migrated to 3.4 rc-3 for Origen, this has all the latest and greatest Main Line drivers for all components ranging from: HDMI, Codec, post processor, etc..

It will be quite interesting and there will be lot of changes coming in the Android HAL in terms of following:

1) Having a very standard Android HAL in terms of V4L2 interface

2)Having a very common and standard interfaces for buffer sharing and IPC mechanism like UMM, DMA-BUF.

3)Migration of Graphics framework, UMM support, DRM framework support, gralloc support for ION/UMP etc..

All the above work are being in progress for Android, stay tuned for more in the next blog.

Posted in Android, Community, Hardware, Linaro, Releases, Uncategorized | Leave a comment

Be a Show Off and Highlight Your Work – Demo Friday: Call for Participation Opens

Linaro Events Manager, Arwen Donaghey, issued the Call for Participation for Q2.12 Linaro Connect Demo Friday event, in an email to the connect mailing list yesterday. Below is the Call for Participation in full:


Linaro Connect Q2.12 is just around the corner. With a little over 5 weeks until the event I am pleased to announce the call for demonstrations is now open. Taking place on Friday 1 June from 4pm, demonstrations will be set up in the very grand, Grand Ballroom of the Gold Coast Hotel, Hong Kong as part of Linaro Connect Q2.12.

If you’ve not participated or attended previously, you can get an idea of what the event entails by taking a look at the previous events videos: http://www.youtube.com/user/linaroorg

The public is invited to attend and participate in this energetic afternoon.  Linaro, its partners, members and community, have created this as a great opportunity to view exciting demonstrations of Linaro builds running on a variety of ARM processor-based boards.

If you or someone you know is interested in presenting a demonstration on Friday 1st June please email events@linaro.org with the following information:

  • Name
  • Company affiliation
  • Title of the demonstration
  • Description of demonstration (The demonstration must be Linaro related, and those presenting the demonstration should be able to tell attendees how Linaro is making their product or demonstration better)
  • Any equipment requirements
  • Participants must be available to set up their demonstration prior to the start of the event and immediately after to close down
  • A poster (template attached), which allows attendees to understand all about your demonstration. (Posters must be received by Friday 18 May 2012 in order to guarantee printing)

Please let me know if you have any questions about Demo Friday or Linaro Connect events and I look forward to seeing all your demonstrations.  Thanks in advance for your participation.

Now’s your time to show off what you’ve been working on. Send in your Demo Friday submission today.

Registration for the Q2.12 Linaro Connect event being held from 28 May through 1 June at at the Gold Coast Hotel in Hong Kong is open.  Don’t forget to register today.

Many thanks to our Diamond sponsors – ARM and Canonical – for their sponsorship of the Q2.12 Linaro Connect Demo Friday event.

About Linaro Connect

This coming May, over 200 participants, ranging from kernel hackers to integration engineers to ARM SoC industry executives, will gather in Hong Kong for a week to present, discuss and develop features,  infrastructure and optimizations for the Linux kernel, Android, Ubuntu and beyond. Join us at the Gold Coast Hotel and help drive the future of Linux on ARM!

connect.linaro.org

About Linaro

Linaro is a not-for-profit engineering organization with over 120 engineers working on consolidating and optimizing open source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces.

www.linaro.org

Posted in Community, Connect Events, Industry, Linaro | Leave a comment

Linaro GDB 7.4 2012.04 released

The Linaro Toolchain Working Group is pleased to announce the release of Linaro GDB 7.4 2012.04.

Linaro GDB 7.4 2012.04 is the second release in the 7.4 series. Based off the latest GDB 7.4, it includes a number of ARM-focused bug fixes and enhancements.

Interesting changes include:

  • gdbserver can now be compiled with Android’s toolchain.
  • Additional fixes from the GDB 7.4 branch, one of them being that it doesn’t require makeinfo to build anymore.

The source tarball is available at:
https://launchpad.net/gdb-linaro/+milestone/7.4-2012.04

More information on Linaro GDB is available at:
https://launchpad.net/gdb-linaro

Posted in Linaro, Releases | Leave a comment

Q2.12 Linaro Connect Promo Video Now Available

Do you wonder what a Linaro Connect event is like?  Did you miss the last one?  If you answered yes to either of these questions, then we have something for you.

Thanks to Tara Oldfield at Novacut the Q2.12 Linaro Connect which is being held from 28 May-1 June, 2012 at the Gold Coast Hotel in Hong Kong now has a promo video.

But that’s not all.  If you haven’t checked out the Linaro Youtube channel have a look, we also have the plenary sessions and many interviews from attendees posted as well.

Linaro Connect events are free, but registration is required for planning purposes.  We hope to see you in Hong Kong where you can help build the future of Linux on ARM.  Register today.

If you or someone you know is interested in Linaro Connect, then take a look at the Connect Website, the Linaro Youtube channel, and share the promo video.

About Linaro

Linaro is a not-for-profit engineering organization with over 120 engineers working on consolidating and optimizing open source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces.

To ensure commecial quality software, Linaro’s work includes comprehensive test and validation on member hardware platforms. The full scope of Linaro’s engineering work is open to all online. Open engineering has been practised from the start at Linaro with plans, specifications and progress available for inspection on the developer Wiki. Linaro is distribution neutral: it wants to provide the best software foundations to everyone, and to reduce non-differentiating and costly low level fragmentation.

http://www.linaro.org/about/

About Linaro Connect

The industry’s largest and most important event for developing Linux on ARM, Linaro Connect Q2.12 will be located in Hong Kong for the first time, enabling access for many companies and individuals new to Linaro.

All attendees can expect to work with some of the best software developers as we plan out and code the future of Linux on ARM. It will be an intensive week consisting of discussion and planning in the morning, engineering in the afternoon and socialising in the evening.

http://connect.linaro.org/events/event/linaro-connect-q2-12/

Posted in Community, Connect Events, Linaro | Leave a comment

Linaro QEMU 2012.04 released

The Linaro Toolchain Working Group is pleased to announce the release of Linaro QEMU 2012.04.

Linaro QEMU 2012.04 is the latest monthly release of qemu-linaro. Based off upstream (trunk) QEMU, it includes a number of ARM-focused bug fixes and enhancements.

New in this month’s release:

  • ppoll syscall now supported in ARM linux-user mode
  • the SETEND instruction in the Thumb encoding now UNDEFs to match behaviour for the ARM encoding
  • the OMAP36xx UART FIFO status registers are now implemented (thanks to Jan Vesely)

Known issues:

  • Graphics do not work for OMAP3 based models (beagle, overo) with 11.10 Linaro images.
  • Audio may not work on Versatile Express models with the latest Linaro kernel/hardware packs (LP: #977610).

The source tarball is available at:
https://launchpad.net/qemu-linaro/+milestone/2012.04

More information on Linaro QEMU is available at:
https://launchpad.net/qemu-linaro

Posted in Linaro, Releases | Leave a comment

Linaro GCC 4.7 and 4.6 2012.04 released

The Linaro Toolchain Working Group is pleased to announce the 2012.04 release of both Linaro GCC 4.7 and Linaro GCC 4.6.

Linaro GCC 4.7 2012.04 is the first release in the 4.7 series. Based off the latest GCC 4.7.0+svn186061 release, it includes performance improvements especially around 64 bit operations.

Interesting changes include:

  • Our first 4.7 based release
  • Updates to GCC 4.7.0+svn186061
  • Better use of 16 bit Thumb-2 instructions for smaller code size
  • Implements 64 bit ones complement in NEON
  • Adds support for the ARMv6 saturation instructions
  • Backports the NEON lexer improvements for faster compilation
  • Backports the 64 bit multiply, divide, and mod improvements

Fixes:

  • LP: #960283 slp pass assert when compiler configure with –enable-checking

Linaro GCC 4.6 2012.04 is the fourteenth release in the 4.6 series. Based off the latest GCC 4.6.3+svn186060 release, this is the first release after entering maintenance.

Interesting changes include:

  • Updates to 4.6.3+svn186060

Fixes:

  • LP: #960283 slp pass assert when compiler configure with –enable-checking

The source tarballs are available from:
https://launchpad.net/gcc-linaro/+milestone/4.7-2012.04
https://launchpad.net/gcc-linaro/+milestone/4.6-2012.04

Downloads are available from the Linaro GCC page on Launchpad:
https://launchpad.net/gcc-linaro

More information on the features and issues are available from the release page:
https://launchpad.net/gcc-linaro/4.7/4.7-2012.04

Mailing list: http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Bugs: https://bugs.launchpad.net/gcc-linaro/

Questions? https://ask.linaro.org/

Interested in commercial support? Inquire at support@linaro.org

Posted in Linaro, Releases | Leave a comment