ARM architecture going more to desktop style applications had been in press frequently during the last weeks. On top of were press releases of ARM and canonical officially announcing an ubuntu port in one of the next releases for the ARM architecture. Applications are more of type nettop or advanced PDA like the nokia n810, than what is currently known as traditional embedded applications (just to name a few examples).
This has been due to the fact that licensees of the ARM architecture, big semiconductor companies from the Top 10 list, have begun shipping a new generation of “mobile PC in the pocket” of System on a Chip semiconductors. They include now a really high clocked ARM core, DSPs for Video/Audio processing that can even decode HDTV streams, and OpenGL 2.0 capable HW engine and the peripherials included to build PDAs, mobile phones or nettops. All that within the energy budget of a mobile phone, and not of a Desktop PC. The google G1 phone had been one of the first products of this generation, although its software uses these features only in the beginnings.
What now does this all have to do with the openSUSE Buildservice and openSUSE distribution? As you might already guess it, we haven’t been sleeping either. And I am not a advocate of ubuntu on an .opensuse.org website. So read further what we have done so far.
Here is the latest update on supporting Cross Development for other architectures than the usual x86 and powerpc 32/64 bit architectures currently supported in the OBS and the openSUSE distribution. You should be aware that we put together an updated roadmap for OBS development, which now also mentions Cross Development. Other places like the main OBS wiki page have also been updated accordingly. To sum it up, we are now able to handle a number of preexisting linux distributions in the best spirit of the current OBS now also for ARM. There is ongoing work so OBS Imaging and zypper are also working for ARM targets. For quite a while now, there have been packages for Cross Development in build.o.o in the openSUSE:Tools:Devel development snapshots project.
The nokia sponsored Mojo project had been also been there (e.g. with similiar ideas wrt. to what will be embedded in the future) for quite a while now, first unnoticed from us, been approaching the cross development issue quite similiar to us. But not with the power of the openSUSE Buildservice and all its capabilities. They had been porting, beginning with Debian @ ARM, a complete ubuntu desktop distribution. That involved more “handy work” like we need to do with OBS according to the conference slides published by the project. So here comes to my mind the following joke: What is this? Answer: the new Nokia HAL9000 Buildserver for ARM linux distributions! But read next why we might not end up like this.
In order to implement old and current ARM processor types, I had to put in another processor type into the OBS. There was the old armv4l type, that is used for ARMv4 generation of instructions on the OABI (old ABI), little endian. With ARMv5 instruction set, also a new ABI had been introduced called EABI. To sum it up, armv5el denotes ARMv5 EABI little endian with softfloat, whereas armv4l denotes ARMv4 OABI little endian with softfloat. This had to be introduced, because these two formats are not compatible and thus not combinable. armv5el was introduced to support multiprocessing, ntpl and mixture of thumb and non thumb modes. A kernel compiled sufficiently can execute both types of executables, although this would require to run the system like a biarchitecture, where all shared libraries need to be kept twice.
Debian had been tradionally supporting an ARM version, so it was the usual start for testing (also it provides a long history of package versions from “quite old” to “very new” i needed for testing the QEMU). Currently working in OBS, and using a patched QEMU, are:
Fedora (as provided by Fedora on the Linux UK ftp server). Currently working in OBS are:
Ubuntu (as ported by the Mojo Project – there seems to be an official arm port with one of the next ubuntu releases). Currently working in OBS are:
The developments are already going so far that one of the manufacturers of ARM based chips, Texas Instruments, is using a community approach to help but also to gain from the community. They created a development board of the current chip generation called “beagle board”, that is suited for everbodies use. The community for it is located at beagleboard.org. Texas Instruments now have also a youtube based marketing, so you can see this baby in action.
But now to the delicate question to you, the openSUSE and openSUSE Buildservice user. You might have noticed that two things are missing in what I am writing:
The latter can now be implemented with the OBS, since OBS is already capable of building the complete openSUSE distribution. When openSUSE 11.1 is released, there is a good time to lean back and consider what we should do next.
Do you have a use for this and should we support this officially?
Both comments and pings are currently closed.