Oracle announced the availability of JDK 7 Update 6 which introduces a JDK for Linux on ARM v6 and v7 architecture. This JDK is aimed at “general purpose” ARM systems, such as ARM micro-servers and ARM development platforms. This new JDK for Linux on ARM is licensed under the Oracle Binary Code License, and can be downloaded at no cost for development and production use on general-purpose platforms. For embedded use such as an industrial controller or a kiosk appliance, a commercial license would be required.
This port provides 32-bit binary for ARMv6 and v7, with full support for Swing/AWT, both client (C1) and server (C2) compilers and runs on most Linux distributions. One caveat is that the current binary is softfloat ABI only, so it won’t work with (for example) the Raspbian distribution which uses the hardfloat ABI. We are planning to add hardfloat support in an upcoming JDK release, as well as support for JavaFX on ARM.
This new JDK is different from Java SE Embedded which supports ARMv5 architectures and above, x86, and PPC, is optimized for small footprint devices and licensed commercially for embedded use.
There are 2 downloads (No direct links as this goes via a license agreement):
- Java SE Development Kit 7u6 (jdk-7u6-linux-arm-sfp.tar.gz)
- Java SE Development Kit 7u6 Demos and Samples Downloads (jdk-7u6-linux-arm-sfp-demos.tar.gz)
Oracle must not have paid attention to the latest ARM developments, and force a soft-float (armel) release upon us, which means you won’t be able to use any armhf rootfs/distributions such as Raspbian or the Ubuntu images released by Linaro, and make sure you install a soft-float distribution/rootfs. If you want to keep using armhf distros, Oracle Java is not the only option to get Java on ARM, and you can already use OpenJDK. But not is all bad, as at last, you’ll be able to get some coffee with your raspberry pi.