This page is intended to document experiences of running Felix on alternative Java VMs. Currently, the following VMs are included:
If you have an experience you would like to contribute or edits/additions to an existing platform, please contribute it.
Contributed by David Lindelöf.
We have made Apache Felix run successfully on the UNC90 embedded platform and here I'd like to share our experience.
Our UNC90 runs on an ARM9 chip with 16 Mb flash and 32 Mb RAM. It runs the uClinux operating system. The flash is divided in four partitions according to the linux/drivers/mtd/maps/modarm9.c file in uClinux's source distribution:
We have chosen the Mika Java Virtual Machine, made by /k/ Embedded Java Solutions. We install it under /usr/bin and /usr/lib respectively, and its total footprint is about 1.67 MB. It claims to be compatible with at least Java 1.3, but already includes many features from Java 1.4.
We have installed Felix on the user applications partition under /mnt/felix. The framework is then started by a script similar to this:
We had to slightly modify the default configuration file. We force the framework to export system packages as if we were running Java 1.4:
The -Djava.protocol.handler.pkgs=wonka.net option is necessary if you want to do anything URL-related. See here for a full discussion. Basically, we must specify the name of a package containing protocol handlers, which defaults to sun.net.www.protocol. But with Mika this must be set to wonka.net (use com.acunia.wonka.net on older versions of Mika).
We have found this setup to be more than satisfactory in terms of stability, performance and memory usage. We have uncovered several bugs in Mika's class library, but the folks at /k/ have always patched them in a timely manner.