Linaro 12.12 Release with Linux Kernel 3.7 and Android 4.2.1

Linaro release 12.12 has just been announced, and includes Linux Kernel 3.7 and Android 4.2.1. The tracking version (stable release) uses Kernel 3.4.22.

This release upgrades Android to version 4.2.1, Ubuntu images are now based on Ubuntu 12.10 (Quantal Quetzal) and Linaro U-Boot 2012.12 has been released with support for Origen 4 Quad and Arndale boards. Further improvements have been done for OpenEmbedded ARMv8, where they replaced the php Apache module by php-fpm among other things. On the kernel side, USB drivers have been refactored, and a kernel size analysis have been performed on several platforms. The power management team has mainly worked on big.LITTLE IKS and MP implementations, and it’s the first time LEG (Linaro Enterprise Group) is included in the release, and they worked on UEFI for ARM, GRUB for U-Boot, and provided a Ubuntu server image for Arndale board which can boot via UEFI or UBoot.

Here are the highlights of this release:

  • Android
    • Platform Enablement
      • Android upgraded to 4.2.1
      • Android 12.12 toolchain released
      • Wifi on PandaBoard enabled for 4.2.1
      • Audio enabled for Origen 4210
    • LAVA/Testing
      • Support to handle 4.2.1 images were added
    • Upstreaming
      • Perf patches were rebased for 4.2.1 on 3.7 kernel
  • Developer Platform
    • Ubuntu baseline images are now based on the latest Ubuntu stable release, Quantal Quetzal (12.10)
    • CI loop for OpenEmbedded builds is set up: daily build are produced, boot tested and image report is available on LAVA dashboard
    • The developer rootfs contains the software stack required by the Kernel Working Group
    • Linaro U-Boot 2012.12 released, based off U-Boot v2013.01-rc1
      • include support for Origen quad (4412) and Arndale (5250) boards
    • Kernel package for IKS has been updated and b.L hardware pack converted to v3
    • OpenEmbedded ARMv8 build has been updated
      • Kernel updated to linux-linaro 3.7
      • binutils and gdb updated to HEAD
      • switch setup to use “–network bridged –network-bridge tap0” by default to have host<>model networking
      • switch to use php-fpm instead of Apache module
    • Linux Linaro has been updated
      • based on linux-linaro-core-tracking tree, llct-20121211.0 tag:
        • based on v3.7 release
        • config fragments: updated config-core-tracking and basic-board-configs topics
        • emmc patches from Kernel WG
        • updated linaro-android-3.7 topic by John Stultz
        • gator version 5.12
        • big-LITTLE-MP version master-v13
        • devfreq topic from Rajagopal Venkat
        • “KBuild: Allow scripts/* to be cross compiled” patch included. This is all that remains from the ubuntu-sauce topic.
        • patches to enable perf in Android by Bernhard Rosenkraenzer
      • updated Versatile Express patches from ARM LT
      • updated Origen patches from Samsung LT
    • Linux Linaro tracking updated, v3.4 based
      • Gator version 5.12
      • updated tilt-3.4 topic from TI LT; now includes the 3.4.22 stable release
  • Graphics and Multimedia
    • A glmark2 canvas (backend) for rendering using the DRM stack without X11
    • A glmark2 scene rendering a translucent model with reflective properties (e.g., a “crystal” statue)
  • Kernel
    • Refactor USB Host Drivers
      • Analyzing ehci-hcd and echi-omap source code
      • Studying existing ehci-platform,echi-mxc, ehci-spear, and ehci-orion code
    • Research impact on kernel size for multi-platform configs
      • Identify appropriate defconfig file: u8500_defconfig, vexpress_defconfig
      • Kernel static size measurement
      • Currently we can start with ‘free’ and ‘/proc/modules’
      • Finalize dts file to use across all the platforms
      • zImage with built-in’s
      • zImage static size with and without init sections
      • Setup mmc rootfs for runtime size analysis for U8500 platform
      • Setup qemu-linaro for runtime size analysis for vexpress platform
      • Prepare mmc based rootfs with *.ko’s
      • Identify the zImage size with built-in and ‘*.ko’
      • Gather kernel image and runtime size data for Ux500 platform, Versatile express platform and i.MX platform
      • For each platform, identify FDT’d Modules that are participating for .ko
      • zImage with *.ko’s
      • Prepare mmc based rootfs with *.ko’s for u8500 platform
      • Identify the number of pages used before and after installing the modules
      • Followup with shawnGuo for runtime size data gathering on i.MX platform
    • Android upstreaming: Ashmem
      • Review Minchan’s v3 vma based appraoch, found an critical issue and reported it
    • Android upstreaming: Lowmem
      • Create mempressure cgroup per David Rientjes suggestions (this also involves making vmpressure calculations per-thread)
      • Develop feedback cycle interface per akpm’s & sent to lkml
      • Got some interest in using the new interface from kvm developer for automatic memory ballooning
    • Pincontrol GPIO range makeover
      • Patches for the above merged into Torvald’s mainline tree
    • Refactor EHCI controller code
      • Study existing ECHI code
      • Studying existing ehci-platform,echi-mxc, ehci-spear, and ehci-orion code
  • Power Management
    • Highlights
      • Getting b.L IKS out the door
        • Lots of benchmarking, kernel optimising, bug fixing and code cleanups
        • Power measurements and tuning using ARM’s workbench
      • Release new version of powertop based on upstream 2.2 version
        • New feature to view devfreq device states
      • cpuidle – create new tool to analyse idle intersection of multiple cores
        • useful for optimising cpuidle driver to achieve cluster shutdown
    • Optimise cpufreq for IKS
      • Refactor cpufreq driver
      • Replicate Mathieu’s work setup at my place to verify power figures
      • Fix cpufreq driver to work with on-the-fly disablement of bl_switcher
      • Host Automated Workload Benchmark Suite in a linaro private repo
      • Optimize/Fix issues in Workbench
      • Fix Nico/next kernel crashes due to cpufreq framework
      • Run lots of benchmark tests
      • Fix potential bugs in cpufreq core
      • Supply the same cpufreq driver to ARM LT Team
      • Work on spreadsheet used for keeping results
      • Fix any pending issues with cpufreq driver
    • Integration tree to bring together big.LITTLE MP related work
      • Host cpufreq-interactive-master (Host patches from Todd Poyners tree) and cpufreq-interactive-exp (master + optimization patches from Linaro) branches
      • Release v13 of big LITTLE MP tree
    • Tasking packing heuristics (Power-aware scheduler)
      • Make MP3 power measurement on TC2 ubuntu image with pack mechanism
      • Create an TC2 android image with packing mecanism
      • Make MP3 power measurement on TC2 android image with pack mechanism
      • Update ARM bench
      • Make power measurement on TC2 android image with pack mechanism and ARM bench
      • Prepare packing small task v2
      • Update TC2 firmware
      • Test IKS-MP kernel with packing small tasks
      • Fix function tracer with new kernel and firmware
      • Test cpu hotplug stree test on TC2 and get results
    • Thermal framework enhancements for non-ACPI platforms
      • Analyse ways to have more than one temp sensor and how to share cooling devices between 2 thermal zones
    • Keep powertop 2.xworking on ARM
      • Add devfreq support into powertop to display all devfreq devices freq stats perhaps in new window
      • Rebase powertop to new 2.2 version
    • Upstream stericsson u8500 suspend driver
      • Look through the u8500 suspend codes
      • Find out if there is any dependencies blocking u8500 suspend upstream
    • cpuidle: support for multi-cluster in the core
      • parse a ftrace file and load data
      • do statistics on average, min, max time on the fly
      • compute intersection intervals
      • optimize intersection algorithm for memory & speed
      • do statistics on intersections on the fly
      • display results
      • add options to the command line
      • add a cstate options to filter results
      • check plotting against intervals
      • create a wiki page the wakeup source and fill it step by step
    • Refactor the acpi cpuidle driver
      • fix power state recomputation and dynamic C-states
  • Toolchain
    • Linaro GCC 4.7 2012.12 released, based off GCC 4.7.2+svn194184
      • better 64 bit shifts in NEON
      • arm/aarch64-4.7-branch up to svn revision 194154
      • LP #1060221 – Fix ICE: libgrypt
    • Linaro GCC 4.6 2012.12 released, based off GCC 4.6.3+svn194340
    • Linaro QEMU 2012.12 released, based off upstream’s recent 1.3.0 release
    • Linaro GDB 7.5 2012.12 released, based the FSF GDB 7.5.1 release
    • Linaro Toolchain Binaries 2012.12 released, updated to latest Linaro GCC 4.7 2012.12 and Linaro GDB 7.5 2012.12
  • LAVA
    • The validation lab increased its IP space from 255 to 65k addresses to prepare for new devices and LEG use cases requirements.
    • The Toolchain WG PandaBoard boards have been updated to support hard and soft float images
    • Image Reports for Automated Testing of OpenEmbedded builds is now availale
    • A new server is deployed in the validation lab for audio, power measurement, and SD-mux capable devices.
    • We started to use the ‘salt’ tool to manage the lab infrastructure
    • LAVA can execute Versatile Express jobs using the test image’s DTB
    • VExpress-tc2 boards are converted to use IKS
    • The validation lab has increased the number of wireless access points available
    • The ‘cbuild’ service for the toolchain group is now running on a VM in the lab
    • The UI for finding, viewing and downloading attachments in the dashboard has been improved
    • Signal handlers can be written in shell and bundled with the tests themselves
    • Most lava-test and lava-android-test tests had lava-test-shell versions written for them
    • Subscriptions to test run filters work properly now. A user can choose to be notified on failed test job or always.
  • LEG
    • Completed the investigation of CRC32 for HDFS (Hadoop Distributed File System) optimisation
    • Ported and submitted Non-Uniform Memory Access patches to upstream
    • Enabled GRUB on U-boot
    • Enabled UEFI on Samsung Arndale board
    • Provide a pre-built Ubuntu server image for Arndale using either U-boot or UEFI

Visit for a list of known issues and further release details about the LEB, Android, Kernel, Graphics, Landing Team,  Platform, Power management and Toolchain (GCC / Qemu) components.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
11 years ago


11 years ago

What does this Android feature mean? Is it a Linux version that runs on x86, and has an Android VM?

11 years ago

In the title “Linaro 12.12 Release with Linux Kernel 3.7 and Android 4.2.1”

Khadas VIM4 SBC