Archive for the ‘canonical’ tag
The Linaro release cycle is similar to the Ubuntu one but does has some subtle differences, specifically around the planning stages. This presentation shows how Linaro plans, implements and finally releases software every six months.
The slides for this presentation can be found on slideshare.net and are available in many formats on my Linaro wiki page.
This month I had the pleasure of attending LinuxCon in Boston. The event was a great success and I managed to get some face-to-face time with old and new friends alike, including the new Ubuntu Release Manager, Kate Stewart and the new Ubuntu Technical Architect, Allison Randal among others. I attended many, many sessions and even managed to catch up with one or two people to talk business but the sessions that stood out for me were:
A Technical Look at Linux at Oracle – Wim Coekaerts
Wim is a great speaker and the topic was new to me so I listened intently. Unfortunately Oracle followed up by promptly suing Google.
Mobile Linux: Adapting Practices, Driving Innovation, Collaboration, and Scalability – Rob Chandhok
Rob outlined Qualcomms Open Source effort. They do a lot of good work with Linux and their latest announcement, that they would be making an effort to consolidate work done in the ARM eco-sphere, echo’s what Linaro is tasked at achieving. I’m sure there will be a lot of overlap and collaboration going forward.
Android/Linux Kernel: Lessons Learned – Matthew Garrett
Matthew spent his time describing the failed attempt to get Android’s power management solution, suspend blockers, into the mainline kernel. It was a heated discussion at times but did highlight some failings on both Google’s and the kernel communities sides.
Linux Kernel Panel – James Bottomley, Jon Corbet, Dave Jones, Chris Mason, Ted Ts’o
Kernel panels, or round-tables, seem to be a common practice at many conferences and this was no exception. A good bunch of speakers, lots of questions from the audience including one or two on the status of the ARM kernel.
Open Source Software Adoption Patterns in Enterprise IT – Jeffrey Hammond
Jeffrey fired of statistics and facts about the studies his company have been doing with regards to Linux adoption. The facts proved interesting with a trend for an accelerated Linux adoption from the pool of people he surveyed.
MeeGo: Where Are We Now – Dawn Foster
Dawn gave a high-level introduction to MeeGo, the project bearing the fruits of the collaboration between Nokia and Intel. Nothing new was discussed but the level of interest in MeeGo was evident by the full room.
Doing What it Takes: Current Legal Issues in Defending FOSS – Eben Moglen
Listening to Eben speak is a pleasure in itself, let alone listening to him talk about a subject close to the heart of many open source developers. For someone to stand there for 30 mins, without slides or prompts, never fumble a word and capture the attention of everyone in the room, Eben must be commended.
Selling the Value of Open Source When Cost is Not the Driver – Ravi Simhambhatla
Virgin America wouldn’t be my obvious choice when selecting a company that really utilizes and ‘gets’ open source but Ravi’s explanation of how they use it, where they were before open source, and what they have planned for the future was captivating. Virgin America really are revolutionizing their internal IT departments by using Linux and they have even bigger plans for the future.
Overall a good event, looking forward to the next one.
For the past couple of days I’ve been attending the first ever sprint held by the Linaro Tools and Infrastructure team. The sprint itself lasts all week but I arranged to be there for just Tuesday and Wednesday to find out what they had planned and to join up with a few guests.
This event is slightly different from what we typically do at Ubuntu sprints. The team hasn’t been together for that long so there was equal focus on both information sharing and collaboration. To that end, mornings were for presentations and discussion, afternoons for hands-on hacking.
A link to the whole schedule is here; for my account of what happened whilst I was there, read on.
Tuesday started with a discussion on image building by Michael Hudson. Often lively and full of good information, the key steps to producing the Linaro images was the focus of conversation. Two launchpad specifications cover this effort, the first, arm-m-image-building-tool concerns improving live-helper to accommodate Linaro’s needs, the second, arm-m-image-building-console aims to produce a web based front-end for the image building tools.
Zygmunt Krynicki‘s project entitled Validation Dashboard was next (slides can be found here). An ambitious project to produce a front end visual representation for various testing tools; this effort is of great importance as validation and correctness is paramount to the software releases Linaro makes.
Another requirement for Linaro is the ability to branch and rebuild parts of the Ubuntu archive. Linaro benefits from the great effort that is put into the Ubuntu archive but as Linaro’s needs are at times, different, being able to diverge without affecting Ubuntu itself is important. This effort is being lead by James Westby.
Tuesday morning finished with Paul Larson‘s testsuite and profiler presentation. Closely related to Zygmunt’s dashboard effort, Paul is working on combing the various testsuites and profiles into one big validation effort.
At this point the guys from Code Sourcery joined us to discuss toolchain’s and related tools. Will Deacon, Matthias Klose and David Rusling joined the conversation and many points were ironed out. Linaro will benefit from the great work Code Sourcery do around GCC and related tools, producing what we think will be the industry standard tool chain for ARM based devices. A lofty goal but everyone behind the effort is confident.
Talk on tools and toolchains continued to be the focus for the rest of Tuesday and Wednesday. Code Sourcery went away with a pile of work items and the Linaro members todo lists were equally full. There was just enough time Wednesday to sit down with Dave Rusling to formally sign off the technical requirements.
As one Linux Weekly News author put it,
the list of planned achievements for the five months before the release is quite ambitious … even completing a big chunk of it would be quite an accomplishment
We believe we can do it and with the great individuals such as those at the sprint this week, the 10.11 release will be something special.
“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 truely 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 enjoy’s, something needs to be done.
Ubuntu’s Linux on ARM initative
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 Freescales 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 ecosphere. 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.
What a fantastic release Ubuntu 10.04, aka Lucid Lynx was. Many, many people helped to make 10.04 rock and as some of them attend the Ubuntu Developer Summit (UDS) this week to thrash out the roadmap for Maverick Meerkat, its a good time to look back at what happened to the ARM version of Lucid this cycle.
A new user interface
One of the most obvious changes is the user interface. The ARM version of Ubuntu’s previous release, Karmic Koala, booted to the default Ubuntu desktop. For some this was fine but typically today’s ARM devices tend to be different. At present, they tend to have smaller screens, less resources and little in the way of graphics acceleration. To overcome some of these limitations in the x86 netbook world, the netbook-launcher user interface was created. Based on Clutter, netbook-launcher could not run on the ARM devices Ubuntu was targeting due to a lack of 3D acceleration. Enter netbook-launcher-efl, a 2D version of the x86 netbook interface written using EFL packages.
Faster Live CD boots
Booting a Live CD is something that most new Ubuntu users do (and many existing users too). Its often their first experience of an Ubuntu release and should give a good impression. Well, on some ARM hardware, booting this Live CD image took over 3 minutes, not exactly the impression we would hope. So investigations happened into what was causing this slowness. In the end the final boot time was reduced by around 35% on all Ubuntu Live images, not just ARM ones.
Web Office and Web Mail integration
Open Office on a resource limited platform isn’t the greatest experience and to make matters worse, on the ARM architecture there are issues building it correctly. A new way of viewing, editing and saving office documents was needed and for the Lucid cycle a web-based solution was integrated into the desktop called webservice-office-zoho.
Similarly, Evolution could be considered too heavy-weight for ARM device needs. A solution was implemented to enable integration with several online mail providers.
Optimized Tool Chain Defaults
This release includes a complete archive rebuild using more modern tool chain defaults that the latest ARM hardware can take advantage of. As of Lucid Lynx, packages are built using Thumb-2 to reduce code size and improve performance, NEON for accelerate multimedia and signal processing, and are optimized for ARMv7A based chips. Although this means that some older hardware will not work with the latest Ubuntu release it does mean that the images perform much better on modern hardware.
Much bug fixing went on this cycle. The fail to build list (FTBFS), a list of packages that fail to build on a given architecture, was a focal point of activity. For the first time ever, the number of packages that failed to build on ARM from the main archive was zero (apart from libx86 which refuses to leave the build queue for ARM due to a bug), a great achievement.
The Chromium browser now works on ARM, rootstock, the tool to build ARM rootfs tarballs gained a gui frontend, we added support for the very popular OMAP platform (beagle board) and many small improvements were implemented, making this the best Ubuntu ARM release ever.
We here at Canonical are very proud of the Lucid Lynx on ARM and are extremely excited at what future releases will bring.
ARM based platforms traditionally have a problem with graphics drivers and free software. Encumbered by licensing issues, many platforms only ship with 2D based drivers whilst the 3D driver-enabled offerings only frequent the poshest of circles such as Nokia’s N900. There are exceptions, but its a painful reality at the moment.
Vendors are trying to work around it, especially as there is the expectation of a ramp-up in the availability of ARM based hardware. Super long-life netbooks, low powered touch based computers, and even a flurry of smaller embedded devices are forecast to hit the market this year, many of which will be based on the Linux operating system. Ubuntu would be a great match for this.
Read the rest of this entry »
One of the goals for the Lucid cycle was to investigate why it took so long to boot an Ubuntu live cd session. Why is this important I hear you ask? Well the live cd is usually the first thing a potential new Ubuntu user sees. They get an Ubuntu Desktop (or other flavour) cd from their friend/colleague/random person, insert it into their machine, wait for a while and are then presented with a live session. All well and good but if your running on slower hardware, even a different architecture such as ARM, this initial slowness can be orders of magnitude more than a fast desktop/laptop. For example, the ARM images we shipped for Karmic took over 3 minutes to boot into a live desktop session.
Read the rest of this entry »
So its that time of year again, we released a great product and instead of being content, we want to make an even greater one next time. It’s scary to think that I leave for the Ubuntu Developer Summit (UDS) next week but as a Canonical employee we are all charged with coming up with great idea’s on how to make our particular field of interest even more awesome than it is now.
Read the rest of this entry »
As a follow-up to my work related post about me losing my job to the economic crisis, I though it would be only fitting to announce my new role, that of Ubuntu Mobile Developer for Canonical. I’m really looking forward to working with a hugely talented team and helping Ubuntu continue to be the first choice OS for Linux based machines.