Kasper
2013-03-12 19:23:51 UTC
Hello,
I just wanted to share my success in making Freenet run on my NAS,
which is ARM architecture using Oracles Embedded Java 7. It required
me to manually replace the wrapper with the latest version 3.5.17
binary (as ARM support was only introduced in 3.5.16 forward), but
this worked fine with the old freenet-ext.jar file. Then I changed
the wrapper.conf file to use SOCKET instead of PIPE, and that was all
it took to make it work - albeit very slowly. I then started work on
compiling libNativeThread & libjbigi for arm as well, and substituting
them in freenet-ext.jar (ugly hack, but I didn't wish to deal with
compiling all of freenet-ext.jar, as well as make it recognize my
processor, etc.), and this worked fine. On restart it used both libs
and ran noticably faster (despite only having a 2GHz Marvell ARM cpu
and 512Mb RAM).
Only real problem I have now is that libjcpuid apparently only exists
for x86 and I can't find the sources to try and compile it for ARM
myself (if even possible). I do not know if that's the reason it uses
too much CPU - between 90-100% at all times.
But I managed to get it working on this alternative architecture,
despite being rather new to both Linux and ARM, although with basic
understanding of programming and compiling. It would not take much to
make such support out of the box, as seen by my experiences, although
of course optimizing could be another matter. But I guess getting
freenet-ext.jar carved up in smaller parts would be a big help both
for tweaking, and official support. But I definitely see an advantage
in being available for ARM devices for a program that should ideally
run 24/7. If I could get lower CPU usage it would run 24/7 at my place
now. Any advise on configurations to tweak to try and lower it or
insights regarding whether I'm correct in suspecting the lack of
libjcpuid is why it's running full throttle all the time?
Regards
/Kasper
I just wanted to share my success in making Freenet run on my NAS,
which is ARM architecture using Oracles Embedded Java 7. It required
me to manually replace the wrapper with the latest version 3.5.17
binary (as ARM support was only introduced in 3.5.16 forward), but
this worked fine with the old freenet-ext.jar file. Then I changed
the wrapper.conf file to use SOCKET instead of PIPE, and that was all
it took to make it work - albeit very slowly. I then started work on
compiling libNativeThread & libjbigi for arm as well, and substituting
them in freenet-ext.jar (ugly hack, but I didn't wish to deal with
compiling all of freenet-ext.jar, as well as make it recognize my
processor, etc.), and this worked fine. On restart it used both libs
and ran noticably faster (despite only having a 2GHz Marvell ARM cpu
and 512Mb RAM).
Only real problem I have now is that libjcpuid apparently only exists
for x86 and I can't find the sources to try and compile it for ARM
myself (if even possible). I do not know if that's the reason it uses
too much CPU - between 90-100% at all times.
But I managed to get it working on this alternative architecture,
despite being rather new to both Linux and ARM, although with basic
understanding of programming and compiling. It would not take much to
make such support out of the box, as seen by my experiences, although
of course optimizing could be another matter. But I guess getting
freenet-ext.jar carved up in smaller parts would be a big help both
for tweaking, and official support. But I definitely see an advantage
in being available for ARM devices for a program that should ideally
run 24/7. If I could get lower CPU usage it would run 24/7 at my place
now. Any advise on configurations to tweak to try and lower it or
insights regarding whether I'm correct in suspecting the lack of
libjcpuid is why it's running full throttle all the time?
Regards
/Kasper