Archive for the ‘Development’ tag
Linaro is a huge project participating in many open source communities and working on a whole host of improvements for the Linux on ARM space. Monitoring all this good work and ensuring deliverables are on track is the task of a new project which was just rolled out called Status.
Linaro engineering is done in cycles, each of which is six months in length so Status always shows information for the current cycle. There are plans to extend this to show past and future work too.
Technical Requirements, Blueprints, Work Items and Burndown Charts
Status is an evolution from the burndown method of tracking which Ubuntu uses (Ubuntu’s current burndown can be see here) but using a combination of process and code changes, shows more of a requirement focused view. This is because Linaro decided early on to use the notion of Technical Requirements, driving engineering effort from the top down to generate work items to be done. These requirements are gathered before the start of each cycle and the process involves partner discussions, community involvement and public review. This is well documented on the Linaro wiki, suffice to say this process generates a lot of work.
The main Status page shows the progress towards the work done in Linaro and links off to more information on a per-Technical Requirement basis. To get at a more focused breakdown the header toolbar across the top of the Status webpage allows you to view the information per team, per milestone or even per individual. All of these views give you a window in to the work being done during the Linaro Engineering Cycle (currently Linaro 11.05).
Navigating around the site gives you a great sense of achievement. Linaro is undertaking a huge amount of engineering work and with Status, visualising that effort just became a lot easier.
Over the coming months we will be improving Status to incorporate more information but for now, I give you status.linaro.org.
Just a quick one.
A couple of days ago I intercepted a package meant for Marcin Juszkiewicz on the promise I would give him it back in a weeks time at the Linaro@UDS event. This package contained a shiny new TI OMAP4-based Pandaboard. Now, the run up to a UDS event is always super busy but I managed to steal a few hours here and there and with some last minute late night debugging with Canonical kernel engineer Lee Jones (borked UART settings in the end for those interested) the Linaro images now work on the Pandaboard. Special kudos to the Canonical ARM team who did all the heavy lifting to enable the Pandaboard in Ubuntu.
And before you say “it didn’t happen without pictures”, here they are.
Expect some video demo’s and more pictures of the various Linaro flavours soon.
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.
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 »
Edited to include some of my gripes, if you just want to see the list, scroll to the bottom
This is going to get an instant dismissal from the Nokia faithful, but bear with me and I guarantee you will see what I see in some capacity.
Lets get one thing straight first, I love what Nokia have done for Linux, from their first offerings pre-770 to what they do today, they do a great job. I know many of the current (and past) team that care so much about how Linux will someday become the default smart-phone choice that I somewhat feel a little sorry that they pioneered a route that may be occupied by others.
Read the rest of this entry »