Enabling Java on Beagleboard with minimum base kernel


I'm trying to find a solution to enable Java in Beagleboard with base
kernel 2.6 running.

Is there a way to do it. I'm new to Linux and Beagleboard actually and
trying to figure out a way to run Java on Beagle.

Any help would be really appreciated.



Did you try Android?

Hi Deobrat,

Android will be too heavy for my device. Actually, I'm building an e-
book reader that can run on Linux and can execute java applications.

Is there a way to do that?



Hello !
Does Android offers something better or easier if you want to run Java on the Beagleboard ?

Thanks !

2009/8/6 Deobrat Singh <deobrat@gmail.com>

I don't think so. Android is no better than other flavors of Linux
like Angstrom or Ubuntu in case of Beagleboard.


Android has a lot more overhead for then running plain Java. The last time I
looked at the app side, it requires a post processing step so it isn't quite

In any case, getting some form of Java to run should not be an issue. The real
question is what Java profile and features is needed. This is where the work
comes in. It would appear that the original poster wanted something more then
a Java environment to run the equivalent of printf( "Hello 1+1 = %i\n",
1+1);. The question is how much more.

Hi Hunyue et al,

First I need to get Java up and running. Want to be able to run java
applets and stuff. To start with minimum configuration of java should
be sufficient.

Can we use a JVM or something like CACAO for Embedded ARM.

Thanks for your reply BTW.


I’m running Java on my BeagleBoard using OpenJDK… I don’t know if there’s an Angstrom opkg for it, but there is a Debian package. Sadly it isn’t doing any JIT compilation and is purely interpretted which means complex code runs fairly slowly in comparison to a native C application. As an example, ssh command line connects to a remote server using a 2048-bit key in around 5 seconds. In pure Java (using Jsch) it takes over 2 minutes… phah…!

I don’t know if CACAO for ARM uses JIT but I’ll check it out as I’m in need of some more (java) speed…

You could try using gcj to convert it to an executable - native ARM code,
rather than interpreted Java code. I think that works on ARM as well as
it does on other platforms.

Of course the real shame is that most ARM processors come with
Java in hardware (or at least in part) with Jazelle, and if my memory
serves me right the processor on the BB has this in it, but none of
the open source Javas can access it, as Jazelle is not publically defined
and you need licenced code from ARM to run it.


Hi All,

Thanks for the inputs. But when I tried to configure GNU Classpath as
the Java Library to get CACAO or other JVM up and running, I got the
following error message. It ran for a while, but stopped after giving
this error message.

See if it makes any sense.

"checking build system type ... Invalid configuration 'armv71-unknown-
linux-eabi': machine 'armv71-unknown-linux' not recognized

configure: error: /bin/sh ./config.sub armv71-unknown-linux-eabi

I see there is incompatibility with the package I use, but thats the
only package available in GNU classpath. I don't know how to continue
from here.

Any help?