Hello,
Before I begin- I know this sounds crazy, but I'm looking to do this as a proof-of-concept more than a legitimate thing, as I'm aware of the probably performance implications this is going to have.
Anyways, I'm looking to get Java installed ontop of OpenWrt in an attempt to then run the Java Minecraft Server on that, and then attempt to connect clients on the LAN to that server - even if they're able to connect and barely able to do anything I would consider that a success as I'm not expecting great performance and also come down to the device it's running on.
I went down the rabbit hole a little bit already, searching Google as well as the OpenWrt forums and came across these topics already:
- https://forum.turris.cz/t/minecraft-server/3369
- https://forum.archive.openwrt.org/viewtopic.php?id=53689
- https://forum.archive.openwrt.org/viewtopic.php?id=54849
- How to add jamVM
From here, I became aware of the "jamvm" package, and I attempted to kickoff the ol' opkg update && opkg install jamvm
to get going and see what happens. I was greeted by this error message:
Installing jamvm (2.0.0-2) to root...
Downloading http://downloads.openwrt.org/snapshots/packages/x86_64/packages/jamvm_2.0.0-2_x86_64.ipk
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for jamvm:
* classpath *
* opkg_install_cmd: Cannot install package jamvm.
root@OpenWrt:~#
I should also make it known that I have two different architectures I'm hoping to achieve this on. First off, I have an OpenWrt VM running in VirtualBox that is x86_64, and second I have a Linksys WRT32X which I believe is mvebu/cortexa9 if I've got that right, which after I get everything working in VirtualBox I would attempt to replicate on my device, but I'm aware that packages/etc will need to match architecture, meaning there be extra work here.
Back to the topic though, it wasn't clear to me at first but it seems that classpath
is actually a package or rather set of libraries that are listed as a dependency for jamvm
to work, after I did some Googling on the error and figuring out what classpath actually is.
Dependencies: libc, zlib, libpthread, librt, classpath
Now from here, I did some research on the error as well as manually try to install classpath using opkg (which obviously didn't work) and upon my research here, I found a couple of other posts on the OpenWrt forums where some users came across the similar error, but unfortunately didn't get much of a response or resolution at least as far as I was able to glean from it.
- Classpath package is missing
- Davidc502- wrt1200ac wrt1900acx wrt3200acm wrt32x builds - #138 by kimonm
So it seemed that some suggestions were to attempt compiling this package yourself, and unfortunately this is about where my technical prowess stops, and where the tracks and tips provided by users stop. One last thing I did attempt to do, is see if I could find some precompiled IPKs, even if older versions, and attempt to install those on my architecture and pray they work. I found some old IPK archives here:
- https://archive.openwrt.org/chaos_calmer/15.05/x86/64/packages/packages/
- https://openwrt.freifunkz.de/chaos_calmer/15.05.1/x86/64/packages/packages/
- http://webcache.googleusercontent.com/search?q=cache:wBwTIhcQQacJ:ipkg.nslu2-linux.org/optware-ng//buildroot-x86_64/+&cd=1&hl=en&ct=clnk&gl=us&client=firefox-b-1-ab
Now to be clear again, I'm running on 18.06.1 on both my VM and Linksys WRT32X and I'd like to aim for that as my target version (or whatever the current snapshot is at this time).
I attempted to get one of these older IPKs installed, thought I had it but was greeted by the following error:
root@OpenWrt:/tmp# opkg install classpath_0.99-1_x86_64.ipk
Installing classpath (0.99-1) to root...
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for classpath:
* kernel (= 4.14.90-1-17b3c8e6b12d6d6705e1bef6a15f2223) *
* opkg_install_cmd: Cannot install package classpath.
It seems to want a specific version of the kernel in order to run properly if I'm reading that correctly. I'm assuming the kernel of the version isn't compatible with this older classpath IPK I've found. Additionally the third link I posted which is a mirror was down and unfortunately I wasn't able to test that version, although I'm not very hopeful.
So this is where I'm currently at - if anyone could provide me some assistance or guidance on how to continue down this rabbit hole I would appreciate it! I'm thinking that I may need some help with getting classpath compiled as a package for these two architectures in order to proceed forward. Maybe I've taken a wrong turn somewhere, anywho- I would greatly appreciate any help.
Thank you!