2005.01

mickeyl April 21st, 2005

OpenEmbedded / OpenZaurus / Opie / GPE

Introduction

Happy New Year! It has been a while since the last newsletter and a lot has happened in the past six months. One of the more unfortunate events was the outage of the handhelds.org service cluster where a lot of our services are hosted. We would like to express our appreciation for the administrators of the handhelds.org infrastructure and we are very happy that we didn’t lost any results of our work - thanks guys! I’m glad to report that this newsletter edition features a section about the G Palmtop Environment - contributed by Familiar Linux ReleaseMeister Koen himself - thanks. We hope to have this section regularly appearing in the OOO Newsletter.

BitBake

Bit what? I hear you saying. OpenEmbedded has received a core rename and upstream restructuring. In order to prepare for the 1.0 release of the OpenEmbedded core library and tools, we’ve made some important changes. What we used to refer to as the “OE core” has been renamed to “BitBake”. The name was chosen due to our tasks resembling “recipes” to be followed. We came to this decision because the core itself is not in any way bound to embedded use. Only our metadata (build classes, machine and distribution configuration files, and packages) is specific to embedded. We also decided that the core didn’t really benefit from the peer to peer nature of BitKeeper, so we moved the core to Subversion over at berliOS.

Because our metadata was indeed bound to embedded, it was renamed as well. It is no longer just the “packages”, or the “OpenEmbedded metadata”. Our metadata is now called “OpenEmbedded”. We think that this should make things a bit less confusing for the user. OpenEmbedded is our metadata, and BitBake is the tool that acts on that metadata. OpenEmbedded is to Makefiles as BitBake is to make.

A few minor changes were made while we were at it. The old “oebuild” tool is now dead, and “bitbake” (which was formerly “oemake”) now accepts a -b or –buildfile commandline argument to act on a specific file instead of parsing everything. The current working directory is no longer automatically in BBPATH, so people now have to be certain that their build directory is in their BBPATH. And finally, the upstream packages directory was renamed to openembedded, and the actual packages were moved to a subdirectory of that named “packages”.

The GettingStarted page has been updated to account for the changes, and there is a BitBake Users Manual available. Last but not least, this newsletter will also feature BitBake news from now on - but won’t be called BOOO Newsletter to take that into account :D

OpenEmbedded

OE logo OpenEmbedded is a set of receipes and metadata to build Linux distributions for embedded devices with the BitBake build system.

Some numbers first: Since the last newsletter has been published, the OpenEmbedded metadata repository has received 3600 ChangeSets, that makes 600 ChangeSets per month and an average of 20 ChangeSets per day. We now have ten people frequently committing ChangeSets and a couple of people submitting patches. The current number of BitBake receipes in OE is 2034 and these receipes create over 3000 packages - which is quite a nice amount of libraries and applications for your distribution feeds.

The latest successful releases based on OpenEmbedded were OpenZaurus 3.5.2, Familiar Linux 0.8.0, and OpenSIMpad 0.9.0. At the moment, it looks like the next batch of distribution releases will be out in March - this is a tentative schedule, of course. This months featured BitBake file is Hydra, a console network auditor.

OpenZaurus

OpenZaurus is our 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.

Our hard work on OpenEmbedded and BitBake finally starts to benefit the OpenZaurus distribution. We have published two releases in the unstable tree (3.5.1 and 3.5.2) and the next one (3.5.3) is targetted for March 2005. We have some rough plans to branch off a stable OpenZaurus tree by the end of this year, but that depends on the personnel situation of course. Volunteers and patches welcome.

Our patches to Qt have been consolidated and were sent to Trolltech and hopefully they will apply these patches to Qt/Embedded versions 2.x, 3.x, and 4.x. While working on the touch screen mouse drivers, a monster has been found in the tslib library. We had the pleasure to capture a picture of it. This little monster was one of the showstoppers that delayed the release of OpenZaurus 3.5.2. It is unconfirmed yet but very likely that this monster was also guilty for the raid failures at handhelds.org :). Trustworthy sources report that recently the monster left the planet though.

OpenZaurus 3.5.2 introduced support for the Sharp SL-6000 so we now support all available Sharp Linux Zaurus Models except the (somewhat uninteresting and rare) SL-A300 and the (brandnew) SL-C3000. We would like to add support for the latter one, but it needs either a device donation to one of the core developers or patches by people owning this device. Talking about donations - the SL-6000 core support was possible because the community donated a SL-6000 to the OZ team. Another SL-6000 has just been donated by Lance from the ZaurusUserGroup which will be used to improve the Opie experience on that device - thanks Lance! The OpenZaurus project as a whole has no PayPal account, but the core developers have individual accounts. Feel free to make use of those :)

2.6 on c7x0Richard Purdie and John Lenz are still working on adding Zaurus C7×0 and SL5×00 support to Linux 2.6 and they have successfully pushed core machine support and a couple of basic drivers into mainline. Congratulations, guys! We could use a few more volunteers doing kernel work, though. There have been rumours that Sharp is internally working on an Embedix 2.6 kernel, but since we a) know about the Sharp kernel quality and b) they still refuse to cooperate with mainline, we don’t have high hopes for that. Still, an Embedix 2.6 kernel would help Richard and John to get further with Zaurus 2.6 in mainline.

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 tree continues. Since the last newsletter has been published, the Opie team released four new versions of Opie with lots of additions, improvements, and - of course - bugfixes. We also took the liberty of deprecating a couple of unmaintained applications. This reduces our workload and lets us concentrate on our core set of high quality libraries and applications for embedded devices. You can revitalize an application if you commit yourself to maintaining it. Send us patches for this application to opie-devel@handhelds.org and you will gain cvs access.

opie 1.2

Special attention has been brought to fix problems with non latin1 charactersets in Opie applications. The result will be a fully unicode aware mobile platform. With a not too far look on Qt/Embedded 4.0 we will be able to display text Left-To-Right, Right-To-Left, Up-To-Down, Down-To-Right. This will greatly increase the usage of mobile linux devices for end users.

Basic OpenEmbedded support has just been added to the Opie standalone build system - this allows Opie developers to use an OpenEmbedded staging area as the SDK. See README.OE

The latest ChangeLog can be seen here. Our plan is to release a stable Opie 1.2.0 in the next few months. Please continue to submit bugs and patches to our mailing list and to the bugtracker to make this goal possible. See our current release plan. As usual we also want to encourage you to join our team to work with wonderful people on a wonderful project. Opie welcomes contributions in every aspects. You can translate, document, work on our wiki based website or send in other patches for the tasks you could tackle. We look forward for your contribution and hope to meet you soon on our mailing lists or on IRC.

GPE

GPE 2.6 GPE is an X-Window based graphical environment for PDAs, WebPads and other (embedded) devices. It contains a large number of applications in the categories PIM, Networking, Graphics, Settings, and more.

Device support has been ipmroved for the Simpad and Netvista 8365, and work is being done to support the Psion Netbook devices. Since the last newsletter a lot of bugs have been squashed, including the nasty suspend/resume bug. The current focus lays on fixing more bugs and making the PIM framework more user friendly, i.e. regarding the synchronization of PIM data. The GPE-filemanager has been improved and the gnome-vfs-plugins have been split-up to reduce the dependencies. D-BUS support has been improved so beaming things with gpe-beam can now be done from GPE-filemanager and the contacts application.

Matthew Allum has been working on the Matchbox window manager to reduce memory load. Matchbox 0.9 should save about 1M per application on displays larger than 320×240. Since the last newsletter a lot of documentation has been written and improved. Most of the pages are stored in a Wiki - this means you are welcome to edit them, add content, and correct errors.

Epilogue

I hope you enjoyed reading the 5th edition of the OpenZaurus/OpenEmbedded/Opie/and friends… newsletters. Feel free to provide feedback or send in questions. Don’t send support inquiries for any of the aforementioned projects to me personally - they will be ignored since mailing lists exist for a reason. Questions of general interest will be answered in the next newsletter.

Thanks, Michael ‘Mickey’ Lauer.