Robert Schuster has a very detailed account of the work done to get full Java support on small devices. He managed to cross compile (and package) OpenJDK/IcedTea for OpenEmbedded/ARM through multiple build stages using various free java implementations. This provides full free (GPL) J2SE support for ARM based handlhelds, phones and embedded devices like the BeagleBoard, BUG, OpenMoko, Maemo and the Irex Iliad through Jalimo.
This is really great work. It’s good to have the full J2SE stack on embedded devices instead of having to rely on some proprietary version of J2ME.
This shows the advantages of Open Source! SUN benefits from this work, as do we. We are all winners. Yes? :o)
Maybe now someone can create a version of Android with a free java implementation.
IcedTea = abobination, it is slower and buggier than Java, but hey, is free software.
Edited 2008-12-22 16:09 UTC
Def: abobination [uh-bahb-ih-nay-shun]
n. Computer software bearing resemblance to Microsoft Bob.
Great. Care to support that with any substantial argument?
If you’re running Ubuntu Linux, install Eclipse via Synaptic. The default Eclipse packages available on Ubuntu are compiled using GCJ. Launch said Eclipse and cry as you see how slow the whole thing runs. Before you start blaming Eclipse for being bloated and slow, install the Sun JDK, and then download the official Eclipse release. Install both, and then launch the official Eclipse release. Cry as you see how well the whole thing runs.
While it may appear counter intuitive to some, natively compiled Java isn’t necessarily going to be faster than running Java through a VM.
IcedTea != gcj.
Yeah, GCJ sucks dog’s bollocks, but it has nothing or little to do with IceTea. Why Ubuntu insists on installing GCJ is beyond me: truly, it is slow, buggy and voracious.
Once you get rid of GCJ, OpenJDK works very nicely, and it is just as fast as Sun’s JDK because they share the vast majority of the code; only the proprietary bits that Sun sublicensed have been excised and (mostly) replaced with GPL code.
So we indeed see an advantage of free code here. Sun has not seen it fit to do an ARM port of JRE (commercial conflicts with JME, maybe?), but here’s the port, anyway.
Were Flash Player also free code, we could have it running on a much wider variety of hardware than Adobe supports; this might give JavaFX and Silverlight some competitive advantage.
IcedTea / OpenJDK is a completely different beast than GCJ. Try to run Eclipse with it, you’d be surprised!
According to an article at Phoronix OpenJDK is slightly slower than the Sun JDK. See: http://www.phoronix.com/scan.php?page=article&item=java_vm_performa….
The phoronix tests are performed on Ubuntu. I use fedora and RHEL/CentOS and I have noticed it on these platforms as well.
It is also not hard to find bugs in OpenJDK. E.g. try to create a JFrame containing a JPanel with e.g a JTextField in it. In Sun JDK the pack() method works just fine, while in OpenJDK it does not. This isolated bug does of course not prove that there are more bugs in OpenJDK, just that Sun JDK and OpenJDK do not share the same set of bugs, but that is still annoying.
Another thing is that if you don’t care to compile your java yourself and rely on the OpenJDK that comes with your Linux distribution, the OpenJDK somtimes is a bit out of date when it comes to features. E.g the OpenJDK that comes with Fedora do not support JavaFX like the latest Sun JDK does.
Even so, it is nice to have a free implementation of Java, this means Java will have a chance to live on if something should happen to Sun. In the long run it will probably also make sure that more bugs will get fixed on platforms in which Sun have little interest.
sun already have a release of java for embedded system… so is not really new
http://java.sun.com/javase/downloads/embedded.jsp
that exist for arm, mips and x86…
That is proprietary. IcedTea is not.
and?
jvm is used since a while for embedded system…. so i don’t think it’s a big problem….
I didn’t say it was a problem as such although then you would have to get into why Sun decided to open source it;s JDK in the first place and why someone decided to put time and effort into this cross compilation.
I was in fact, just noting that it is not just the same thing that existed for a while but a new effort based on recently open sourced code and it deserves to be looked upon as a unique effort.
The thing about these projects is that you never know what might come of them. You sew some seeds and some of them might spring up. You know not which. And maybe it’ll be a beanstalk you can climb. Maybe you can climb past the clouds. Or maybe there will be a giant at the top named “The Big MS” who will eat you. Or maybe the whole thing just falls down and crushes you. Or maybe the damned seed never sprouts at all.
This particular seed seems to have sprouted.
Look up.
Edited 2008-12-23 02:30 UTC
Note that is a proprietary headless version, that they haven’t/couldn’t liberate to be integrated with the free software solutions and so only available for a couple of selected targets. The OpenJDK IcedTea port is the full version with graphics and all, and comes with only free software and a recipe to cross-compile it for any target you want.
Remember all of the comments people made about Linux distro’s it is ‘free software’…
I do not see the faults with the IcedTea implementation, with a Linux distro (RHEL/Fedora) you can use the alternatives command to switch or change the JVM you want to use.
I think having choices makes better software and who knows the dev’s may come out with a better JVM than the one Sun offers.
a couple of big company have tried… without success…
also, i don’t think icetea project it’s not really optimised for embedded system… that why sun a create a release for that