2004.06

mickeyl April 21st, 2005

OpenEmbedded / OpenZaurus / Opie

Introduction

Welcome to the 4th edition of the OOO newsletter - straight from the horses mouth.

OpenEmbedded

OpenEmbedded is our next generation build system - a set of tools and metadata to build Linux distributions from scratch. This includes - but is not limited to - embedded devices of every kind.

As mentioned in the last newsletter, OpenEmbedded is progressing like hell. As of this writing, OpenEmbedded has 966 (yes, that’s nine hundred and sixty-six!) .oe files building over 1000 packages (minus a few duplicates). In the last two months, our few people commited 1041 changesets which leads to an average of 130 changesets per week and an average of around 18 changesets per day. So, you see, we are commited to OpenEmbedded and we are 100% sure that it will be a huge success and will be around for quite a while. This enourmous effort could only be achieved because writing .oe files is fun, pretty easy and thanks to our build classes it’s rarely necessary to add more than a source location, the build type, and what files should end up in which packages. This months example .oe is gpe-filemanager.

While having metadata for around 1000 packages gives you a huge content selection as a builder of a linux distribution, it’s also crystal clear that we now have to find a couple of maintainers. At the moment, there are around 6 (six!) people maintaining packages in OpenEmbedded. This means an overwhelming maintaining load of around 166 packages per person. D’oh! That would kill me even if I was getting paid for it :-) I hope you now understand that without more maintainers, OpenEmbedded as a set of metadata will be a deathborn as will be all the distributions built using our metadata.

I always get asked where to start with working on and with OpenEmbedded. Since our documentation in the BitKeeper repository is hopelessly outdated and nowadays probably just plain wrong, the best place is the OpenEmbedded Wiki - especially reading GettingStarted will give you a quickstart. You should also subscribe to oe@handhelds.org and visit #oe on irc.freenode.net. Note that we won’t give you cooking receipes, so you will need a good amount of inquisitiveness and motivation to debug possible problems.

I have been asked what OpenEmbedded changes from a user-perspective. Basically, OpenEmbedded is just another method how we are building the packages for you. That’s not all, of course. Because OpenEmbedded will be used to produce a number of linux distributions, e.g. familiar linux, OpenZaurus, OpenSIMpad as well as root filesystems for user-mode-linux, routers or digital video servers, all those systems will share a common base. This means much better package compatibility across distributions than we had in the past. Having to maintain a dedicated feed for every combination of device, distribution and GUI system will finally be history. Furthermore, besides having access to much more packages than you have ever dreamed of, our work on the OpenEmbedded core tools allows you to easily submit us a .oe file, if you spot an application which you would like to have on your device but which isn’t packaged yet. Last but not least, with the OpenEmbedded initiative we bring the handhelds.org, openzaurus.org, opensimpad.org and other communities together - improving communication and reducing duplicated work, which is in my opinion the most important benefit given the number of active developers. Surely one of the most important benefits for users is that once we have a solid and stable base distribution we will be able to upgrade parts of the distribution via the packaging system - we are pretty aware that in the past there were just too many cases where reflashing the whole image was the only sane option.

All in all, building packages standalone gets more and more pointless with the availability of our powerful tools. All those who want to settle on a stable version and who don’t need the metadata will be glad to know that we will soon release version 1.0 of the OpenEmbedded tool set to the general public.

OpenZaurus

OpenZaurus is an alternative Linux distribution for the Sharp Zaurus family of PDA devices. It has been ported to other architectures, e.g. the HP iPAQ, the SIEMENS SIMpad, and the M&N Ramses, to name a few.

John Lenz is still working on Kernel 2.6.5 and releases updated patches once in a while. Dirk Opfer and Richard Purdie started to dive into kernel work, too. While I am writing these lines, Richard just identified the source of the 2.6 boot problems on PXA25x-based Zaurii. Congrats!

Work on OpenZaurus 3.5.1 as the first OpenZaurus release based on OpenEmbedded has been resumed and is slowly progressing. Using the powerful OpenEmbedded set of tools and metadata, building a current prerelease of OpenZaurus 3.5.1 is as easy as:

  • Downloading a gcc 2.95.3 toolchain, extracting it to /usr/local/arm/, setting PATH to make OE find its binaries and doing ‘mv arm-linux-gcc arm-linux-gcc-2.95; mv arm-linux-ld arm-linux-ld-2.11.2′ [outdated zaurus kernel only]
  • Downloading the oe and packages repositories from openembedded.bkbits.net
  • Copying conf/local.conf.sample to conf/local.conf, reading and adjusting it according to your environment.
  • Running oemake opie-image or oemake gpe-image
  • Flash and boot your new OpenZaurus 3.5.1-pre1.

See OzTODO3.5.1 for the current status and feel free to pick a task. We have successfully built and booted GPE (X11) and Opie (Qt/Embedded) images for collie (SL5500) and shepherd (SL-C750) which is why I have the feeling that we are pretty close to the releasing OpenZaurus 3.5.1. However it depends on people out of the community helping us to fix the open issues. As you may can imagine the few OE core developers are busy enough with device independent things and we have only few resources left to also work on the actual distributions.

In case you didn’t know, you can also help the project by donating money or hardware - this helps to make OpenZaurus work on more hardware combinations. I hereby want to thank for the donation of a SL-5500G (the donator wants to remain anonymous) to the project - it has been used to replace a permanently bricked one.

Opie

Opie is a graphical environment for PDAs, WebPads and other (embedded) devices. It contains a large number of applications in the categories PIM, Networking, Graphics, Settings, etc. Specific device supported has been integrated for all available Zaurus models, most IPAQs, the SIMpad, and the YopY.

Work on the unstable Opie 1.1.x tree is ongoing. Opie 1.1.3 is our first public release of the unstable code base and marks an important milestone on our way to 1.2.0. Unfortunately, a lot of Opie applications are unmaintained. Since we don’t have enough resources, we probably have to give up work on a lot of applications and shrink Opie. If you don’t want to let this happen, then join us and apply as maintainer of an application of your choice.

As of this point, I hesitate to give any time estimates for the next stable release. We are pretty much in feature freeze now, however our bugtracker is fully loaded and we need time (and volunteers) to cut down the number of bugs and annoyances.

We have been contacted by a company working on PDAs and WebPads (possibly SmartPhones later on) to bring Opie to their devices. Our contact person also offered to work on Opie’s public relation issues, which is a very good thing. Expect more concrete announcements in the next OOO newsletter.

I can’t close this section without mentioning an interesting thread on opie-devel questioning the direction of the Opie project itself. It is named “The Big Picture” and can be read through the mailing list archives at handhelds.org.

GPE

Since the next OE-based linux distributions will also deploy the Gnome Palmtop Environment, I’d like to have a section discussing the recent activity. However, due to my time constraints it’s impossible for me to keep up to date with GPE. I’d be glad to include this section though if someone of you wants to provide it.

Epilogue

I hope you enjoyed reading the 4th edition of the OpenZaurus/OpenEmbedded/Opie newsletters. Feel free to provide feedback or send in questions. Questions of general interest will be answered in one of the next newsletters.

Thanks, Michael ‘Mickey’ Lauer.