Use Debian chroot instead of ipkg (optware) on DSM 5.0. Here is a installation notes of XPEnology on HP N36L
Prerequisite:
add custom source: Package Centre > Settings > Package Sources
Name: SynoCommunity
Location:  https://synocommunity.com/packages 
Readme:
https://github.com/SynoCommunity/spksrc/blob/develop/spk/debian-chroot/src/app/help/enu/index.html
Installation:
– required python on SynoCommunity, DSM default python not OK.
– select Debian Chroot and click install
– after installation completed, ssh to DSM as root
| 1 2 3 | root@diskstation> /var/packages/debian-chroot/scripts/start-stop-status chroot bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf8) root@diskstation:/# | 
– now under chroot
| 1 2 3 4 5 6 7 8 9 | ##backup and update source list. e.g. from France to Australia ##see https://www.debian.org/mirror/list sed -i.`date +%Y%m%d` 's/fr.debian.org/au.debian.org/g' /etc/apt/sources.list aptitude update aptitude upgrade aptitude install locales dpkg-reconfigure locales dpkg-reconfigure tzdata aptitude install less vim curl rsync screen openssh-server | 
– enable home for users: Control Panel > User > Advance, “Enable user home services”, Apply.
ls -al /var/services/homes  symbolic link updated and pointed correctly
– some additional directories want to be mount by startup script
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # diff -u /var/packages/debian-chroot/scripts/start-stop-status --- start-stop-status.org +++ start-stop-status @@ -20,6 +20,16 @@          grep -q "${CHROOTTARGET}/dev " /proc/mounts || mount -o bind /dev ${CHROOTTARGET}/dev          grep -q "${CHROOTTARGET}/dev/pts " /proc/mounts || mount -o bind /dev/pts ${CHROOTTARGET}/dev/pts +        grep -q "${CHROOTTARGET}/home " `realpath /var/services/homes` || mount -o bind `realpath /var/services/homes` ${CHROOTTARGET}/home + +        [ ! -d ${CHROOTTARGET}/volume2 ] && mkdir -p ${CHROOTTARGET}/volume2 +        grep -q "${CHROOTTARGET}/volume2 " /volume2 || mount -o bind /volume2 ${CHROOTTARGET}/volume2 +          # Start all services          ${INSTALL_DIR}/app/start.py      fi @@ -35,6 +45,11 @@      umount ${CHROOTTARGET}/dev      umount ${CHROOTTARGET}/sys      umount ${CHROOTTARGET}/proc + +    umount ${CHROOTTARGET}/home +    umount ${CHROOTTARGET}/volume2  }  daemon_status () | 
– setup users on debian domain
| 1 2 3 4 5 6 | ## find user id id -u username id -g username ## Debian domain. XXXX YYYY is the id value adduser username -uid XXXX --gid YYYY --home /home/username | 
– change Port form 22 to 2222, so Synology still using default port 22, Debian domain will use 2222 port
| 1 2 | cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +%Y%m%d` vim /etc/ssh/sshd_config | 
– (optional) create share folder via UI, e.g. “bridge”. Later use for packages manually install and share across Debian and Synology (e.g. maven)
| 1 2 | # on both Debian domain and Synology domain, create symbolic link to both ln -s /volume2/bridge /usr/local/bridge | 
– config profile
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #on Debian domain #file name is unimportant, only required as *.sh. number for ordering only. vim /etc/profile.d/S20_java.sh   # copy-and-paste from Synology /etc/profile   PATH=$PATH:/volume2/@appstore/JavaManager/Java/bin # Synology Java Manager Package   PATH=$PATH:/volume2/@appstore/JavaManager/Java/jre/bin # Synology Java Manager Package   JAVA_HOME=/volume2/@appstore/JavaManager/Java/jre # Synology Java Manager Package   CLASSPATH=.:/volume2/@appstore/JavaManager/Java/jre/lib # Synology Java Manager Package   LANG=en_US.utf8 # Synology Java Manager Package   export CLASSPATH PATH JAVA_HOME LANG # Synology Java Manager Package   #EOF # enable color for ls and PS1 vim /etc/profile.d/S01_allusers.sh   export LS_OPTIONS='--color=auto'   eval "`dircolors`"   alias ls='ls $LS_OPTIONS'   alias ll='ls $LS_OPTIONS -la'   alias l='ls $LS_OPTIONS -lA'   if [ "$BASH" ]; then     PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '     if [ -f ~/.bashrc ]; then       . ~/.bashrc     fi   fi   #EOF source /etc/profile && source /root/.profile # verify java -version | 
– ~/.profile , different PS1 for both Synology and Debian ssh login
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # if running bash if [ -n "$BASH_VERSION" ]; then     # include .bashrc if it exists     if [ -f "$HOME/.bashrc" ]; then   . "$HOME/.bashrc"     fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then     PATH="$HOME/bin:$PATH" fi if [ ! -r /etc/debian_chroot ]; then   PS1='\u@\h \W \$ ' fi | 
– (optional) on Synology domain, edit /etc/profile as well: PS1='\u@\h \W \$ '
Final
– 
			ssh username@diskstation   for original synology ash shell. Or
– 
			ssh -p 2222 username@diskstation  for debian bash shell
reference
- https://wiki.debian.org/chroot
- https://sites.google.com/a/courville.org/courville/home/synology-debian-chroot
- https://juju.net.nz/michaelh/notes/ds123.html