Since there is no proper guide and no binaries for this NAS with the Annapurna Labs Alpine armv7l CPU, here is all you need to install bootstrap and compile packages! This was a lot of work and I would like to thank the user “vputz” from the Synology forums for the basics how to set up the build environment.


This should work on all system with an Annapurna Alpine CPU.

I don’t have a proper web space to host a the package repository and I didn’t compile all packages so you have to use your own repository and compile missing packages.


Leave me a comment if you have questions, corrections etc. 🙂

Bootstrap

I used the bootstrap for another ARM based bootstrap as a base and replaced only wget.ipk, ipkg-opt.ipk and modified the installer script to check for the correct CPU:

https://cryptocurrency-investment.eu/optware_armv7l/bootstrap-alpine.tgz

Download it, copy it to the NAS and run the installer:

tar xzf bootstrap-alpine.tgz

cd bootstrap-alpine

sh bootstrap.sh

Packages

To get started with some packages, you can download the couple of packages I compiled for running rsnapshot and basic tools like screen, htop, cron, bash, vim. The list of all packages is at the end of this article. 

https://cryptocurrency-investment.eu/optware_armv7l/packages-alpine.tgz

tar xzf packages-alpine.tgz

mv packages-alpine /opt

ipkg update 

ipkg install rsnapshot


If you want to place the packages elsewhere or on a webserver, modify:

/opt/etc/ipkg/cross-feed.conf

More packages: https://cryptocurrency-investment.eu/optware_armv7l/

 

Compiling

I used a Debian 8 64bit machine to set this up.

Note: svn.nslu2-linux.org seems down. I inserted a mirror below but I didn’t test if it works correctly.

You need subversion, build-essential and, if you compile on 64bit, 32bit libs:

sudo apt-get install subversion build-essential autoconf

sudo apt-get install lib32gcc1 lib32stdc++6 lib32z1 lib32readline6

#svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware ### seems down

svn co https://github.com/gugahoi/optware/trunk optware ### untested! 

cd optware/platforms/

wget https://cryptocurrency-investment.eu/optware_armv7l/toolchain-ds2015xs.mk

wget https://cryptocurrency-investment.eu/optware_armv7l/packages-ds2015xs.mk

cd ../scripts

rm optware-check-package.pl

wget https://cryptocurrency-investment.eu/optware_armv7l/optware-check-package.pl

cd ..

make ds2015xs-target

cd ds2015xs

make toolchain

touch builds/invalid.xsh

make hello-ipk # append -ipk to compile & create the package

make index

ls packages

scp -r packages root@nas:/opt/packages-alpine

[2015-10-11] The file toolchain-ds2015xs.mk contains updated TARGET_CUSTOM_FLAGS (CFLAGS) compilation flags for the target arm-linux-gnueabihf: -fPIC -marm 

Remove or modify those if you have trouble compiling


Note that some links to source packages are dead so if you stumble across one, search for the exact filename in Google and download the package to the downloads folder. Then run make again.

Also note that some packages will only compile with further modifications, eg. Perl. Let me know if you need to compile Perl and I will create a patch.


If the nslu2 guys are reading this, you are welcome to add the target to your sources.

Sources

Basic guide to set up new build system: http://forum.synology.com/enu/viewtopic.php?f=40&t=69860&start=60#p305182

Synology dev platform: http://sourceforge.net/projects/dsgpl/files/DSM%205.2%20Tool%20Chains/Annapurna%20Alpine%20Linux%203.2.40/alpine-gcc472_glibc215_alpine-GPL.txz/download

Mirror: https://cryptocurrency-investment.eu/optware_armv7l/alpine-gcc472_glibc215_alpine-GPL.txz


ipkg source: http://ipkg.nslu2-linux.org/sources/ipkg-0.99.163.tar.gz 

Mirror: https://cryptocurrency-investment.eu/optware_armv7l/ipkg-0.99.163.tar.gz

2 Thoughts to “Optware, ipkg and Bootstrap for Synology DS715,DS1515,DS2015xs,DS215+,DS416 (armv7l) [UPDATED CFLAGS]”

  1. VB

    Hi any chance you can add the following to the packages:
    ocaml
    make
    gcc
    textutils

    Many thanks in advance!

    1. Hi VB,
      I manages to build ocaml, make and textutils but I failed at gcc.
      You can even use this URL as a repository:
      https://cryptocurrency-investment.eu/optware_armv7l/

      To be honest I didn’t invest much time in it.
      I updated all the links in my post to make sure the files are accessible, so you can try for yourself 🙂

      Have fun!

Leave a Comment