# Linux and ARM Java VM's

**URL:** <https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309>\
**Category:** Archived Topics\
**Created:** [April 17, 2012, 9:08pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309 "2012-04-17T21:08:44Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Greg.Buehler](https://avatars.discourse-cdn.com/v4/letter/g/ecc23a/32.png) [@Greg.Buehler](https://forum.inductiveautomation.com/u/Greg.Buehler)\
**Post date:** [April 17, 2012, 9:08pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/1 "2012-04-17T21:08:44Z")

</div>

Has anyone gotten Ignition clients to run on an ARM linux device yet (specifically on an Cortex-A8 processor)? Is OpenJDK sufficient for the JavaVM or do we need the official Oracle JRE?

It would be awesome to have some touchpanels like [Technexion’s th-1535](http://www.technexion.com/index.php/products/hmi/th-1535) running a native client.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 17, 2012, 9:14pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/2 "2012-04-17T21:14:23Z")

</div>

We have an A5 linux box around here that we got it running on, but it’s not something you’ll be able to get running easily on your own right now.

It requires using a custom shell script instead of the service wrapper to start Ignition (not that hard), and an ignition-arm\*.so file compiled specifically for that platform (impossible for you to do youself).

KSB has plans to sell an ARM-based data collection box in the near future, maybe Kyle can step in and give you more info.

Edit: I’m talking about running a gateway. Oops. Running a client should be a bit easier, and won’t require the shell script or native binary. We have an A7 tablet here that runs the client like a champ.

---

<div class="post-metadata">

**Author:** ![Greg.Buehler](https://avatars.discourse-cdn.com/v4/letter/g/ecc23a/32.png) [@Greg.Buehler](https://forum.inductiveautomation.com/u/Greg.Buehler)\
**Post date:** [April 17, 2012, 10:07pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/3 "2012-04-17T22:07:23Z")

</div>

No need to run the gateway. Just want the client. If you haven’t guessed already, this image put the idea into my head:

I was thinking about running a custom build of Angstrom (a derivative of OpenEmbedded) on one of those touch panels, so anything our friends at Oracle could pass on about the tablet they fiddled with for Nuremberg would be extremely useful.

What this comes down to is that there is a glut of cheap (Chinese) displays and interfaces based on the [BeagleBoard](http://beagleboard.org/) either already on the market or soon to be entering the market. If there is an easy way to get a client running on an ARM Cortex-A8 chip, then the sky is the limit for cheap touchscreen displays and tablet type devices.

---

<div class="post-metadata">

**Author:** ![Kyle\_Chase](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@Kyle\_Chase](https://forum.inductiveautomation.com/u/Kyle_Chase)\
**Post date:** [April 19, 2012, 2:44am UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/4 "2012-04-19T02:44:57Z")

</div>

[viewtopic.php?f=50&t=7985](http://www.inductiveautomation.com/forum/viewtopic.php?f=50&t=7985)

---

<div class="post-metadata">

**Author:** ![DennisWomack](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@DennisWomack](https://forum.inductiveautomation.com/u/DennisWomack)\
**Post date:** [May 22, 2012, 11:35pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/5 "2012-05-22T23:35:47Z")

</div>

Take a look at these:

[arstechnica.com/gadgets/2012/05/ … video-out/](http://arstechnica.com/gadgets/2012/05/another-tiny-computer-vias-49-apc-offers-android-hdmi-video-out/)

[arstechnica.com/gadgets/2012/05/ … umb-drive/](http://arstechnica.com/gadgets/2012/05/new-74-android-mini-computer-is-slightly-larger-than-a-thumb-drive/)

Wow! Enough for a client?

Dennis

---

<div class="post-metadata">

**Author:** ![Greg.Buehler](https://avatars.discourse-cdn.com/v4/letter/g/ecc23a/32.png) [@Greg.Buehler](https://forum.inductiveautomation.com/u/Greg.Buehler)\
**Post date:** [May 23, 2012, 1:58pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/6 "2012-05-23T13:58:32Z")

</div>

[quote=“DennisWomack”]Take a look at these:

[arstechnica.com/gadgets/2012/05/ … video-out/](http://arstechnica.com/gadgets/2012/05/another-tiny-computer-vias-49-apc-offers-android-hdmi-video-out/)

[arstechnica.com/gadgets/2012/05/ … umb-drive/](http://arstechnica.com/gadgets/2012/05/new-74-android-mini-computer-is-slightly-larger-than-a-thumb-drive/)

Wow! Enough for a client?

Dennis[/quote]

More than enough for a client, but the standard JVM is still missing in addition to the fact that jnlp’s can’t be launched from Android at the moment…

---

<div class="post-metadata">

**Author:** ![Carl.Gould](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/carl.gould/32/7262_2.png) [@Carl.Gould](https://forum.inductiveautomation.com/u/Carl.Gould)\
**Post date:** [May 23, 2012, 8:59pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/7 "2012-05-23T20:59:40Z")

</div>

Wow cool. If the filesystem is on that microSD card, I bet we can use the same trick we used on the tablet to put normal linux on there, and then we can run the full JavaSE ARM jvm on it…

---

<div class="post-metadata">

**Author:** ![DennisWomack](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@DennisWomack](https://forum.inductiveautomation.com/u/DennisWomack)\
**Post date:** [May 24, 2012, 7:58pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/8 "2012-05-24T19:58:58Z")

</div>

More links:

[linuxuser.co.uk/news/raspber … rch-linux/](http://www.linuxuser.co.uk/news/raspberry-pi-gets-arch-linux/)

[apc.io/](http://apc.io/)

---

<div class="post-metadata">

**Author:** ![DennisWomack](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@DennisWomack](https://forum.inductiveautomation.com/u/DennisWomack)\
**Post date:** [May 29, 2012, 10:59am UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/9 "2012-05-29T10:59:27Z")

</div>

And another…

[ostatic.com/blog/diminutive-andr … r-under-75](http://ostatic.com/blog/diminutive-android-pcs-are-selling-for-under-75)

---

<div class="post-metadata">

**Author:** ![DennisWomack](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@DennisWomack](https://forum.inductiveautomation.com/u/DennisWomack)\
**Post date:** [May 30, 2012, 12:03pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/10 "2012-05-30T12:03:44Z")

</div>

And another with 1 gig of ram. $83.00.

[aliexpress.com/product-gs/56 … alers.html](http://www.aliexpress.com/product-gs/568711444-New-released-1G-RAM-4GB-ROM-Android4-0-IPTV-google-tv-smart-android-box-allwinner-A10-wholesalers.html)

---

<div class="post-metadata">

**Author:** ![weertske](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/weertske/32/3353_2.png) [@weertske](https://forum.inductiveautomation.com/u/weertske)\
**Post date:** [December 27, 2012, 9:12pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/11 "2012-12-27T21:12:23Z")

</div>

Kevin,

I have the Ignition client running smoothly on a Nexus 7 with Ubuntu installed. I would like to take the next step and try to run Ignition on the device. What would it take to get you guys to supply me with the ignition-arm\*.so file compiled specifically for the Nexus 7?

---

<div class="post-metadata">

**Author:** ![weertske](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/weertske/32/3353_2.png) [@weertske](https://forum.inductiveautomation.com/u/weertske)\
**Post date:** [January 2, 2013, 8:31pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/12 "2013-01-02T20:31:56Z")

</div>

By the way, for those of you that are interested in testing the Nexus 7 you can easily follow the instructions on [https://wiki.ubuntu.com/Nexus7/Installation](https://wiki.ubuntu.com/Nexus7/Installation) to get Ubuntu set up. However, this makes the Nexus 7 a unitasker devoted to testing Ubuntu. A better plan is to follow these instructions: [http://forum.xda-developers.com/showthread.php?t=2011403](http://forum.xda-developers.com/showthread.php?t=2011403) to set up multiple ROMS on the Nexus. This way you can use it both as an Android and as a Linux ARM testing platform.

Either way you decide to go, once you have Ubuntu set up, install java-6-openjdk-armhf and you will be able to start testing Ignition clients. Oracle has a JDK for the A7 ARM however it does not contain the javaws web start file. If anyone can compile one I would be interested in testing it as I am sure it will be faster than the open version.

---

<div class="post-metadata">

**Author:** ![tailfire](https://avatars.discourse-cdn.com/v4/letter/t/b5a626/32.png) [@tailfire](https://forum.inductiveautomation.com/u/tailfire)\
**Post date:** [January 5, 2013, 2:41am UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/13 "2013-01-05T02:41:34Z")

</div>

[ijailbreak.com/how-to/instal … -7-tablet/](http://www.ijailbreak.com/how-to/install-ubuntu-linux-nexus-7-tablet/)

How is this similar/dissimilar to the process you used? I would like to try this one. How functional was your client?  
What issues did you have? Did you do any data entry with it? How responsive was it? I had a nexus 7 and i traded it for  
A smaller acer that had more options…

---

<div class="post-metadata">

**Author:** ![weertske](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/weertske/32/3353_2.png) [@weertske](https://forum.inductiveautomation.com/u/weertske)\
**Post date:** [January 5, 2013, 4:43am UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/14 "2013-01-05T04:43:34Z")

</div>

The installation process on your link was very similar to the one on the Ubuntu site. I recommend the MultiRom approach so that you can continue using the device as an Android in addition to testing Ubuntu.

As far as speed is concerned, the first thing you need to do is get away from the Unity desktop which is slow. Install the LXDE desktop and the system is pretty fast. Running Ignition as a client under LXDE is good and data entry went fine. I expect that it would be even faster if it was running Oracle Java but I am stuck on that one for now.

I initially tried to use OpenJDK 1.7, it worked but it wouldn’t allow me to hide the windows menu bar when running the client. I noticed the same problem on 1.7 on the x86 platform so I rolled back to 1.6 and voila it works just fine.

To keep you from losing your mind typing on a touchpad keyboard on the Nexus, set up remote desktop connection using vino and then do all your testing/programming on the remote connection

---

<div class="post-metadata">

**Author:** ![DennisWomack](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@DennisWomack](https://forum.inductiveautomation.com/u/DennisWomack)\
**Post date:** [January 25, 2013, 10:03am UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/15 "2013-01-25T10:03:15Z")

</div>

Here is another one to take a look at.

Search for:

Mini Computer,1080P Dual-core Android 4.1 TV Box MK808 Mini PC RK3066 1GB DRR3+8GB Nand Flash

What is MK808?  
MK808 is the first Android 4.1 Jelly Bean TV Box in our market, It can upgrade your dumb-TV to a smart TV easily;  
Withi this MK808, You can watch stunning 1080p HD content from YouTube and many more on your TV! Send emails, update your facebook status, play Angry Birds or Fruit Ninja like never before. Download new apps, create and display a powerpoint, listen to music, read books, and play most all those interactive games you love so much on your phone or tablet.  
Compare with other tv box, this MK808 tv box has 8GB storage, and dual Wifi antenna, the wifi signal will be better a lot than other tv box. also it use the Cooling SMT technology,has lower temperature when working.  
Highlights:  
Android 4.1 Jell Bean OS, Google Play Store pre-installed;  
1.6Ghz Rockchip RK3066 Dual Core CPU, Quad core Mali-400 GPU;  
1GB RAM /8GB storage;  
Built in dual wifi antenna in this android device ,support 802.1b/g/n, which makes it more faster than other android tv boxes;  
Support external SD card  
capacity:1GB-16GB ; Hard Disk: 1GB ~ 5TB;  
Muliti-language supported  
Package Included:  
SS808 Android 4.0 Mini PC.  
Power adaptor.  
Adaptor dongle for mini-USB to USB.  
Mini-USB data cable.  
HDMI to mini-HDMI cable.  
User manual

$55.48

Question is… Is there a JRE for this, i.e. ARM 9

---

<div class="post-metadata">

**Author:** ![tailfire](https://avatars.discourse-cdn.com/v4/letter/t/b5a626/32.png) [@tailfire](https://forum.inductiveautomation.com/u/tailfire)\
**Post date:** [January 31, 2013, 12:19pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/16 "2013-01-31T12:19:47Z")

</div>

[solid-run.com/projects/67-ha … -the-cubox](http://www.solid-run.com/projects/67-hardfloat-jdk-available-for-the-cubox)

Can this lead to an ignition client running on the tiny arm box?

---

<div class="post-metadata">

**Author:** ![Custom8](https://avatars.discourse-cdn.com/v4/letter/c/e480ec/32.png) [@Custom8](https://forum.inductiveautomation.com/u/Custom8)\
**Post date:** [February 12, 2013, 8:58pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/17 "2013-02-12T20:58:51Z")

</div>

This is very interesting topic since we are looking to put Ignition on an embedded hardware.  
I’ve tried to deploy Ignition under Linux Ubuntu 12.04 OS running on ODROID-X open mobile development platform which is based on Exynos4412 ARM Cortex-A9 Quad Core (from [www.hardkernel.com](http://www.hardkernel.com))  
The board has sufficient resources to run headless server and consumes very low power.  
There is OpenJDK Java distribution for ARM that allows for running a client for Ignition. My experience with Oracle version of embedded Java was negative. It requires some extra configurations that I could not find. Besides Oracle on its web sites indicated that using embedded Java requires license fee which they calculate when you request it.

The biggest obstacle is lack of Ignition server distribution for ARM. Linux distribution is compiled for Intel 386 instruction set even jar files. It runs fine on Intel processor PC with Ubuntu either server or desktop Linux 12.04 LTS with OpenJDK.

It’s interesting that Inductive Automation announced plans for such development and possible brunching of the Ignition with special pricing for the embedded version.  
Hope that this will materialize soon.  
Cheers!

---

<div class="post-metadata">

**Author:** ![DennisWomack](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@DennisWomack](https://forum.inductiveautomation.com/u/DennisWomack)\
**Post date:** [February 12, 2013, 9:28pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/18 "2013-02-12T21:28:27Z")

</div>

This is from the Wikipedia article on ARM Architecture:

Jazelle  
Jazelle DBX (Direct Bytecode eXecution) is a technique that allows Java Bytecode to be executed directly in the ARM architecture as a third execution state (and instruction set) alongside the existing ARM and Thumb-mode. Support for this state is signified by the “J” in the ARMv5TEJ architecture, and in ARM9EJ-S and ARM7EJ-S core names. Support for this state is required starting in ARMv6 (except for the ARMv7-M profile), although newer cores only include a trivial implementation that provides no hardware acceleration.

Wonder if this DBX would help here? No JIT compiles, just do it. Sounds like Nike!

Dennis

---

<div class="post-metadata">

**Author:** ![Custom8](https://avatars.discourse-cdn.com/v4/letter/c/e480ec/32.png) [@Custom8](https://forum.inductiveautomation.com/u/Custom8)\
**Post date:** [February 13, 2013, 4:57pm UTC](https://forum.inductiveautomation.com/t/linux-and-arm-java-vms/4309/19 "2013-02-13T16:57:11Z")

</div>

Good morning

I am not sure DBX can help. Since Java on ARM seems to be working fine it supposed to be able to run bytecode or jar files.

The problem is in wrappers and some other configuration details that are specific for Intel 386 family of processors. Overcoming this obstacle requires cross compiling with proper setting for the ARM. It can be done only by the developer.
