“Any intelligent fool can make things bigger and more complex… It takes a touch of genius - and a lot of courage to move in the opposite direction”. - ** Albert Einstein **
A little history
Perhaps a little known fact is that well over 15 billion chips have been shipped using Arm’s technologies, 1.3 billion in the last quarter of 2009 alone and as the Internet goes truly mobile this is set to sky rocket. Arm have sold over 600 processor licenses to more than 200 companies and 12 of the top 20 semiconductor companies use their technologies. Arm based devices really are everywhere. In contrast, Intel have shipped just 3.3 billion to date. Renowned for their low power consumption and high performance, Arm based devices really do seem to be the holy grail of computing but why is it that Intel continues to dominates the desktop, laptop, netbook and server market?
Developing for Arm devices isn’t without its problems. There are a lot of companies all working independently on producing their own products, often duplicating effort. Kernels, boot loaders, and to a lesser extent middleware are being worked on in isolation with little in the way of standards and a common direction. This is scary for those who are used to working in the Intel world where one kernel and one boot loader will pretty much work on all compatible devices. To really push Arm devices into the standard spaces Intel currently enjoys, something needs to be done.
Ubuntu’s Linux on Arm initiative
Canonical, creators of the renowned Ubuntu distribution, and Arm saw the need to rally around an effort to produce a modern, full-featured Linux distribution tailored for Arm devices. Together, starting in 2008, Canonical and Arm took on the task of bring Ubuntu to Arm platforms.
Release 9.04, codenamed “Jaunty Jackalope” was the first Ubuntu release supporting Freescale’s iMX51 and Marvell’s Dove platforms. This distribution was further refined in the 9.10 Karmic Koala release and 10.04, Lucid Lynx even added support for a third Arm platform, TI’s Beagle Board. With a completely redesigned user interface, a web based office solution and many more improvements, Lucid is a magnificent release; however there is still a need for a more consolidated effort. This is where Linaro fits into the story.
What is Linaro?
Linaro is an initiative undertaken by Arm, Canonical and partners with the task of improving the state of the whole Linux on Arm ecosystem. It brings together the vast talents of the open source community and Arm’s wealth of experience in the electronics industry to work on key and game-changing projects. It will work in the various upstreams where possible and provide engineering, technical and guidance support for a wide and diverse set of problem area’s. Linaro will not just help other projects, there will also be a clear set of deliverables which will culminate Linaro’s efforts into regular 6 monthly engineering releases, starting this November.
So this is the area which gets me the most excited. As the release manager for Linaro I am responsible for making sure each and every release captures exactly what the essence of Linaro is, consolidation, collaboration, improvement and robustness. Each of these qualities are goals for the Linaro releases and to that end our first release, 10.11, will contain all of these in abundance. Building upon the already successful Linux on Arm effort, Linaro will utilize Canonical’s Launchpad framework including bug management, code hosting and blueprints. Just some of the high-level highlights are below. I’ll leave the other Linaro team members to blog the details about their teams efforts later.
Help standardize the industry on common kernel versions and features.
Improve debugging and performance analysis at the kernel level.
Bring power management and performance improvements including boot speed reduction.
Promote and implement device-tree’s on Arm hardware.
Provide test ‘heads’, whole vertical software stacks and distributions, to show what can be done on top of Linaro.
Explore integrating telephony right into the distribution.
Improve the state of graphics acceleration.
Provide QA and validation harnesses to ensure anything built with Linaro is of the highest standard.
Offer performance analysis and suggestions on how to improve.
Supply a whole host of development, archive and image management, and distribution creation and customization tools.
And much, much more. A full list of blueprints which capture what we are trying to achieve can be found on the Linaro wiki
For more information on the Linaro initiative please see the official website and the wiki. We have mailing lists and a Launchpad project page and I invite you all to come and participate in this exciting and ground-breaking venture.
So whats next? Well, the famous words of Albert Einstein that opened this post are most relevant here. We are the Genius’s trying to make Arm development both easier and simpler. So with courage and a bit of luck, Linaro will succeed in bring Linux and Arm to a whole new level.