If you can find a working linux image and install Java on it then I don’t see why it would not work, it is just a matter of how hard you will find this to be. I am an Odroid fan because they release working linux images, give support to users and opensource projects and have a great community.
I use the Odroid C2 which has 2gb ram and it works great and is very easy to get linux and openhab running on it with my script as openhabian does/did not work with getting ARM64 Java running , see here for script…
BEWARE any arm board that uses big.little processors needs special attention (The C2 and H2 do not use big.little), see this thread…
Lastly there is a new X86 based board that can run at 4 watts IDLE power draw and has 2 SATA, usb3 and M2 NVME support. You can upgrade the ram up to 32gb but it is not included in the price. Since this is x86 and not arm based it will work great. Due to the 2 sata ports you can set it up as a NAS and use docker images to run Openhab in.
I just tried your script on the Rock Pi 4. In the Ubuntu image was some problem with the udev:armhf service. After the script the system did not boot anymore.
In the Debian image it worked better. Openhab is starting and I can also boot the system without problem. I think there are still some problems with the script, but the basics are running now. I need to test some more to see if everything is working.
Thanks, I’ll look into it to see if it happens on the C2 or only RockPi4. Note if you dont use that package I found the ‘system info’ binding would not work with ARM64 devices. So to get java working without using the udev:armhf these steps can be used. It should be as easy as removing udev:armhf and using libc6:armhf in its place. Also there may be a java enviroment option to remove.
Let me know if you find another way to get the system info binding working for the ARM64 processors, thanks…
I edited and uploaded a script for you to try. Same location it is just called install-openhab-rockpi4.sh
Leave the RTC disabled as you will need to find what steps work for yours, it may be similar and the code is clear which parts are for the Odroids RTC…
I would expect that you will hit the hurdle of java crashes due to the big.little processors once you actually get things running. The script does not handle that for you but my post above gives a thread with a number of fixes for this in it.
EDIT: I seem to recall that the big.little issue was caused by a licensing issue with Samsung and since the rockchip ARM in the rockpi4 is not made by Samsung it may not have the same problem.
Good luck and be sure to post what you find as the RockPi4 does look good for 1 reason and that is the M2 NVME ability, would have preferred M2 sata as they are cheaper but that will change and nvme is better.
Thanks, I will try this script on the Ubuntu image. I’m currently running the Debian image and there the udev service runs without any problems. I’ve also just tested the Systeminfo binding and that works too.
What exactly didn’t work with the Systeminfo binding without the udev service?
I did look arround some more about this problem and I guess the problem is that the Ubuntu image comes with the 64 bit version of udev preinstalled (/lib/aarch64-linux-gnu/libudev.so.1) and that the 32 bit version just does not work. But Openhab only runs unter 32 bit Java because of the serial libraries.
Any ideas if this will change in the future and that OH could be running with 64 bit Java?
I think I just found a solution that works! I found this thread that describes the problem in the oshi GitHub project. But installing the udev:armhf package breaks the ubuntu image as we know. So I just replaced this package with libudev1:armhf. After that I created the symlinks as described in the GitHub issue and then the Systeminfo binding did initialize and it seems to work just fine. Here are all commands that I used to get this to work:
But after a restart Openhab was still having encoding problems with the utf8 files. I’ve added “-Dfile.encoding=UTF-8” to the EXTRA_JAVA_OPTS and that did switch java to utf8. Maybe there is also a better solution for this? But this should also be set by the script in my opinion because it is also the default in Openhabian.
@matt1 I just found this thread. Openhab 2.4 should now should be able to run with 64 bit Java because the serial library was updated. I just did a quick test with the ZigBee binding and this seems to work. Could you please add an option to you script for a 64 bit installation? Also please do not forget to add the curl package and update the Zulu package to the latest version.
Thanks for the hint, I didn’t see this comment. I already tried running Openhab in 64 bit mode, but I didn’t notice that the system is any slower yet. Maybe this is a problem that only exists on the Pine64. But I can only say for sure as soon as I the Rock Pi 4 as my main Openhab controller. At the moment I only do some tests with it.