How can I confirm what runs on what?

I can do all that later on. Right now, I've been trying to find the image generator for the AR150 for 15.05.1 and have yet to find it.

I guess it is here.
https://archive.openwrt.org/snapshots/trunk/ar71xx/generic/
BUT, I'm looking for 15.05.1 which i thought might be here
https://archive.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/
BUT, not seeing anything for the ar150 specifically.

The funny thing is that it comes from the factory running 15.05 but cannot find it anywhere, not even on the gl.inet site, so far.

GL.iNet also supply a "clean" CC 15.05 image with LuCi at:
http://www.gl-inet.com/firmware/ar150/clean/

Yes but I like to roll my own and get rid of everything I don't need.
Finally, found it!

http://download.gl-inet.com.s3-website.us-east-2.amazonaws.com/openwrt/ar71xx

Only problem is, no idea what their versions mean compared to openwrt. What's 15.05.1? Guess I'll have to contact them.

http://archive.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/OpenWrt-ImageBuilder-15.05.1-ar71xx-generic.Linux-x86_64.tar.bz2

You have seen this needs a Java VM? Sounds a bit impossible for a low cost router device...

Doesn´t see that zoneminder used the mentioned java software... Where have you read that?
I see only c++, js, html and other stuff but no java...

Yes.

Depends on the device.

On the link I sent you. Also in the ZM documentation:

Users of Cambozola
Zoneminder: http://www.zoneminder.com/

The portions of code come from there, zmc and zma.

EDIT: and zms

15.05 ar71xx binaries are linked against uClibc while LEDE 17 is based on musl libc.

The simplest solution to get these old binaries to work on LEDE 17 is to setup a chroot of some sort where you place the appropriate system libraries (mainly uclibc's ld.so and the libc library itself), plus whatever relevant libraries might be needed.

15.05 ELF executables are hardcoded to look for /lib/ld-uClibc.so.0 - if that file is not present, you'll see the usual Not found or No such file or directory errors when attempting to invoke them.

To get a minimal uClibc runtime, create yourself a prefix directory, e.g. /tmp/uclibc, unzip the libc package manually and put a symlink from /lib/ld-uClibc.so.0 to the unpacked uclibc. Finally invoke the target executable with a modified LD_LIBRARY_PATH:

mkdir /tmp/uclibc
wget -O- http://archive.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/libc_0.9.33.2-1_ar71xx.ipk | tar -xzO ./data.tar.gz | tar -C /tmp/uclibc/ -xz
ln -s /tmp/uclibc/lib/ld-uClibc-0.9.33.2.so /lib/ld-uClibc.so.0
export LD_LIBRARY_PATH=/tmp/uclibc/lib
./path/to/old/15.05/executable

If your old binaries depend on any additional libraries, you need to fetch the corresponding packages from http://archive.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/ as well, unpack them manually and place the *.so files into /tmp/uclibc/lib/ too.

4 Likes

Sorry for being gone all this time. I looked at the replies at that is probably over my head but I'll give it a try at some point since you look the time to share that Jow.

For now, we decided not to bother with the old package at this time since it is causing all of these problems.

Thank you for the help everyone.