The only way to predict the future is to have the power to shape it. ~Eric Hofer
The Linaro 13.05 release is now available for download!
The 13.05 Linaro release highlights the focused efforts of all the Linaro Teams – Working Groups, Landing Teams and Platform Teams who have provided all the updates and new features that are integrated on top of Android, OpenEmbedded and Ubuntu baselines during this development cycle.
It is through these monthly releases that Linaro, our members and community do more than predict the future of Linux on ARM; we plan and progress that future with open and collaborative teamwork and success. The 13.05 Linaro release gives a vision of that future as we highlight the accomplishments of each of our teams. Those accomplishments include:
The foundation for the Linaro Stable Kernel (LSK) tree has been prepared. LSK will track the kernel.org community released LTS (Long-Term Stable) kernel tree, and Linaro will add member selected features, platform support and bug fixes. During the 13.05 development cycle, a preview/proof of concept has been delivered, based on linux-3.9.4 stable tree with ARM LT topic branches (TC platform support) and big.LITTLE work (MP and IKS).
The announcement of big.LITTLE in-kernel switcher (IKS) code now available to the public. “This code was also developed for and tested on the Versatile Express TC2 development platform. An MCPM backend and possibly a special cpufreq clock driver are required for this code to be usable on other platforms,” wrote Nicolas Pitre in his announcement to the Linaro development mailing list. More information and helpful links can be found at: http://www.linaro.org/linaro-blog/2013/05/02/the-linaro-iks-code-now-publicl...
Quality remains a focus at Linaro and on the testing and validation front, members of the LAVA team completed and tested the functionality of the first prototype production run of LAVA LMP. The Platform teams also announced that Texas Instruments Beaglebone Black is now running in LAVA. As part of the effort to improve the developers experience with LAVA, the different client tools were also consolidated into a single package in order to make it easier for the team to provide new features for LAVA users.
The Builds and Baselines team mirrors the quality efforts of the testing and validation team and notes various accomplishments across several of the Linaro Teams and Working Groups (WG). The team notes that a detailed Compatibility Test Suite (CTS) report in the standard format is now being generated in LAVA and the QA Services team will include these reports in its weekly/monthly testing reports for platforms in LAVA. Another highlight for this cycle includes the completion of the Galaxy Nexus CI loop and images (without graphics acceleration) can be deployed with a graphics overlay for testing in LAVA. The team also reports that the full Android engineering build for Arndale is now available with virtual framebuffer.
The various releases that help make up the Linaro 13.05 release include: * Linaro UEFI 2013.05 * Linaro Stable Kernel (LSK) preview 3.9.4-2013.05 * Linux Linaro 3.10-rc2-2013.05 * Linaro GCC 4.8-2013.05 and 4.7-2013.05 (based off the latest GCC releases) * Linaro Toolchain Binaries 2013.05
We encourage everybody to use the 13.05 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:
== LAVA ==
* First prototype production run of LAVA LMP completed, tested functional. Production run next! * Beaglebone Black is now running in LAVA. * TC2s is now running fully with latest firmware and master image, booting on A7 core. * LAVA server for LEG has been upgraded to 16GB RAM. * mphackbox is now upgraded to latest firmware and extra serial port are available on telnet. * Additional ARMv8 Fastmodels have been added to decrease job queue time. * As part of the effort to improve the developer experience with LAVA, the different client tools were consolidated into a single package, which simplifies the process of updating the tools and makes it easier for the team to provide new features for LAVA users. * Android build howtos are published along the build artifacts themselves. * {releases,snapshots}.linaro.org are migrated to Linaro Cloud and managed by Linaro IT. * linaro-patchmetrics is now able to work in local environment. * RT patchset testing enabled in LAVA.
== Builds and Baselines ==
* The detailed CTS report in the standard format is now generated in LAVA. The QA Services Team will include these reports in the weekly/monthly testing reports for platforms in LAVA. * The Galaxy Nexus CI loop is done. The images (without graphics acceleration) can be deployed with a graphics overlay for testing in LAVA. * The full Android engineering build for Arndale is now available with virtual framebuffer. * Clean up of the independent test suite builder is done. All the dependent projects are now built from sources for the test suite. * Test migration from lava-test-shell to lava-android-test continues: tjbench, big.LITTLE IKS test are available in lava-test-shell. * The Toolchain WG has optimized string routines for A15. These routines are now integrated into bionic for Android. * Setup of the initial CI loop for Linaro Stable Kernel (LSK). A preview is released as part of Linaro 13.05 release. A tree has been created with the collaboration of the Kernel WG and the related CI/LAVA jobs are done. * Linux Linaro Kernel moved from 3.9 to be 3.10-rc2 based. * Calxeda EnergyCore (Highbank) server CI loop is now completed. Daily builds are produced and submitted to LAVA. * The support for BeagleBone Black board has been added. The initial CI loop is complete: hardware pack and pre-built images are available. * Progress on the CI loop for LNG. The realtime Linux kernel (PREEMPT_RT) is built on ci.linaro.org and hwpack targetting PandaBoard/Arndale boards are published. * The migration from PPA to repo.linaro.org continues: sbuild-driven cross-built kernel is working on ci.linaro.org. * Linaro Ubuntu baseline images are updated to the latest Ubuntu stable release, Raring Ringtail (13.04). * The support for Linaro external toolchain (pre-built binaries) is added to Linaro OpenEmbedded baseline. * Integration of OpenJDK zero build for Aarch64 cross-compile to Linaro OpenEmbedded baseline. * libunwind support for ARMv8, contributed by the Toolchain WG, is available in Linaro OpenEmbedded baseline. * Linux Linaro 3.10-rc2 2013.05 released * based on linux-linaro-core-tracking tree, llct-20130521.0 tag: * based on v3.10-rc2 * new linaro-android-3.10 topic by John Stultz * new numa/huge pages topics * big-LITTLE-MP-master-v17 (new version vs 13.04 release) * gator version 5.14 (same version as in 13.04) * new interactive-gov-updates topic from Viresh Kumar * arndale-core-support topic from Samsung LT * updated fixes for Snowball (boots OK with DT) * the ashmem topic has been dropped – it is no longer needed (code accepted into the mainline) * added “ARM: crypto: sha1-armv4-large.S: fix SP handling” patch needed to enable CONFIG_CRYPTO_SHA1_ARM * NFS options enabled in linaro-base.conf – all the prebuilt kernels got NFS support (see bug 1167446) * updated config fragments for Arndale and Panda * updated Versatile Express patches from ARM LT: new MCPM and IKS patch sets * updated arndale/exynos patches from Samsung LT * a patch to enable perf in Android by Bernhard Rosenkraenzer * vexpress64 support (both RTSM and Foundation model) * omap-fixes-13.05 topic: serial and gpio fixes for omap2+ from v3.10-rc3 * OpenStack support: CONFIG_[IP,IP6]_NF_IPTABLES, CONFIG_NF_CONNTRACK*, and CONFIG_NF_NAT* enabled in ubuntu builds (added to ubuntu-minimal.conf) * Linaro Toolchain Binaries 2013.05 released
== Graphics ==
* Mali driver ported and brought up for the Arndale board. * An XFCE based graphics image now works in the RTSM simulator: http://fullshovel.wordpress.com/2013/05/24/arm-aarch64-running-a-graphical-s... * CDFv2 is up on an eDP panel on Arndale. * Patches v1 and v2 implementing a DT node for the DP controller, clock provider and display timings for Arndale. * Android patches for piglit are finished. They enable current and future testcases to be built as part of automated build and test process. * Fixed GStreamer bugs: * make sure memory is unmapped before releasing it: https://bugzilla.gnome.org/show_bug.cgi?id=700411 * alpha mask bug when depth and bpp are both 32.
== Kernel ==
* Exynos core and drivers now use common clk infrastructure. It's been merged in 3.10-rc1. * The <mach/*> and <plat/*> namespaces for the Nomadik and Ux500 platforms were depopulated. It's been merged in 3.10-rc1. * Refactored EHCI controller code to allow configuration of multiple EHCI controllers as both modules or static drivers in the same kernel. * Uncompress message is now supported on multi-platform kernels. It's been merged in 3.10-rc1. * Samsung platform (Exynos) converted to use Generic Clock Events. * Android Sync infrastructure has been upstreamed to staging for 3.10-rc1. * Upstream Android ram_console driver functionality. * Implement and upstream ARM 32 bit uprobes support * Extracted common uprobes and kprobes code into shared functions * Separated uprobe and kprobe parsing data and function into their own files * Internal review (new approach discussed) * Improve eMMC Power Management Support * Reviewed patches for idle time BKOPS * Prepared patches to implement idle time aggressive card power shutdown * Android ETM/ETB upstreaming * Understand implementation in arch/arm/kernel/etm.c * Looked at enhancement suggested by Arve's patch set * Synced with Robert Marklund at STE * Remove ARM specific dependencies in Android's ION * Reviewed ION code and get familiar with the DMA operations that are ARM specific * Android upstreaming: Ashmem * Rework and recombine Minchan/John Stultz work into a more coherant patchset * Sent reworked patchset to Minchan for review * Fix lsf-mm issue of unmarking ranges that are mapped into an already volatile range * Integrated Minchan's suggested changes * Port some of the simpler platforms to multiplatform support * Convert u300 to multiplatform * Fix regression on Nomadik ethernet * Convert Nomadik LED & key to DT * Convert u300 clocks to DT * Convert Nomadik pinctrl to DT * Android FIQ debugger for ARM * Updated Anton's KDB/FIQ ARM patches to Linus' HEAD * Updated Anton's KDB Kiosk patches to Linus' HEAD * Sent mail to Jason about any blockers to queueing KDB Kiosk mode * Resent KDB/FIQ ARM patches to LKML * Migrate Android Alarmtimer driver over to using the upstreamed Alarmtimers * Added support for BOOTTIME/CLOCK_REALTIME_ALARM/BOOTTIME_ALARM to the timerfd interface * Android ION infrastructure upstreaming * Reviewed ION code in more detail * Discussed ION code with Jesse, Serban, Rebecca and Arnd * Squished down the 70 patch ION patchset and split it up into more logical chunks that will be more easy to review * First stab at removing the kmap code
== Power Management ==
* First big.LITTLE release with IKS code integrated into the public linux-linaro tree. * Removal of hardcoded assumptions of CPU topology in IKS code, test scripts. It allows test suite and code to be more easily adopted to member platforms. * Integration tree to bring together big.LITTLE MP related work * Create and release Master V17 branch of big LITTLE MP tree * Small task packing by scheduler * Work continues to identify root cause of power difference between ref and upstream-focussed MP patchsets * CPU Hot Plug Latency on Android * Added pass/fail verdict to the tests * Tested in the relevant builds * sched: modify timer and workqueue framework to allow migration * Sent V5 with a new flag: WQ_UNBOUND_FOR_POWER_SAVE * Patches pushed and accepted by Tejun Heo
== QA ==
* Successfully completed 13.05 release testing on Android, Ubuntu and OpenEmbedded builds. Test results and bug reports have been shared. * Review of existing test cases was completed. Descriptions and steps were updated. * Improvements in big.LITTLE IKS test suite * detecting CPU topology at runtime was completed. Code was verified on TC2 platform. * taking care of arm-bl-cpufreq module insertion and set up userspace governors when needed. * Checked that breakpoints are inherited correctly across switches.
== Toolchain ==
* Linaro GCC 4.8-2013.05 released, based off the latest GCC 4.8.0+svn198615 release. * Backport of support for prologue/epilogues using LDRD and STRD in ARM mode. * Backport of support for further AArch64 instructions. * Backport of support for further ARMv8 AArch32 instructions. * Linaro GCC 4.7-2013.05 released, based off the latest GCC 4.7.3+svn198701 release. * Includes arm/aarch64-4.7-branch up to svn revision 198689 * Linaro GCC 4.6-2013.05 released, based off the latest GCC 4.6.4+svn197894 release. It's the final one of 4.6 series. * libunwind support for ARMv8 is committed upstream. * Address Sanitizer support for ARMv7 in GCC is committed upstream. * Shrink-wrapping support in GCC is committed upstream. * Load-time function selection (IFUNC) in GLIBC is accepted upstream. * GLIBC will now choose the best memcpy depending on the presence of VFP and NEON hardware. * Patches for gprof support for ARMv8 are submitted upstream.
== LEG ==
* Cross-building OpenJDK javac binary on Aarch64 - currently testing and seems functional. * Linaro UEFI 2013.05 released * The Linaro UEFI tree is based on the following upstream versions of code from Tianocore: * edk2 at subversion revision 14323 * edk2-fatdriver2 at subversion revision 73 * edk2-buildtools at subversion revision 2579 * Platforms currently supported include: * Versatile Express A5/A9/TC1/TC2 and RTSM A9×4 and A15×1, A15 MPCore. * Samsung Arndale * Samsung Origen * TI Pandaboard * TI Beagleboard
== Virtualization ==
* ARMv8 uniprocessor guest running on KVM ARMv8 SMP hardware (APM X-Gene Mustang board). * ARMv7 uniprocessor guest booted on KVM ARMv8 SMP hardware. * First successful boot to a shell in ARMv8 guest on KVM ARMv8 host running on Foundation Model and being controlled by QEMU.
The release details are linked from the “Details” column for each released artifact on the release information:
http://wiki.linaro.org/Cycles/1305/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 OpenEmbedded-based images =======================
With the Linaro provided downloads and with ARM’s Fast Models virtual platform, you can boot a virtual ARMv8 system and run 64-bit binaries.
For more information please see:
http://www.linaro.org/engineering/armv8
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/1305/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 -- Fathi Boudra, on behalf of the Release Team Builds and Baselines Manager | Release Manager Linaro.org | Open source software for ARM SoCs
linaro-announce@lists.linaro.org