Java 21 JDK for arm32 🚀

The Adoptium team stopped supporting arm32 hardware with Java 21, but many still rely on arm32 devices (like older Raspberry Pis) and OS.
(https://adoptium.net/de/supported-platforms/)

To keep OpenEMS up-to-date and accessible, we’ve built our own packages:
https://openems.io/download/temurin-21-jdk-armhf_21.0.6+2.deb
https://openems.io/download/temurin-21-jre-armhf_21.0.6+2.deb

Feel free to install and test them. Feedback is more than welcome!

5 Likes

Hello @da-Kai ,

you are great! I will try and report aswell.

Afaik i need to use it in my IDE and on the devixe itself right?

Instead of using Java 17 i will use 21 on my IDE and device - right?

How are the next steps regarding openEMS and arm32 devices? Do you then always Update if a new Java Version is released?

Greetings

Hi @Sn0w3y,

Yes, you’re correct, once Java 21 features are implemented, you’ll need to use Java 21 both in your IDE and on your device.

Regarding OpenEMS and arm32 devices, my plan is to support them for as long as possible. Currently, I am capable of compiling JDKs for Java 23 also.

I’ll do my best to maintain compatibility for as long as it makes sense.

Regards

1 Like

Right now i updated the Device to Java 21 - it runs smoothly until today - my guess is, that it will do further :smiley:

Greetings!

Hi @da-Kai,

thank you very much for providing the JRE/JDK. This is a great time saver and helps us a lot! We have now been able to roll out your Java 21 package on many systems without any problems.

Unfortunately we have a few old systems running a raspberry buster distribution and we don’t want to do a distribution update to raspberry bullseye remotely. Buster uses GLIBC 2.28. Whereas your packages of JRE/JDK21 are compiled with GLIBC Support for > 2.29.

Easiest way seems to be, to build JRE/JDK21 for a system with GLIBC2.28 support. As far as I see it, Adoptium provides docker container for building

Our naive approach would it be, to create a new version based on the cross toolchain for Java 17 for arm and simply replace the Java 17 with the Java 21 source code.

Do you think this is possible and it is a good starting point?
I remember, that it it once took me several weeks of time to cross compile some bigger programs. How much time did you spend to build the debian packages? Do you remember any show stopper on building java 21 with glibc 2.28. Of course you can’t probably do an estimation on this. I am more interested in your gut feeling on this. I ask, because we are talking about ~10 old Systems. It may be more economic to simply exchange the old systems.

Thank you. Chris