Thursday, March 13, 2014

Apache Karaf 3.0.0 on Raspberry Pi!

The question we've all been asking finally answered - yes, Apache Karaf 3.0.0 can run on Raspberry Pi! 

If you're not familiar with Raspberry Pi it's a small, inexpensive computer which at its heart runs a 700 MHz Low Power ARM1176JZ-F Applications ProcessorCPU with 512MB ram.

My build utilizes a Debian based Linux distro, Raspbian, and an Arm compatible Oracle JDK build.

Out of the box I had to make some small modification to the Karaf shell script. The "server" flag was not recognized by the Java installation on my RPi. Editing this out of the script allowed Karaf to start up happily.

First Boot!
I have a feeling there are lots of performance gains to be made with some careful tweaking of JVM parameters.
Other than having reduced memory, IO, and CPU resources in comparison to the Servers and Workstations I'm used to working upon the RPi shown itself to be a very capable platform.

What about the Service Wrapper?

Almost there, however this is about as far as the service wrapper will go on RPi platform :(

Unfortunately that feature still does not operate out of the box on Raspberry Pi. A Jira ticket has been filed for this deficiency, hopefully an Apache License compatible solution will be found.


Mazya uchapati (my low-tech efforts) said...

Hi Jamie,

This is a good one. I hope to play with my RPi soon.

Jamie Goodyear said...

Ulhas! RPi is certainly fun to play on - wish I had more time to devote to just trying things out on different platforms.

Christian Mueller said...

Thanks for the explanation.
If I find some time, I will give it a try on my CuBox.


Jamie Goodyear said...

I'd like to see how Ouya's would interact with Karaf. Lots of open source systems that could take advantage of the communities' work to make a first class OSGi platform.

A quick aside, I see Karaf as a great place to host backend processing for a multi player game -- use AMQ for passing messages, CXF for web services, Camel to process messages... perhaps Cassandra to speed up any data retrieval. Lots of cool stuff.