Ich möchte Optware auf einem Synology NAS mit  Annapurna Labs Alpine armv7l CPU laufen lassen, habe aber keine richtige Anleitung und keine Binaries dafür gefunden. Also habe ich mir selbst die Mühe gemacht, also habt ihr hier alles was ihr braucht und auch wie man selbst Pakete kompilieren kann! Es war ne Menge Arbeit und ich möchte “vputz” vom Synology Forum für das HowTo zum Aufsetzen der Build-Umgebung danken.


Das sollte auf allen Systemen mit Annapurna Alpine CPU funktionieren.


Ich habe keinen richtigen Webspace für eine Repository und ich habe nicht alle Pakete kompiliert, daher ist noch Handarbeit angesagt.


Hinterlasst mir einen Kommentar mit Fragen, Korrekturen usw. 🙂

Bootstrap

Den Bootstrap habe ich von einer anderen ARM-Umgebung. wget.ipk und ipkg-opt.ipk mussten ersetzt werden. Zusätzlich musste noch das Installer Script angepasst werden, so dass es die richtige CPU prüft: 

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

Lade es herunter, kopiere es aufs NAS und führe den Installer aus:

tar xzf bootstrap-alpine.tgz

cd bootstrap-alpine

sh bootstrap.sh

Pakete

Mein primäres Ziel war es rsnapshot laufen zu lassen. Daneben habe ich noch andere Tools wie screen, htop, cron, bash, vim etc. kompiliert. Die vollständige Liste der Pakete ist am Ende des Artikels. 

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

tar xzf packages-alpine.tgz

mv packages-alpine /opt

ipkg update 

ipkg install rsnapshot


Wenn du die Pakete auf einem Webserver oder in einem anderen Pfad ablegen willst, muss diese Datei geändert werden:

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

Mehr Pakete: https://cryptocurrency-investment.eu/optware_armv7l/

 

Kompilieren

Ich habe eine Debian 8 64 Bit VM benutzt.

Hinweis: Der SVN von nslu2 scheint down zu sein, daher habe ich einen Mirror eingefügt, den ich aber nicht getestet habe.

Man braucht subversion, build-essential und wenn man auf einem 64 Bit System kompiliert, die 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 ### scheint offline

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

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

[UPDATE] Ich habe in der Datei toolchain-ds2015xs.mk die TARGET_CUSTOM_FLAGS (CFLAGS) Kompiler-Parameter für die Platform arm-linux-gnueabihf verbessert: -fPIC -marm 

Entferne oder ändere diese falls das Kompilieren nicht mehr klappt.


Manche der Paket-Quellen sind nicht mehr verfügbar. Dann kann man nach dem exakten Dateinamen googlen, die Datei manuell herunterladen und im Ordner “downloads” ablegen. Danach wieder make ausführen.

Einige Pakete werden ohne weitere Änderungen nicht kompilierbar sein, z.B. Perl.


Hallo Leute von nslu2, falls ihr das lest, ihr könnt gerne das Target zu euren Quellen hinzufügen!

Quellen

Anleitung zum Aufsetzen der Build-Umgebung: 

http://forum.synology.com/enu/viewtopic.php?f=40&t=69860&start=60#p305182

Synology Entwickler-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 Quellcode: 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

Leave a Comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.