Linaro 13.01 released

Written for Linaro by Fathi Boudra on 2013-02-01

"All things are created twice; first mentally; then physically. The key
to creativity is to begin with the end in mind, with a vision and a
blue print of the desired result." ~Stephen Covey

We are pleased to announce the release of Linaro 13.01.

With the first release of the calendar year, Linaro is happy to highlight
the ingredients that make up the deliverables, again produced by Linaro
Teams – Working Groups, Enterprise Group, Landing Teams and Platform Teams –.
Linaro anticipates another great year of Linux on ARM development
celebrating new members and producing some cutting edge advances.

The Developer Platform Team has enabled 64bit HipHop VM development in
OpenEmbedded, continued to merge ARMv8 support into the OpenEmbedded
platform and upstream, engaged initial support for the Arndale board
and released Linux Linaro 3.8-rc4 2013.01.

For the Android team, it was a busy cycle. The initial changes to
android-build page for the new build program have been done. They are
finally moving towards consolidation of manifests: Origen and Versatile
Express can now be synced and built from the same manifest. The Team is
happy to announce linaro-android-tools which is directed towards kernel
developers. The tool can be used to update kernel and initrd in Android
without having to remove the SDcard. They have also updated the third
party benchmarks to use the uiatomator testing framework introduced in
Jelly Bean. Android hardware pack support has been added.

The Linaro Enterprise Group (LEG) has released Linaro UEFI 2013.01.
The highlights include fixes for native building of UEFI on ARM
platforms and improvements to flashing images on Arndale board and
enable native building for PandaBoard.

The Power Management Group hosted a big.LITTLE sprint in Cambridge led
by Amit Kucheria. A meeting of minds between ARM, Linaro and the
community succeeded in achieving enhanced focus and a more defined
roadmap for the big.LITTLE story. Topics included clearly defined
benchmarking to determine the effectiveness of the platform, enhanced
verification to augment the traditional kernel power/performance testing,
and a well defined roadmap for big.LITTLE on Android. In related
big.LITTLE MP development, version 14 of the big.LITTLE MP tree has
been released.

We encourage everybody to use the 13.01 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:

* Android
 * Platform Work
  * The first step of the android-build front-end update for new build
    program has been landed.
  * Origen and Versatile Express manifests have been consolidated into
    a single manifest.
  * linaro-android-tools were developed to improve development time for
     kernel developers. Details can be found in the following link
   * https://wiki.linaro.org/Platform/Android/KernelUpdateTools
  * The android-build scripts have been cleaned up and should work from
    Ubuntu 10.04 and work for restricted builds as well.
  * busybox was upgraded to 1.21
 * Enablement
  * Audio Playback for panda is fixed.
  * External sdcard issue on pandaboard and origenquad was fixed.
 * LAVA/Testing
  * Third party benchmark suite is updated to use the uiautomator
    testing framework.

* Developer Platform
 * CI bring up: Arndale
  * Add binary pre-bootloader package for Arndale (BL1)
  * Include Arndale support into Linaro U-Boot
  * Update u-boot-linaro source package to build a binary package for Arndale
  * Update edk2-uefi source package to build a binary package for Arndale
  * Rebase Rony's tree on linux-linaro
  * Send a pull request to linux-linaro
  * Pulls Arndale support into Linux Linaro
  * Create a linux-linaro package for Arndale
  * Add linaro-image-tools support for Arndale
  * Add package-and-publish linux linaro CI job for Arndale
  * Add hwpack configurations for Arndale
  * Setup CI job for Arndale hwpack daily builds
  * Create a pre-built image for Arndale
 * Enable 64bit HipHop VM development in OpenEmbedded
  * Build dwarfutils, libmcrypt, libmemcached, memcached, onig,
    google-glog and libevent 1.4.14b with Facebook patch
  * Mark libdwarf and libunwind and google-perftools as optional
    (JIT requirement)
  * Create meta-toolchain-hhvm
 * Porting userspace applications for ARMv8
  * LP #1087757 fuse not building for aarch64
  * LP #1088941 attr needs xattr syscall numbers for Aarch64
  * LP #1090273 libaio needs aarch64 support
  * LP #1092128 xserver-xorg needs Aarch64 defines
  * LP #1092136 cmake: byte order unknown
  * LP #1095309 nspr needs aarch64 support
 * Merge ARMv8 support into OpenEmbedded
  * Merged slang, libffi, libart-lgpl, ghostscript, cmake,
    linux-libc-headers, libav, oprofile, python-numpy, xserver-xorg,
    gmp, attr, libaio, fuse and nspr changes into OE (and upstream if
    applicable)
 * Create Toolchain validation setup
  * Add options to jenkins-setup scripts to pass architecture and GCC version
  * Add ARMv7a gcc-4.7 and gcc-4.6 LAMP builds to ci.linaro.org
  * Update CI jobs publishing to snapshots.linaro.org
  * Merge changes in toolchain-layer
 * Linux Linaro 3.8-rc4 2013.01 released
  * Based off linux-linaro-core-tracking tree, llct-20130123.0 tag
   * Based off v3.8-rc4
   * Updated linaro-android-3.8 topic by John Stultz
   * Gator version 5.13
   * big.LITTLE MP version master-v14
   * eMMC patches from Kernel WG
  * Updated Versatile Express patches from ARM LT
  * Updated patches from Samsung LT: Arndale support added
  * Ethernet fixes for Snowball: ethernet works OK now
  * A patch to enable perf in Android by Bernhard Rosenkraenzer
  * Ashmem patch by Serban Constantinescu
  * VExpress64 support (both RTSM and Foundation models)
 * Linaro U-Boot 2013.01.1 released
  * LP #1103004 [Arndale] u-boot-linaro lacks pxeboot support
 * OpenEmbedded ARMv8 build has been updated
  * Toolchain updated to Linaro GCC 4.7 2013.01
  * Kernel updated to Linux Linaro 3.8-rc4
  * LP #1068138 syslogd segfault on shutdown
  * LP #1081058 No spinlock support in PostgreSQL
  * LP #1087757 fuse not building for aarch64
  * LP #1092128 xserver-xorg needs Aarch64 defines
  * LP #1096072 generate objarch.h for ghostscript
  * LP #1096073 Generate art_config.h for libart-lgpl
  * LP #1099405 Kernel/bootwrapper are broken preventing OE images to boot
  * LP #1102289 genericarmv8 kernel patches doesn't apply to 3.8-rc4
  * LP #1102910 cannot access shell prompt

* Graphics
 * Piglit (OpenGL driver testing framework) is now able to run
   1047 tests on ARM linux. For more detailts,
   see http://fullshovel.wordpress.com/2013/01/08/0-to-1000-in-60-days/

* Infrastructure
 * Android Engineering builds
 * cbuild can now use LAVA for the native ARM builders
 * linaro-image-tools adds support for board configuration files for
   Android: read details on
   http://www.milo.name/2013/01/29/linaro-image-tools-android-hwpack/
   and https://wiki.linaro.org/AndroidHardwarePacksV3

* Kernel
 * Android upstreaming
   * Mempressure cgroup got an lwn article:
     https://lwn.net/Articles/531077/
   * keyreset work got an initial patch queued with the input driver for 3.9
   * alarm-dev compat_ioctl support for 32-app on 64bit-kernel is queued for 3.9
   * First pass implementation of extended ashmem unit test completed
   * ashmem compat_ioctl support reworked to include feedback from lkml
 * ux500
   * conversion to common clock got several patchsets merged upstream
by Torvalds
   * now uses sparse IRQs and accepted in ARM SoC
 * EHCI refactoring separated mxc, spear, orion and tegra host controller
   driver from ehci-hcd into its own driver modules
 * Research impact on kernel size for multi-platform configs
  * Gather kernel image and runtime size data for i.MX platform with
    multiplatform config support
 * AB8500 GPIO shape-up
  * Prepare a patch to move the driver to the pinctrl subsystem
  * Prepare a patch series converting the driver to a pinctrl driver
  * Prepare a patch set to align internal STE code to upstream
  * Prepare a v2 patch set to align internal STE code to upstream
  * Merge the moval patch into the pinctrl subsystem
  * Merge the alignment patch set into the pinctrl tree
  * Merge the pinctrl conversion patches into the pinctrl subsystem
 * Android upstreaming: Ashmem
  * Review Minchan's v5 vma based approach
 * Android keyreset driver upstreaming
  * Fix bug in Dmitry's version
  * Send counter proposal to Dmitry's code
  * Ping'eg maintainer after no feedback was given to Jan 06's submission
  * Got feedback from maintainer
  * Reviewed maintainer's version of the patch - found a possible flaw
  * Communicated with maintanier detailing the flaw and scenario to reproduce
  * Version of the latest patch was queued for 3.9, even with potential flaw
 * Android upstreaming: Lowmem
  * Anton sent out non RFC version of mempressure cgroup patchset, got
    ack from Kirill A. Shutemov
  * Anton's work was written up in an lwn article
    https://lwn.net/Articles/531077/
 * Depopulate the ux500 and plat-nomadik <mach/*> and <plat/*>
  * Propose a patch removing the <mach/id.h> include
  * Propose a patch to remove <mach/irqs.h> dependency in pinctrl-nomadik.c
  * Await an ACK for the dependent patch for <mach/id.h> removal
  * Send a pull request for the <mach/id.h> removal branch
 * Refactor USB Host Drivers
  * Write Orine host controller driver to separate from ehci-hcd host
    code into its own driver module
 * Android alarm-dev compat_ioctl support
  * Implement first draft at adding a compat_ioctl
  * Reworked first draft (had build issues w/ 32bit)
  * Test first draft compat_ioctl
  * Send out first draft to Serban
  * Sent out first draft to lkml
  * Got feedback from Colin that lets me further simplify the alarm-dev driver
  * Implement Colin's suggestion
  * Send out second draft to lkml
  * Get patches queued for merging (Greg picked them up for 3.9)
  * Generate PASS/FAIL unit test and send out to Zach/Appala for
    integration into LAVA
 * Refactor EHCI controller code
  * Separate the mxc,spear,orion and tegra host controller driver from
    ehci-hcd into its own driver modules
 * Improve eMMC Power Management Support
  * Prepare patches for fixup I/O voltage switch in protocol layer
  * Prepare patches for adapt sdhci host driver to new sequence for how
    I/O voltage switch is done
 * Support for EMMC 4.5 and UFS
  * Submit /integrate patches for fixing Power Off Notify issues

* Power Management
 * Integration tree to bring together big.LITTLE MP related work
  * Create V14 branch of big LITTLE MP tree
  * Release V14 branch of big LITTLE MP tree
 * DVFS for the Common Clock Framework
  * improve re-parenting in clk_set_rate
  * create new clk-next branch based on 3.8-rcN
  * brainstorm alternative locking mechanism
 * Thermal framework enhancements for non-ACPI platforms
  * Get feedback from thermal tests PM-QA for all platforms and enable
    by default in LAVA
 * sched: modify timer and workqueue framework to allow migration
  * Get patches reviewed and accepted in mainline
  * Analyse users of workqueue subsystem to check which drivers would
    break by migrating work to other cpus, total of 1200 drivers found
  * Implement queue_work_on_any_cpu() type interfaces
 * Upstream stericsson u8500 suspend driver
  * Get clear the kernel requirements/constrains about suspend codes
  * Check the issue of rtc alarm doesn't work
 * cpuidle: testsuite in PM-QA
  * Understand the existing tests
 * Upstream stericsson ab8500 thermal driver using new thermal framework
  * Keep reviewing and tracking patches for new thermal framework
  * Send out patches for upstreaming
 * Linaro PM QA 0.4.0 released

* Toolchain
 * Linaro GCC 4.7 2013.01 released, based off GCC 4.7.2+svn194772
  * Includes arm/aarch64-4.7-branch up to svn revision 194808
  * Support for the rev16 and revsh instructions
  * A15 Neon pipeline backported from trunk
  * FMA intrinsic backported from trunk
  * Better extending core to NEON transfers
  * Fused multiply-add support
  * LP #1088898 regression of x86 gcc bootstrap with Linaro sourcebase
  * LP #1067766 Backport support for arm-linux-gnueabihf to GCC Linaro
  * LP #1084010 {{{__atomic_load}}} doesn't match ACQUIRE memory model
 * Linaro GCC 4.6 2013.01 released, based off GCC 4.6.3+svn194771
 * AArch64 Boehm GC port upstreamed
 * Multimedia filters in WebP submitted for upstream approval.
 * Linaro Toolchain Binaries 2013.01 released, updated to latest
   Linaro GCC 4.7 2013.01

* LAVA
 * Filters now support a "compare" feature that allows comparing
   the results of two different jobs.
 * Filters results can now be downloaded as JSON data so people can
   generate their own custom reports.
 * Galaxy Nexus support added
 * pre-built CI images converted to use lava-test-shell

* LEG
 * Linaro UEFI 2013.01 released. Highlights include fixes for native
   building of UEFI on ARM platforms and improvements to flashing
   images on Arndale boards.
  * imgburn.sh: add parameters and defaults
  * panda: Enable native building for Pandaboard
  * LP #1091447 UEFI: A9 crashes on boot with ATAGS
 * Linaro GRUB 2013.01 released.
  * Merge in latest upstream changes, including nested function removal.
  * Add cache line size probing for clean/invalidate operations
  * Fix a bug in D-cache clean operation.
  * Made code, especially Linux loader, more generic.

The release details are linked from the “Details” column for each
released artifact on the release information:

http://wiki.linaro.org/Cycles/1301/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/1301/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

Read all announcements