There is a lot of good Java software, but it’s difficult to get Java running on a NAS. I decided to do something about that, mainly to pave the way for a Serviio package that didn’t require a huge guide to install. In compliance with the Oracle EULA the Java binaries cannot be redistributed, so this package looks for the downloaded .tar.gz archive in the public shared folder on the NAS. The end user is required to register with Oracle to get the file, as you can see from the description below. I also added locale support to the underlying Linux since Java requires this for UTF-8 support when reading from the filesystem (DSM 4.3 later included this). Timezone support is also configured.
This package installs Java SE Embedded which is purposefully designed to run on low specification headless hardware. It should be noted that Synology Java Manager (only available on Intel products) is the full Java Runtime Environment, and consequently uses more RAM. By default you should use Java 8, unless the application you want to run specifically requires Java 7.
Please note that Oracle ceased maintaining Java 6 in 2012, so it should be considered a serious security vulnerability. The Java 6 package has been withdrawn from the package repository for this reason. If you need it to run a particular piece of software you may download it here for manual installation. Please also note that Oracle retired support for PowerPC CPUs following Java 8 Update 6, so the PowerPC package remains at that version.
Instructions
- In Synology DSM’s Package Center, click Settings and add my package repository:
- The repository will push its certificate automatically to the NAS, which is used to validate package integrity. Set the Trust Level to Synology Inc. and trusted publishers:
- Now browse the Community section in Package Center to install a Java SE Embedded package:
The repository only displays packages which are compatible with your specific model of NAS. If you don’t see Java Embedded in the list, then either your NAS model or your DSM version are not supported at this time. - If you have a multi-bay NAS, use the Shared Folder control panel to create a shared folder called public (it must be all lower case). On single bay models this is created by default. Assign it with Read/Write privileges for everyone.
- Register with Oracle and download the appropriate version of Java SE Embedded for your CPU architecture and save in the public shared folder on your NAS. Note that to get any version of Java older than the current one you will need to follow the Oracle Java SE Embedded Downloads Archive link on that page. If in doubt, attempt to install the package first, and the error message will tell you which specific download version is required.
- If you have trouble getting the Java archive recognised, try downloading it with a different web browser. Some browsers try to help by uncompressing the file, or renaming it without warning. I have tried to code around most of these behaviours. Use Firefox if all else fails.
Package scripts
For information, here are the package scripts so you can see what it’s going to do. You can get more information about how packages work by reading the Synology 3rd Party Developer Guide.
installer.sh
#!/bin/sh #--------JAVA installer script #--------package maintained at pcloadletter.co.uk COMMENT="# Synology Java Package" SYNO_CPU_ARCH="`uname -m`" [ "`echo ${SYNO_CPU_ARCH} | cut -c1-7`" == "armv5te" ] && SYNO_CPU_ARCH="armv5tel" #--------Synology switched Armada 370 systems from SoftFP to HardFP EABI for DSM 6.0 [ "${SYNOPKG_DSM_ARCH}" == "armada370" ] && [ ${SYNOPKG_DSM_VERSION_MAJOR} -gt 5 ] && SYNO_CPU_ARCH="armv7l-hflt" [ "${SYNOPKG_DSM_ARCH}" == "armada375" ] && SYNO_CPU_ARCH="armv7l-hflt" [ "${SYNOPKG_DSM_ARCH}" == "armada38x" ] && SYNO_CPU_ARCH="armv7l-hflt" [ "${SYNOPKG_DSM_ARCH}" == "comcerto2k" ] && SYNO_CPU_ARCH="armv7l-hflt" [ "${SYNOPKG_DSM_ARCH}" == "alpine" ] && SYNO_CPU_ARCH="armv7l-hflt" [ "${SYNOPKG_DSM_ARCH}" == "alpine4k" ] && SYNO_CPU_ARCH="armv7l-hflt" [ "${SYNOPKG_DSM_ARCH}" == "monaco" ] && SYNO_CPU_ARCH="armv7l-hflt" [ "${SYNOPKG_DSM_ARCH}" == "x86_64" ] && [ "${WIZARD_JRE_EE}" == "true" ] && SYNO_CPU_ARCH="i686" [ "${SYNOPKG_DSM_ARCH}" == "x86_64" ] && [ ${SYNOPKG_DSM_VERSION_MAJOR} -lt 6 ] && SYNO_CPU_ARCH="i686" if [ "${SYNOPKG_PKGNAME}" == "java6" ]; then DOWNLOAD_URL="http://tinyurl.com/javaembedarchive" EXTRACTED_FOLDER="ejre1.6.0_38" JCE_BINARY="jce_policy-6.zip" JCE_URL="http://tinyurl.com/java-jce6" JCE_FOLDER="jce" if [ "`echo ${SYNO_CPU_ARCH} | cut -c1-7`" == "armv5te" ]; then JAVA_BINARY="ejre-1_6_0_38-fcs-b05-linux-arm-sflt-eabi-headless-13_nov_2012.tar.gz" JAVA_BUILD="ARMv5 Linux - Headless EABI" elif [ "${SYNO_CPU_ARCH}" == "armv7l" ]; then JAVA_BINARY="ejre-1_6_0_38-fcs-b05-linux-arm-vfp-eabi-headless-13_nov_2012.tar.gz" JAVA_BUILD="ARMv6/7 Linux - Headless EABI, VFP, SoftFP ABI, Little Endian" elif [ "${SYNO_CPU_ARCH}" == "i686" ]; then JAVA_BINARY="ejre-1_6_0_38-fcs-b05-linux-i586-headless-13_nov_2012.tar.gz" JAVA_BUILD="x86 Linux Small Footprint - Headless" elif [ "${SYNO_CPU_ARCH}" == "x86_64" ]; then JAVA_BINARY="ejre-1_6_0_38-fcs-b05-linux-i586-headless-13_nov_2012.tar.gz" JAVA_BUILD="x86 Linux Small Footprint - Headless" elif [ "${SYNO_CPU_ARCH}" == "ppc" ]; then JAVA_BINARY="ejre-1_6_0_38-fcs-b05-linux-ppc-e500v2-headless-13_nov_2012.tar.gz" JAVA_BUILD="Power Architecture Linux - Headless - e500v2 core" fi elif [ "${SYNOPKG_PKGNAME}" == "java7" ]; then DOWNLOAD_URL="http://tinyurl.com/javaembed" EXTRACTED_FOLDER="ejre1.7.0_75" JCE_BINARY="UnlimitedJCEPolicyJDK7.zip" JCE_URL="http://tinyurl.com/java-jce7" JCE_FOLDER="UnlimitedJCEPolicy" if [ "${SYNO_CPU_ARCH}" == "armv5tel" ]; then JAVA_BINARY="ejre-7u75-fcs-b13-linux-arm-sflt-headless-18_dec_2014.tar.gz" JAVA_BUILD="ARMv5 Linux - Headless EABI, SoftFP ABI, Little Endian" elif [ "${SYNO_CPU_ARCH}" == "armv7l" ]; then JAVA_BINARY="ejre-7u75-fcs-b13-linux-arm-vfp-sflt-client_headless-18_dec_2014.tar.gz" JAVA_BUILD="ARMv6/7 Linux - Headless - Client Compiler EABI, VFP, SoftFP ABI, Little Endian" elif [ "${SYNO_CPU_ARCH}" == "armv7l-hflt" ]; then JAVA_BINARY="ejre-7u75-fcs-b13-linux-arm-vfp-hflt-client_headless-18_dec_2014.tar.gz" JAVA_BUILD="ARMv6/7 Linux - Headless - Client Compiler EABI, VFP, HardFP ABI, Little Endian" elif [ "${SYNO_CPU_ARCH}" == "i686" ]; then JAVA_BINARY="ejre-7u75-fcs-b13-linux-i586-headless-18_dec_2014.tar.gz" JAVA_BUILD="x86 Linux Small Footprint - Headless" elif [ "${SYNO_CPU_ARCH}" == "x86_64" ]; then JAVA_BINARY="ejre-7u75-fcs-b13-linux-i586-headless-18_dec_2014.tar.gz" JAVA_BUILD="x86 Linux Small Footprint - Headless" elif [ "${SYNO_CPU_ARCH}" == "ppc" ]; then JAVA_BINARY="ejre-7u75-fcs-b13-linux-ppc-e500v2-headless-18_dec_2014.tar.gz" JAVA_BUILD="Power Architecture Linux - Headless - e500v2 with double-precision SPE Floating Point Unit" fi elif [ "${SYNOPKG_PKGNAME}" == "java8" ]; then DOWNLOAD_URL="http://tinyurl.com/javaembed" EXTRACTED_FOLDER="ejdk1.8.0_211" JCE_BINARY="jce_policy-8.zip" JCE_URL="http://tinyurl.com/java-jce8" JCE_FOLDER="UnlimitedJCEPolicyJDK8" if [ "${SYNO_CPU_ARCH}" == "armv5tel" ]; then JAVA_BINARY="ejdk-8u211-linux-arm-sflt.tar.gz" JAVA_BUILD="ARMv5/ARMv6/ARMv7 Linux - SoftFP ABI, Little Endian 2" elif [ "${SYNO_CPU_ARCH}" == "armv7l" ]; then JAVA_BINARY="ejdk-8u211-linux-arm-sflt.tar.gz" JAVA_BUILD="ARMv5/ARMv6/ARMv7 Linux - SoftFP ABI, Little Endian 2" elif [ "${SYNO_CPU_ARCH}" == "armv7l-hflt" ]; then JAVA_BINARY="ejdk-8u211-linux-armv6-vfp-hflt.tar.gz" JAVA_BUILD="ARMv6/ARMv7 Linux - VFP, HardFP ABI, Little Endian 1" elif [ "${SYNO_CPU_ARCH}" == "aarch64" ]; then JAVA_BINARY="jdk-8u211-linux-arm64-vfp-hflt.tar.gz" JAVA_BUILD="Linux ARM 64 Hard Float ABI" DOWNLOAD_URL="http://tinyurl.com/java8arm64" EXTRACTED_FOLDER="jdk1.8.0_211" elif [ "${SYNO_CPU_ARCH}" == "i686" ]; then JAVA_BINARY="ejdk-8u211-linux-i586.tar.gz" JAVA_BUILD="x86 Linux Small Footprint - Headless" elif [ "${SYNO_CPU_ARCH}" == "x86_64" ]; then JAVA_BINARY="jre-8u211-linux-x64.tar.gz" JAVA_BUILD="Linux x64" EXTRACTED_FOLDER="jre1.8.0_211" DOWNLOAD_URL="http://tinyurl.com/java8x64" elif [ "${SYNO_CPU_ARCH}" == "ppc" ]; then #Oracle have discontinued Java 8 for PowerPC after update 6 JAVA_BINARY="ejdk-8u6-fcs-b23-linux-ppc-e500v2-12_jun_2014.tar.gz" JAVA_BUILD="Power Architecture Linux - Headless - e500v2 with double-precision SPE Floating Point Unit" EXTRACTED_FOLDER="ejdk1.8.0_06" fi fi JAVA_BINARY=`echo ${JAVA_BINARY} | cut -f1 -d'.'` PUBLIC_FOLDER="`synoshare --get public | sed -r "/Path/!d;s/^.*\[(.*)\].*$/\1/"`" TEMP_FOLDER="`find / -maxdepth 2 -path '/volume?/@tmp' | head -n 1`" NATIVE_BINS_URL="http://packages.pcloadletter.co.uk/downloads/java-native-${SYNO_CPU_ARCH}.tar.xz" NATIVE_BINS_FILE="`echo ${NATIVE_BINS_URL} | sed -r "s%^.*/(.*)%\1%"`" #DSM versions older than 4.3 need locale support adding, don't download unless needed [ ! -e /usr/bin/locale ] && INSTALL_FILES="${NATIVE_BINS_URL}" source /etc/profile preinst () { synoshare -get public > /dev/null || ( echo "A shared folder called 'public' could not be found - note this name is case-sensitive. " >> $SYNOPKG_TEMP_LOGFILE echo "Please create this using the Shared Folder DSM Control Panel and try again." >> $SYNOPKG_TEMP_LOGFILE exit 1 ) JAVA_BINARY_FOUND= if [ -n "${JAVA_HOME}" ]; then echo "It seems from /etc/profile that a Java Runtime is already installed at ${JAVA_HOME}. Uninstall it and try again." >> $SYNOPKG_TEMP_LOGFILE exit 1 fi [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.gz ] && JAVA_BINARY_FOUND=true [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar ] && JAVA_BINARY_FOUND=true [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.tar ] && JAVA_BINARY_FOUND=true [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.gz ] && JAVA_BINARY_FOUND=true if [ -z ${JAVA_BINARY_FOUND} ]; then echo "Java binary bundle not found. " >> $SYNOPKG_TEMP_LOGFILE echo "I was expecting the file ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.gz. " >> $SYNOPKG_TEMP_LOGFILE echo "Please agree to the Oracle licence at ${DOWNLOAD_URL}, then download the '${JAVA_BUILD}' package" >> $SYNOPKG_TEMP_LOGFILE echo "and place it in the 'public' shared folder on your NAS. This download cannot be automated even if " >> $SYNOPKG_TEMP_LOGFILE echo "displaying a package EULA could potentially cover the legal aspect, because files hosted on Oracle's " >> $SYNOPKG_TEMP_LOGFILE echo "server are protected by a session cookie requiring a JavaScript enabled browser." >> $SYNOPKG_TEMP_LOGFILE exit 1 fi if [ "${WIZARD_JCE_UL}" == "true" ]; then if [ ! -f ${PUBLIC_FOLDER}/${JCE_BINARY} ]; then echo "JCE Unlimited Strength binary bundle not found. " >> $SYNOPKG_TEMP_LOGFILE echo "I was expecting the file ${PUBLIC_FOLDER}/${JCE_BINARY} " >> $SYNOPKG_TEMP_LOGFILE echo "Please agree to the Oracle licence at ${JCE_URL}, then download the Unlimited Strength Jurisdiction Policy Files zip file " >> $SYNOPKG_TEMP_LOGFILE echo "and place it in the 'public' shared folder on your NAS. " >> $SYNOPKG_TEMP_LOGFILE exit 1 fi fi cd ${TEMP_FOLDER} for WGET_URL in ${INSTALL_FILES} do WGET_FILENAME="`echo ${WGET_URL} | sed -r "s%^.*/(.*)%\1%"`" [ -f ${TEMP_FOLDER}/${WGET_FILENAME} ] && rm ${TEMP_FOLDER}/${WGET_FILENAME} wget ${WGET_URL} if [[ $? != 0 ]]; then if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/${WGET_FILENAME} ]; then cp ${PUBLIC_FOLDER}/${WGET_FILENAME} ${TEMP_FOLDER} else echo "There was a problem downloading ${WGET_FILENAME} from the official download link, " >> $SYNOPKG_TEMP_LOGFILE echo "which was \"${WGET_URL}\" " >> $SYNOPKG_TEMP_LOGFILE echo "Alternatively, you may download this file manually and place it in the 'public' shared folder. " >> $SYNOPKG_TEMP_LOGFILE exit 1 fi fi done exit 0 } postinst () { WORKING_DIR=`pwd` #ldd tool is very useful but not included in DSM if [ ! -e /usr/local/bin/ldd ]; then mkdir -p /usr/local/bin cp ${SYNOPKG_PKGDEST}/tools/ldd-${SYNO_CPU_ARCH} /usr/local/bin/ldd fi #extract native binaries if needed if [ -e ${TEMP_FOLDER}/${NATIVE_BINS_FILE} ]; then cd ${SYNOPKG_PKGDEST} #older DSM tar uses different command line switch for xz archives tar xJf ${TEMP_FOLDER}/${NATIVE_BINS_FILE} || tar xaf ${TEMP_FOLDER}/${NATIVE_BINS_FILE} rm ${TEMP_FOLDER}/${NATIVE_BINS_FILE} fi #extract Java (Web browsers love to interfere with .tar.gz files) cd ${PUBLIC_FOLDER} if [ -f ${JAVA_BINARY}.tar.gz ]; then #Firefox seems to be the only browser that leaves it alone tar xzf ${JAVA_BINARY}.tar.gz elif [ -f ${JAVA_BINARY}.gz ]; then #Chrome tar xzf ${JAVA_BINARY}.gz elif [ -f ${JAVA_BINARY}.tar ]; then #Safari tar xf ${JAVA_BINARY}.tar elif [ -f ${JAVA_BINARY}.tar.tar ]; then #Internet Explorer tar xzf ${JAVA_BINARY}.tar.tar fi #install Java if [ "${EXTRACTED_FOLDER}" != "${EXTRACTED_FOLDER/jdk/}" ]; then mv ${EXTRACTED_FOLDER} ${SYNOPKG_PKGDEST} JRE_PATH="`find ${SYNOPKG_PKGDEST}/${EXTRACTED_FOLDER} -name jre`" else mv ${EXTRACTED_FOLDER} ${SYNOPKG_PKGDEST}/jre JRE_PATH="${SYNOPKG_PKGDEST}/jre" fi #install unlimited crypto policy files if requested if [ "${WIZARD_JCE_UL}" == "true" ]; then if [ -e /usr/bin/7z ]; then 7z x ${JCE_BINARY} > /dev/null 2>&1 else unzip ${JCE_BINARY} fi mv ${JCE_FOLDER}/* ${JRE_PATH}/lib/security rmdir ${JCE_FOLDER} fi #change owner of folder tree chown -R root:root ${SYNOPKG_PKGDEST} echo "NOTE - This package does *not* start and stop like other packages. " >> $SYNOPKG_TEMP_LOGFILE echo "Java is correctly installed if you can see the runtime and HotSpot version numbers, " >> $SYNOPKG_TEMP_LOGFILE echo "and locale information in the package Log tab." >> $SYNOPKG_TEMP_LOGFILE exit 0 } preuninst () { exit 0 } postuninst () { #clean up profile mods sed -i "/${COMMENT}/d" /etc/profile sed -i "/${COMMENT}/d" /root/.profile #leave locale support in place on older DSM versions - too risky to delete system binaries exit 0 }
start-stop-status.sh
#!/bin/sh JRE_PATH="`find /var/packages/${SYNOPKG_PKGNAME}/target/ -name jre`" COMMENT="# Synology Java Package" #set the current timezone for Java so that log timestamps are accurate, modern timezone names so DST works SYNO_TZ=`cat /etc/synoinfo.conf | grep timezone | cut -f2 -d'"'` #fix for DST time in DSM 5.2 thanks to MinimServer Syno package author [ -e /usr/share/zoneinfo/Timezone/synotztable.json ] \ && SYNO_TZ=`jq ".${SYNO_TZ} | .nameInTZDB" /usr/share/zoneinfo/Timezone/synotztable.json | sed -e "s/\"//g"` \ || SYNO_TZ=`grep "^${SYNO_TZ}" /usr/share/zoneinfo/Timezone/tzname | sed -e "s/^.*= //"` EnvCheck () #updates to DSM will reset these changes so check them each startup { #/etc/profile should contain 5 lines added by this package tagged with trailing comments COUNT=`grep -c "$COMMENT$" /etc/profile` if [ $COUNT != 5 ]; then #remove any existing mods sed -i "/${COMMENT}/d" /etc/profile #add required environment variables echo "PATH=\$PATH:${JRE_PATH}/bin ${COMMENT}" >> /etc/profile echo "JAVA_HOME=${JRE_PATH} ${COMMENT}" >> /etc/profile echo "CLASSPATH=.:${JRE_PATH}/lib ${COMMENT}" >> /etc/profile echo "LANG=en_US.utf8 ${COMMENT}" >> /etc/profile echo "export CLASSPATH JAVA_HOME LANG PATH ${COMMENT}" >> /etc/profile fi #/root/.profile should contain 3 lines added by this package tagged with trailing comments COUNT=`grep -c "$COMMENT$" /root/.profile` if [ $COUNT != 3 ]; then #remove any existing mods sed -i "/${COMMENT}/d" /root/.profile #add required environment variables echo "PATH=\$PATH:${JRE_PATH}/bin ${COMMENT}" >> /root/.profile echo "TZ='${SYNO_TZ}' ${COMMENT}" >> /root/.profile echo "export PATH TZ ${COMMENT}" >> /root/.profile fi #timezone needs setting each startup in case system value has changed sed -i "s%^TZ=.* ${COMMENT}%TZ='${SYNO_TZ}' ${COMMENT}%" /root/.profile #DSM versions older than 4.3 need locale support adding if [ ! -e /usr/bin/locale ]; then #build missing locale with UTF-8 support (don't think it matters which language) cp ${SYNOPKG_PKGDEST}/bin/* /usr/bin cp -R ${SYNOPKG_PKGDEST}/share/i18n /usr/share if [ ! -d /usr/lib/locale ]; then mkdir /usr/lib/locale fi localedef -c -f UTF-8 -i en_US en_US.utf8 fi #DSM versions up to 5.1 are missing the zoneinfo timezone definitions which causes inaccurate log timestamps #thanks to CoolRaoul here: http://forum.synology.com/enu/viewtopic.php?f=19&t=69232#p310553 #to revert, just remove everything apart from 'Timezone' 'zone.tab' from /usr/share/zoneinfo if [ ! -e /usr/share/zoneinfo/Europe/London ]; then cp -R ${SYNOPKG_PKGDEST}/zoneinfo/* /usr/share/zoneinfo/ fi } case $1 in start) EnvCheck source /etc/profile source /root/.profile #evidence of whether Java can start successfully is written to the package log java -version > ${SYNOPKG_PKGDEST}/output.log 2>&1 echo >> ${SYNOPKG_PKGDEST}/output.log echo System installed locales: >> ${SYNOPKG_PKGDEST}/output.log locale -a >> ${SYNOPKG_PKGDEST}/output.log echo >> ${SYNOPKG_PKGDEST}/output.log echo JAVA_HOME=$JAVA_HOME >> ${SYNOPKG_PKGDEST}/output.log echo TZ=$TZ >> ${SYNOPKG_PKGDEST}/output.log exit 0 ;; stop) exit 0 ;; status) source /etc/profile source /root/.profile if [ -e "${JAVA_HOME}/bin/java" ]; then exit 0 else exit 1 fi ;; log) echo "${SYNOPKG_PKGDEST}/output.log" exit 0 ;; esac
install_uifile
[ { "step_title": "Java Runtime Environment Selection", "items": [ { "type": "singleselect", "desc": "Please select the Java version to install:", "subitems": [ { "key": "WIZARD_JRE_EE", "desc": "Java SE Embedded 8 (smaller memory footprint, 32bit)", "defaultValue": true }, { "key": "WIZARD_JRE_SE", "desc": "Java SE 8 (64bit)", "defaultValue": false } ] } ] }, { "step_title": "Java Cryptography Strength Selection", "items": [ { "type": "singleselect", "desc": "Please select Java Cryptographic Extension policy:", "subitems": [ { "key": "WIZARD_JCE_STD", "desc": "Default Strong JCE policy - limited to AES-128 encryption", "defaultValue": true }, { "key": "WIZARD_JCE_UL", "desc": "Unlimited Strength JCE policy - not permitted in some jurisdictions, see Oracle documentation", "defaultValue": false } ] } ] } ]
Changelog:
- 0050 17/Apr/19 – Updated to Java 8u211, added support for DS119j
- 0049 11/Apr/19 – Updated to Java 8u201, fixed issue where x86_64 CPUs would ignore user selection and always install 64bit Java SE
- 0048 22/Aug/18 – Updated to Java 8u181, added option to select 64bit full Java SE for x86_64 CPUs
- 0047 14/May/18 – Updated to Java 8u171
- 0046 20/Feb/18 – Updated to Java 8u161, experimental aarch64 support
- 0045 30/Oct/17 – Updated to Java 8u151, added support for new CPUs in x17 and x18 models
- 0044 02/Aug/17 – Updated to Java 8u144
- 0043 21/Jan/17 – Updated to Java 8u121
- 0042 07/Jan/17 – Updated to Java 8u111, fixed Armada 370/XP systems running DSM 6.0 which had switched from soft to hard float ABI
- 0041 25/Jul/16 – Added support for unlimited strength cryptography (default is strong)
- 0040 20/Jul/16 – Updated to Java 8u101
- 0039 26/Apr/16 – Updated to Java 8u91
- 0038 24/Mar/16 – Updated to Java 8u77
- 0037 07/Feb/16 – Updated to Java 8u73
- 0036 26/Jan/16 – Updated to Java 8u71
- 0035 14/Dec/15 – Updated to Java 8u65, added support for models DS716+ and DS216play
- 0034 19/Aug/15 – Fixed timezone DST issue with DSM 5.2, added support for DS215+
- 0033 07/Aug/15 – Updated to Java 8u51, PowerPC build remains at 8u6
- 0032 13/Jul/15 – Fixed timezone issue with DSM 5.2, updated main blog post documentation
- 0031 25/Jan/15 – Fixed issue with version 0030 for systems with more than one volume
- 0030 21/Jan/15 – Improved temp folder detection, updated to Java 7u75 and Java 8u33 (Oracle did not publish a version for PowerPC)
- 0029 25/Dec/14 – DSM timezone zone.tab file is no longer overwritten, which had been prompting a malware alert in DSM 5.1 Security Advisor
- 0028 20/Oct/14 – Updated to Java 7u71, added missing zoneinfo timezone definitions to fix inaccurate timestamps for non-GMT timezones (checked every startup), switched native binary archives from .tgz to .tar.xz format to reduce size
- 0027 18/Oct/14 – Updated Java 8 to 8u6, added support for Mindspeed Comcerto 2000 CPU in DS414j for Java 7 and Java 8
- 0026 24/Jun/14 – DSM updates will no longer break Java
- 0025 31/May/14 – Updated to Java 7u60
- 0024 31/May/14 – Updated to Java 7u55
- 0023 27/May/14 – Added Java 8 support
- 0022 30/Jan/14 – Updated to Java 7u51
- 0021 15/Nov/13 – Locale support is no longer downloaded and added to DSM 4.3 or newer since it’s already present
- 0020 30/Oct/13 – Added support for Intel Atom Evansport and Armada XP CPUs in new DSx14 products, removed Early Access JDK 8 support since it did not run on the Armada SoCs
- 0019 17/Oct/13 – Updated to Java 7u45
- 0018 11/Oct/13 – Updated to Java 7u40, and JDK8 Early Access b106
- 0017 05/Jun/13 – For Armada370 CPU changed from ARMv7 Server JVM to Client JVM since the Server one turned out to be unstable. Added support for Early Access JDK 8 for Armada 370.
- 0016 21/May/13 – Added Armada370 CPU support (DS213j)
- 0015 18/Apr/13 – Updated to Java 7u21, Java 6 Embedded seems to be no longer maintained by Oracle
- 0014 13/Feb/13 – Fixed metadata for DSM 4.2 Package Center
- 013 13/Dec/12 – Updated to Java 6u38 and Java 7u10
- 012 10/Dec/12 – Installer script fetches native binaries separately to reduce bandwidth on repo hosting
- 011 Added support for Freescale QorIQ PowerPC CPUs used in some Synology x13 series products, PowerQUICC PowerPC processors in previous Synology generations with older glibc versions are not supported
- 010 updated to Java 6u34 and Java 7u6
- 009 corrected timezone bug for Atlantic and Pacific timezones which may have caused error messages when in fact the package had installed correctly
- 008 unified the build scripts
- 007 included the locale binaries to simplify installation, fixed environment variables for root user (inc. timezone with DST support), displayed Java version information and env vars in Log tab, incremented Java to latest versions 6u32 and 7u4, fixed detection of renamed .tar.gz archives downloaded by Google Chrome
- 006 fixed path issue for root user on non-bootstrapped systems, updated info link to refer back to this page, and improved description text
- 005 incremented JRE versions to match new releases from Oracle
- 004 forced check for existence of ‘public’ shared folder
- 003 fixed a stupid typo that stopped 002 from working :)
- 002 rewrote scripts to be easier to maintain, and to allow for web browsers that untar or rename the Java and toolchain binary bundles as they’re saved
- 001 23/Aug/11 – fixed package repo support, defined as a non-runnable service, prevented more than one JRE being installed, saved files into actual package folder rather than @appstore/java now that package names can be separate from Package Center display names
- v3 initial spk release (I think!)
I have a DS411J. Can i run your setuo?
If you add the repository URL to Package Center and you see my packages in the Community section, then yes!
I’ve problems with adding your repository URL to Package Center. Got the Error Message ‘Ungültiger Speicherort’ which means ‘incorrect location’. Any idea?
thx
I saw on the Serviio Twitter feed that the serviio.org webhost is having issues. I use the same host, so my repo may be down currently for some users.
Now it works. Sorry… need more patience!
thx
Hi. I’ve got a DS212j, is it possible to install Java 8 or 7 ? Or even 6. I’ve added http://packages.pcloadletter.co.uk in Package Center but I Don’t see any Java package available.
Yes – look in the community section, and make sure you click refresh.
Have added the package repository URL to my DS509+, but no packaged for java are available in the package center.
Hi, I need to install Java on my DS214+ for minimserver, I have no internet connection going into the router that my synology is connected too. Basically my internet log in is to a different SSID and I have to log in on a landing page which allows me online for 2 hours at a time. Normally with Synology you can just download the offline file and do a manual install, looks like the only way with Java is to redirect it to a URL, but obviously this doesn’t work in offline mode. Can anyone help?
Download the Java 7 spk file here: http://packages.pcloadletter.co.uk/downloads/java1.7.0_71-merged-0029.spk
Try to install this. It will fail with an error message telling you which specific Java file it needs you to download from Oracle.
On your other computer, use Firefox and go to http://tinyurl.com/javaembed agree to the licence conditions and download this file (you need to sign up for this).
Create a new shared folder on your NAS called public if it does not already exist (all lower case).
Place your downloaded java .tar.gz file in the public folder. Manually install the .spk file again and it will work.
Just wanted to update to version 77 … unfortuntaly the one on the website is 91 already – 77 seems to be gone? When I simply rename the file to the 77 version thd installer will run but Java will not start.
Thanks so much for your efforts … having my Synology backup with CrashPlan helps me sleep well at night.
plz help me
can’t install Serviio because
Java is not installed or not properly configured. The Java Binary could not be located.
Download and install the Java Synology package from http://wp.me.//pVshC-z5
I have installed Java 7 (1.8.0)
Hi
I followed all of the instructions, but Bubble doesn’t work at all.
When i open Bubble app, there is a blank page “page not found”.
I installed Java,6, 7 and 8 to try different version…
Thank you for your help
I have DSM 5 on a synology DS212
Stephane
I believe I have just added support for the DS414j (new CPU arch: Mindspeed Comcerto 2000) but I have done this without testing since I don’t have one. Can someone please report back here if you can install Java? I will also release Serviio for DS414j soon.
Both 7 & 8 install but don’t seem to be running properly.
Here is the log for v7 on a 414j:
Thanks!
Would it be possible to get remote access to your NAS for me to investigate the issue?
Anyone else having issues with downloading the JRE from Oracle? The latest version is downloading fine, but the second to last one (7u55) is not downloading.
Thanks for quick reply.
Cannot find 7u55 anymore on the Oracle site.
Tried to install 7u60 by renaming the file, no luck.
It says it`s running but cannot start Minecraft.
Do you know where to download 7u55 as i cannot find it.
Thanks in advance.
Look here MMD:
http://www.oracle.com/technetwork/java/embedded/downloads/javase/javaseembedded7u55-2209318.html
Thank you but found it already :)
Where can I download the version of java-ejre-7u55-fcs-b13-linux-arm-sflt-headless-17_mar_2014.tar.gz?
Oracle link does not work and is not downloadable from the official website and the 7u60 doesn’t work.
Thanks.
Which NAS do you have? I need to understand what doesn’t work.
DS112+
Capture image for 7u60
http://someimage.com/DYkqT6D
http://someimage.com/l8gCvTK
In SSH Java no found :(
Thanks.
I have the same CPU in my NAS (1.6GHz instead of 2.0GHz in yours). I just removed and reinstalled the package from the repo. It’s working fine so you maybe have some kind of bad download from Oracle. Delete your existing Java file from the public share. Now try to install the package without the .tar.gz file in public. It will fail, but it will tell you precisely which file you need to download from Oracle. Use Firefox to do this, just to be absolutely sure. It’s the only browser that doesn’t try to unpack or rename .tar.gz files. Then report back here please.
This?
http://download.oracle.com/otn/java/ejre/7u60-b19/ejre-7u60-fcs-b19-linux-arm-sflt-headless-07_may_2014.tar.gz
yes
I downloaded it using an ipad app and now if it works!
Thank you. ;-)
Great. What browser had you been using when it wasn’t working?
Safari iPad ;-)
Thanks.
I hope you learned a lesson. Safari Mobile is clearly a liability.
Apparently, there is a new version of the JRE7 available (07_may_2014 instead of 17_mar_2014). Could you update the package please? Furthermore, why are you using the soft-FP version for the DS214+/ArmadaXP instead of hard-FP?
Thanks for the great work!
I have updated the Java 7 package to support update 60. In testing with Armada 370 the HardFP ABI version didn’t work IIRC. I use the SoftFP ABI (application binary interface). It’s still using the hardware FPU, but the code is compiled in a way that doesn’t break backward compatibility with CPUs with no FPU. See here for an explanation: https://wiki.debian.org/ArmHardFloatPort#ARM_EABI
Please, can you confirm that 414j (Mindspeed Comcerto 2000) is supported too?
I would like to install Serviio.
Thanks.
I have published the Java package for this CPU but it’s not yet been confirmed working.
Jorge – can you get Java installed and does it correctly display the version information in the package Log in Package Center? If so I can add support for this model to the other packages like CrashPlan and Serviio. To do this I will need some additonal info from you.
Please can you post the result from running
cat /proc/cpuinfo
while connected to your NAS via SSH? Log in as the user root using the same password you defined for the admin account.Please also run
uname -a
and paste the result here. Thanks!I have the same problem on my DS414j – eventually got the java runtime to install, rebooted a couple of times but still no sign of CrashPlan! Here are the dumps you requested.
Not sure it is part of the same issue but Package Centre does not have an “Other Source” menu item or tab…
Regards
Michael
BusyBox v1.16.1 (2014-04-25 21:10:25 CST) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.
DS414j…> cat /proc/cpuinfo
Processor : ARMv7 Processor rev 1 (v7l)
processor : 0
BogoMIPS : 2387.14
processor : 1
BogoMIPS : 2393.70
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc09
CPU revision : 1
Hardware : Comcerto 2000 EVM
Revision : 0001
Serial : 0000000000000000
—
DS414j…> uname -a
Linux DS414j… 3.2.40 #4482 SMP Fri Apr 25 20:46:55 CST 2014 armv7l GNU/Linux synology_comcerto2k_ds414j
You mention in the notes the following:
The package downloads the CrashPlan installer directly from Code 42 Software, following acceptance of their EULA. I am complying with their wish that no one redistributes it.
CrashPlan is installed in headless mode – backup engine only. This is configured by a desktop client, but operates independently of it.
Per my post i cannot finf crashplan on the DS414j at all.
I have followed the steps and have a correctly installed Java runtime but no crashplan…
Michael
Can you confirm the Java package Log shows the version number and HotSpot VM version? Once that’s confirmed I can add support for DS414j to the CrashPlan package.
Java runtime environment: I confirm Version 1.7.0_60-0025 installed on volume 1
Unfortunately HotSpot VM has got me stumped! Where do i find that?
Michael
putty ssh
login as admin
/volume1/homes/admin $ java -version
sh: java: not found
= total frustration
i have tried umpteen different options to try and return the version even pathing to the install folder
no luck
Hi. I’m a newbie but I’ll try to do it. I’m following the instructions one by one. Which Java SE for Embedded 7 version should I download from Oracle for my 414j?:
ARMv6/7 Linux – Headless – Client Compiler EABI, VFP, HardFP ABI, Little Endian1
ARMv6/7 Linux – Headful EABI, VFP, HardFP ABI, Little Endian1
ARMv7 Linux – Headless – Server Compiler EABI, VFP, HardFP ABI, Little Endian1
ARMv6/7 Linux – Headless – Client Compiler EABI, VFP, SoftFP ABI, Little Endian2
ARMv6/7 Linux – Headful EABI, VFP, SoftFP ABI, Little Endian2
ARMv7 Linux – Headless – Server Compiler EABI, VFP, SoftFP ABI, Little Endian2
ARMv5 Linux – Headless EABI, SoftFP ABI, Little Endian3
Ok. Finally I’ve download this one:
ARMv6/7 Linux – Headless – Client Compiler EABI, VFP, SoftFP ABI, Little Endian2 31 MB Downloadejre-7u60-fcs-b19-linux-arm-vfp-sflt-client_headless-07_may_2014.tar.gz
Then I’ve installed “Java SE for Embedded 7” package from your repository without problems. Once finished I go to “Installed” (packages) and I see Java SE Embedded 7 and its information. It looks ok.
————————————-
cat /proc/cpuinfo
————————————-
Processor : ARMv7 Processor rev 1 (v7l)
processor : 0
BogoMIPS : 2387.14
processor : 1
BogoMIPS : 2393.70
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc09
CPU revision : 1
Hardware : Comcerto 2000 EVM
Revision : 0001
Serial : 0000000000000000
————————————-
uname -a
————————————-
Linux DiskStation 3.2.40 #4482 SMP Fri Apr 25 20:46:55 CST 2014 armv7l GNU/Linux synology_comcerto2k_ds414j
Hope this helps.
Thanks Jorge, that’s perfect. I’ve nearly completed a new Serviio package and that will allow me to add some detection in for that processor. I have built an optimized compile of FFmpeg since that processor has a NEON vector unit, so it should perform better than the other ARMv7l systems.
If you type
java -version
do you see this:~$ java -version
java version "1.7.0_60"
Java(TM) SE Embedded Runtime Environment (build 1.7.0_60-b19, headless)
Java HotSpot(TM) Embedded Client VM (build 24.60-b09, mixed mode)
where should I type that? in ssh?
DiskStation> java -version
-sh: java: not found
Do I have to restart or something?
You need to have logged in via SSH since you installed the java package.
Is it definitely showing as installed in Package Centre? What does the package log say?
Can you please send me an email? I think it’s going to be easier by mail…
I will send you some screen captures.
Can I do something else?
Today I have updated the NAS and I had to reinstall the java package.
I checked the path entries in the profile is deleted.
Can be arranged so that it will not occur in the next update?
Thank you.
It does not delete the PATH variable from the profile. It removes the second PATH modify statement that this package makes. If you want to add your own entries to the PATH, then you should instead edit the first PATH= statement, not the one that shows PATH=$PATH:/volume1/@appstore/java7/jre/bin
When the update is installed DSM deletes the entries made in root / .profile
These lines.
PATH=$PATH:/volume1/@appstore/java7/jre/bin TZ=Europe/Brussels export JAVA_HOME LANG PATH TZ
These lines.
PATH=$PATH:/volume1/@appstore/java7/jre/bin
TZ=Europe/Brussels
export JAVA_HOME LANG PATH TZ
And lines bootstrap opt/bin etc etc ;-)
Brilliant. Thank you so much. Working flawlessly on my DS412+
Great job on the java package. Is it possible to get the non-embedded 64-bit java to run on DSM because the embedded java appears to be 32-bit only and limits the heap size to 4 GB at most. I currently have 4.5 TB of data to be backed up (with more to come) and Crashplan recommends 1GB heap memory per TB of data. I’m running DSM on an HP N54L micro server with 16GB RAM (upgraded specifically for Crashplan) and 11GB usable storage space. Crashplan is working fine so far with 2GB java heap memory but it’s only backed up 1.5 TB so far.
I unfortunately lost a drive about a month ago and was semi-successful in getting Crashplan back on the DS712+.
However, just looked and saw it had stopped.
Tried to restart and no dice. In my troubleshooting, decided to try to uninstall Crashplan and reinstall. However, I cannot get Crashplan to install.
The download looks fine, it goes to install but states I do not have Java installed or configured.
I’ve got your Java SE Embedded 6 / 1.6.0_38-0023. Do I need to go to a different one? Guessing it’s just a simple as uninstall / reinstall Java, but wanted to double-check first.
Thanks in advance for the assist.
-Chris
I need the java file ejre-1_6_0_38 intel version but it’s not on oracles website. There link is broken. Any ideas where I can get the file from?
You may want to contact their webmaster. Looks like they broke the site, because the even older versions are still there (this is the jump-off page for the archive):
http://www.oracle.com/technetwork/java/embedded/embedded-se/downloads/java-se-embedded-archive-1862184.html
I have updated the package so it repairs the environment variables if a DSM update removes them. Can someone with a DS414j please allow me remote access to their NAS so I can get Java working on these systems? I don’t have a test model.
Do you still need remote access to a DS414J, to get Crashplan working and tested? I have one that I want to get setup and would be willing to give you temp remote access.
Emailed…
I have a DS211+ and I don’t know which of the 3 Java versions you recommend.
7 is the safe choice
I have installed your package with java 7u60 but it tells me that there is a new update of it Pack java7
And I have to uninstall the old version.
If I have it installed and there is a version more than java is it necessary to upgrade your package?
Thank you.
The new package is the same version of Java but it will no longer break each time you apply a DSM update in future.
Ok! Thanks.
But in this update of the DSM of the day 27/06/2014 is not deleted.
Curious.
First, thank you for supporting the community. You’re awesome.
After updating to “DSM 5.0-4493 Update 2″ on my DS213+, I noticed my Crashplan was not working. All has been well up to this point, and I have about 1TB backed up. So I:
– Uninstalled Java SE
– Uninstalled Crashplan
Now when I attempt to install either Java 7 or Java 8, the installation works but there is no RUN option in the package center, just UNINSTALL. I’m ssh’d in and this is what I see:
—————————————————————————————
BusyBox v1.16.1 (2014-05-29 11:26:15 CST) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.
~ # java
ash: java: not found
~ # whoami
root
~ # uname -a
Linux Netshare 2.6.32.12 #4493 SMP Thu May 29 11:05:51 CST 2014 ppc GNU/Linux synology_qoriq_213+
~ # export | grep -i java
export JAVA_HOME=”
~ # java
ash: java: not found
~ # ls -al /volume1/public/
drwxrwxrwx 4 root root 4096 Jun 29 01:15 .
drwxr-xr-x 19 root root 4096 Jun 29 00:30 ..
drwxrwxrwx 2 root users 4096 Sep 13 2013 @eaDir
-rw-r–r– 1 root root 5307 Mar 20 2012 ejdk-8-fcs-b132-linux-ppc-e500v2-03_mar_2014.tar.gz
-rw-r–r– 1 root root 5307 Mar 20 2012 ejre-7u60-fcs-b19-linux-ppc-e500v2-headless-07_may_2014.tar.gz
drwxr-xr-x 3 root root 4096 Aug 18 2013 serviio
~ #
—————————————————————————————
I have both the Java SE 7 and 8 tars in place. Did update 2 break my ability to install Java, or is something else going on?
Thanks
There hasn’t been a Run option for many versions now (to mimic Synology’s Perl package for instance, since Java does not run continuously). Remember that if you were connected via SSH before the package was installed and started, you would need to quit and restart your session to pick up the new environment variables – or run:
source /etc/profile
source ~/.profile
What is the status in Package Centre? Running or Stopped?
No luck with source’ing, re-ssh’ing in. Package Center only option is uninstall. Status is STOPPED. Log says:
————————————————————-
/var/packages/java7/scripts/start-stop-status: /var/packages/java7/scripts/start-stop-status.sh:
System installed locales:
C
cs_CZ.utf8
…
en_US.utf8
…
…
JAVA_HOME=
TZ=US/Pacific
————————————————————-
I’ve tried adding debug to installer.sh, but I am not sure how the package installation calls your scripts. I’ve edited installer.sh to force SYNOPKG_PKGNAME to java8, and that got thru more of the script, but nothing is executed past the source /etc/profile.
:(
I have a similar scenario. Updated to same DSM 5.0-4493 Update 2, uninstalled Java and uninstalled Crashplan, installed Java 7, installed Crashplan. Java shows “Running” for me, but I cannot get Crashplan to start. It says “Started” and then promptly returns back to “Stopped.”
I don’t know how to do all that fancy SSH stuff, so not sure how to provide logs like Scuba did.
I uninstalled the previous version and I installed the new version with the same java 7.
Java runs but to Minecraft stopped working I’ve uninstalled and re installed and has not executed.
Neither your Craftbukkit package.
No starts.
Do you know the problem? worked fine before installing the new version of its package of java.
Thank you.
Which CPU do you have?
DS112+ 2GZ 512Ram marvell v5
Thanks.
DS112+ Marvell Kirkwood mv6282 2.0Ghz ARM (Marvell ARMADA 300) 16-bit@DDR3, 512MB of RAM
I also have a Marvell Kirkwood and I don’t have this issue. Is your NAS bootstrapped? Mine is not so I think that can be the only explanation. Let me know – it’s possible the version of sed that ends up higher in the path after bootstrapping has slightly different syntax.
Solved! But I can not say exactly what was the failure to I made two changes.
1. Since I had export “LC_ALL = es_ES.utf8” and I put as export “LC_ALL = en_US.utf8”
2. The first line you write your java package is “PATH=$PATH:/volume1/@appstore/java7/jre/bin # Synology Java Package” instead of the beginning of the last line was really the last.
The latter is no fault if your package installation or editing mia doing tests with “config file editor”
Thanks.
Yes my NAS is bootstrapped.
Thanks.
Everything worked fine.
I just uninstalled the old version of your package to update the new what the message said “before upgrading uninstall previous version”
And it works if I put Java in the Java version had me indicates that this well.
What Java versión for DS713+ Intel.
¿Java 6, 7 or 8 for Minecraft package?
Thanks.
Hello I tried to install Java SE Embedded 8 using your Installer but it tells me I have the wrong file I can not find the file it is asking for on the oracle site I can only find ejdk-8u6-fcs-b23-linux-i586-12_jun_2014.tar.gz would it be safe to simply rename the file to the name it is locking for ? For now I installed ejre-7u60-fcs-b19-linux-i586-headless-07_may_2014.tar.gz will it be OK to install V 8 over the top of V7 when you get this fixed or will I need to uninstall and start over ?
Fixed now.
Thank You is it OK to just install 8 over the top of 7?
The package will not let you. You need to stop any packages using Java, then uninstall the old version first.
Again, Thank you as you have probably already guessed, I am a complete novice when it comes to Linux. Is there anything special I need to do to uninstall or just stop my crash plan go to your package uninstall and then install the new version and then restart crash plan?
You got it.
Have added the package repository URL to my DS509+, but no packaged for java are available in the package center.
Hi Patters,
I just updated my DS411+II to the latest DSM version (5.0-4493 Update 2). I also was notified that I needed to update my Java. I stopped my CrashPlan, uninstalled Java, downloaded/transferred the specified Java 7 headless file and re-installed Java w/no problems. I went to re-install CrashPlan (successful), but when I go to Start, it says “Started” but then promptly goes back to “Stopped” status.
I noticed that when CrashPlan was uninstalled it removed the Crasplan user, and when reinstalled, it re-creates it (without appropriate permissions to the Shares), so I re-added those permissions. But even still, I do not know how to get the Crashplan to stay “Started”.
Any ideas? Thanks!
Is Java running properly? If you ssh to your device, what do the following report?
>export
> java -version
Hello and thank you for your work :)
I just installed the latest DSM update (DSM 5.0-4493 update 3) and the latest JAVA8 update. Then I’ve noticed that my crashplan was not working properly anymore. It keept starting and crashing…
So I uninstalled crashplan and java, I reinstalled Java8 (ejdk-8u6-fcs-b23-linux-i586-12_jun_2014.tar.gz) and tryed to reinstall Crashplan. Java installation is OK but crashplan won”t install, I’m getting an error ‘Invalid file format’.
Could you help plz?
DiskCraft> env | grep java
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/volume1/@appstore/java8/ejdk1.8.0_06/linux_i586/jre/bin
CLASSPATH=.:/volume1/@appstore/java8/ejdk1.8.0_06/linux_i586/jre/lib
JAVA_HOME=/volume1/@appstore/java8/ejdk1.8.0_06/linux_i586/jre
I would advise using Java 7 for most things, unless the application you are trying to run explicitly supports version 8.
213j NAS Trying to install Java 8. Have registered, copied ejdk-8u6-fcs-b23-linux-arm-sflt-12_jun_2014.tar.gz to /volume1/public, and added http://packages/pcloadletter.co.uk to the package installer. I can SSH as admin and lt shows the package in the correct directory, to which all accounts have R/W access. However when I run the Java SE embedded 8 install, it falis to install with the message “I was expecting the file /volume1/public/ejdk-8u6-fcs-b23-linux-arm-sflt-12_jun_2014.tar.gz etc….
Any ideas? – thanks for the help in advance.
OOps – sorry, cannot read. Missed out the vfp in -arm-vfp-sflt..!
Mea culpa.
struggling to install java embedded on my ds214, tried different versions of java 6, 7, 8 none recognizes the package on the public folder even if the file name is exactly the same as it is asking for. tried with java installer app with the same result. public folder is shared with permissions for all kinds for all users, tried downloading the packages with different browsers, nothing helps… any idea?
Have you tried with Firefox? I think it’s the only browser that leaves the file alone and doesn’t try to rename it or unpack it.
I tried first with firefox but it removed tar compression, then i tried IE which did not touch the file, at least its name
Works for me with Chrome on MacOS. I tried with Java 7 as suggested by Patters and it just works again… Don’t as me why, cause I’ve already tested with Java7 with a lot of errors :)
Hi,
thank you for your work on this, it’s a great guide.
I have a fresh Synology EDS14 (Armada 370) which I am trying to get Java 6 or 7 running on using your method, however I am unsuccessful.
Despite placing the correct files into the correct folder, ensuring the appropriate file permissions, etc I get the error:
“Operation Failed. I was expecting the file….”.
I originally attempted this with the EDS14 running DSM 4.3 but then upgraded to DSM 5 with the same results.
The only other thing I can add is that the EDS14 uses external storage so uses variable volume labels like this:
“/volumeUSB2/usbshare/@sharebin/public”.
Despite this, the “Operation Failed” error message tells me it is looking in the correct location for the files.
Any idea on how to get this to go?
I should add, I have tried downloading the files using (windows based) Firefox, chrome and IE. Firefox and IE do not modify the file name, chrome does.
I have also tried to upload the files using the Synology File Station GUI and through WinSCP.
As mentioned above, the path and file names in the error match exactly to the files that exist.
Permissions are set to R/W for everyone.
I don’t know what else to do!
I am trying to setup Java on my DS713+ I downloaded jdk-7u67-linux-i586.tar.gz. When I try to open the file the message unsupported file format pops up. What could go wrong. I downloaded the file with chrome but I noticed the filename did not change.
HI Patters,
Let’s say i would like to change the release of Java 7u60 back to 7u55. Will it break my current crashplan setup, or shall i need to reinstall Crashplan after on. Reinstallaing crashplan and “adopting” takes several hours on the server side to resynchronise archive. thanks for your help. Any
It won’t as long as CrashPlan is fully stopped when you make the change, but why would you go for an older JVM?
Hi patters, thank you for your kind reply. Well, i have a DS213+ hence 512 Mb RAM, and i was able to backup about 1,1 Gb without any RAM issue and limiting the number of files. I have observed that crashplan is constantly restarting when backing up files (about every 3-4 minutes) , and i was not able to see any mention to out of memoty errors on the engine logs, everything seems ok appart the constants restarts. I observed this behaviour since release 1.7.60 of JAVA. i did not change the file size or selection since: I am tending to believe that this java release is the cause, but i also realised that i cannot rollback, since i also rely on your java 7 package, and i am not senior enough to proceed manually.
Thank you so much for putting this together – it’s awesome! I have this running with my DS213 and it’s working perfectly!
I have a question for you, “UPDATE 3” says Java 8 support was added but the guide links to and says to use “Java SE for Embedded 7”. Should I still use Java SE for Embedded 7 (instead of 8)?
Thanks again for the awesome guide!
Hi, I have a DS213j with DSM 5.0 Update 3. I have installed Java SE Embebed 7, The status of Java is stopped and the version is 1.7.0_60-0027. When I try to install serviio this error is showed: “Java is not installed or not properly configured. JAVA_HOME is not defined.”.
I reboot the NAS but I can´t install serviio. Can you help me with this problem.
Thank you so much for your work.
Pingback: Jenkins CI (oder Hudson) auf der Synology DiskStation installieren (Anleitung) | Esche's IT-Blog
Hi,
On my Synology DS112J, is was running DSM 4.3 with Java SE Embedded 7, with no problem. Recently, I upgraded my NAS to DSM 5.0-4493 update 3 and I re-install Java SE Embedded 7.
Now I have a problem with UTF-8 and locale support.
– With the” locale-a” command I have :
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
cs_CZ.utf8
da_DK.utf8
de_DE.utf8
en_US.utf8
es_ES.utf8
fr_FR.utf8
hu_HU.utf8
…
– I try the “localedef -c -f UTF-8 -i en_US en_US.UTF-8” command and the result is :
/usr/share/i18n/charmaps No such file or directory
I have also installed Java SE Embedded 8 and i have the same problem.
Have an idea ?
Thanks for all
Hi,
I think that The DSM upgrade was not (fully) correct.
So, I reset my DS112j with complete DSM 5.0 firmware and the problem was solved.
Thanks everyone.
on DS110j, Java 8 installs withouot any problem.
However, I want to install Bliss, which is linked to Java6.
But, Java6 is impossible to install.
I’ve downloaded the correct file, put it in public shared folder.
Log file for Java6 says :
/var/packages/java6/scripts/start-stop-status: /var/packages/java6/scripts/start-stop-status.sh: line29: java: not found
…
UTF8 stuff
…
JAVA_HOME=
TZ=US/Eastern
There is a new java version out, i struggled a bit finding the required version of your script. Please, can you upgrade your package ?
Which new version? 7u60 and 8u6 still appear to be the current versions:
http://www.oracle.com/technetwork/java/embedded/embedded-se/downloads/index.html
I’m still getting and error of being unable to find the home path. Thoughts?
Hi,
i installed the e500v2 package from Oracle, through your Syno package and using a public directory.
Problem is Filebot won’t launch, saying “/usr/syno/bin/filebot : line 35 : java not found”.
I would appreciate some help to finish the config of my DS413 running DSM 5.0 -4493 Update 5″.
Thank you
Sebmex
I just upgraded from a DS412+ to DS415+. This package worked great for my DS412+.
I installed Java 7u60 fine. When I add http://packages.pcloadletter.co.uk/ to package sources, I’m only able to see packages for “noarch”, so crashplan is not an option. Is/will it be possible to use this package for the DS415+ / avoton arch processor?
Hi,
I installed the JAVA SE packages. The version is ok as you expect above.
Still crashplan package don’t appear in package center, any reason?
Aviad.
I have DS414j
Hi, sorry im a newbie. I have a DS213j and I’ve downloaded Java “ejdk-8u6-fcs-b23-linux-arm-vfp-hflt-12_jun_2014.gz” and placed it in the public folder. What’s next? Sorry but I really appreciate you could help me.
Sorry im a newb, downloaded the wrong version. It’s fixed now.
So I was troubleshooting why my 1513+ was sitting at 89-90% memory utilization and found that the Java embedded package is literally consuming 1.53GB of memory. I’m using the Java 8 embedded strictly for your CrashPlan service to run. So I disabled the last version of the Java 8 embedded and got the latest version from Oracle’s site, installed it, re-enabled crashplan (which is working fine) and sure enough it went right back up to 89-90% memory utilization with Java being the memory hog again. Is there something that can be done here? It’s causing my NAS to run sluggish.
CrashPlan loves RAM. I guess you could use the Task Scheduler and schedule the CrashPlan service to only run from say 02:55 to 04:00 each day. (03:00 is when CP’s full maintenance scan runs by default to find new or changed files).