Du er her: Hjem --> Annet --> Blog --> Installere gcc på Synology

Installere c-kompilator på Synology

Vi ønsker å ha en c-kompilator på Synology. Det er flere måter å installere en slik på:

Alternativ 2 er det vi går for.

På min Synology er det installert en GUI pakke manager. Men det er bare et fåtall programmer den fungerer for.

På Synologyen er dpkg installert (debian package manager). Men denne fungerer ikke mot et repository. Den kan installere .deb filer som manuelt lastes ned.

Pakke manageren ipkg (itsy package manager) arbeider mot et reposotory. Vi ønsker å installere denne, og så bruke denne til å installere en c kompilator.

Denne siden var hjelpsom:

Bestemme CPU på min Synology

uname -m gir: armv5tel

I Synology GUI:
Marvell Kirkwood 88F6280
1 cores, 1.2 GHz
128MB physical memory
DSM 6.2-23739
Model name: Synolgy DS211j
DSM-6.2-23739

admin@pssyno01:/volume1$ cat /proc/cpuinfo
Processor : Feroceon 88FR131 rev 1 (v5l)
BogoMIPS : 1192.75
Features : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant : 0x2
CPU part : 0x131
CPU revision : 1
Hardware : Feroceon-KW
Revision : 0000
Serial : 0000000000000000
admin@pssyno01:/volume1$

Laste ned bootstrap script .xsh (sh) script

Nå vil vi laste ned et script som installerer riktig gcc for vår prosessor.

For CPU mv6281 ARM prosessor ser vi at syno-mvkw-bootstrap_1.2-7_arm.xsh er riktig fil. Jeg har mv6280, det står ikke noe for denne, så da satser jeg på at nvnte fil også vil fungere for min, siden de to CUPene ser ut til å likne hverandre.

Vi gjør: sudo wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/syno-mvkw-bootstrap_1.2-7_arm.xsh

Litt uklart hva en xsh fil er. Ser ut til å være en blanding av .sh script og binærkode, som kjøres med exec. Første del av .xsh filen var:
#!/bin/sh
echo "Optware Bootstrap for syno-mvkw."
echo "Extracting archive... please wait"
dd if=$0 bs=205 skip=1 | tar xzv
cd bootstrap && sh bootstrap.sh && cd .. && rm -r bootstrap
exec /bin/sh --login
Etter dette er det binærkode.

Installere ipkg med et .xsh (sh) bootstrap script

admin@pssyno01:/volume1/01files/03synobinaries/01ipkg$ sudo sh syno-mvkw-bootstrap_1.2-7_arm.xsh
Optware Bootstrap for syno-mvkw.
Extracting archive... please wait
bootstrap/
bootstrap/bootstrap.sh
bootstrap/ipkg-opt.ipk
bootstrap/ipkg.sh
bootstrap/optware-bootstrap.ipk
bootstrap/wget.ipk
1232+1 records in
1232+1 records out
252742 bytes (253 kB) copied, 0.0668116 s, 3.8 MB/s
Creating temporary ipkg repository...
Installing optware-bootstrap package...
Unpacking optware-bootstrap.ipk...Done.
Configuring optware-bootstrap.ipk...Modifying /etc/rc.local
Done.
Installing ipkg...
Unpacking ipkg-opt.ipk...Done.
Configuring ipkg-opt.ipk...Done.
Removing temporary ipkg repository...
Installing wget...
Installing wget (1.12-2) to root...
Configuring wget
Successfully terminated.
Creating /opt/etc/ipkg/cross-feed.conf...
Setup complete.
root@pssyno01:/volume1/01files/03synobinaries/01ipkg#

Oppdatere ipkg

sudo ipkg update
Sjekk oppdatert reposotory:
sudo ipkg list
Her finner vi blant annet gcc. Som blant annet inneholder en c-kompilator.

Installere gcc med ipkg

admin@pssyno01:/volume1$ sudo ipkg install gcc
Installing gcc (4.2.3-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/gcc_4.2.3-1_arm.ipk
Installing binutils (2.19.1-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/binutils_2.19.1-1_arm.ipk
Installing libc-dev (2.5-5) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libc-dev_2.5-5_arm.ipk
Installing libnsl (2.5-4) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libnsl_2.5-4_arm.ipk
Configuring binutils
update-alternatives: Linking //opt/bin/strings to /opt/bin/binutils-strings
Configuring gcc
Configuring libc-dev
Configuring libnsl
Successfully terminated.
admin@pssyno01:/volume1$

Kompilere og kjøre et program

gcc -o pseditn pseditn.c psstr.c

pseditn f1orgstr.txt f2newstr.txt f3substrs.txt f4log.txt 'string##to%be$$$analyzed----'

Inputstreng: string##to%be$$$analyzed----
Output: string0000to-percent-be$$$analyzed
Fil med substitusjoner:
#
00
'
XX
~
-tilde-
&
-ambersand-
%
-percent-
*
-
=
-equals-
<
-
>
-

Noen flere unames

På Macmini: uname -m gir i386
På Tyan Debian server: uname -m gir x86_64
På cygwin på Asus PC: uname -n gir maskinnavnet (altså DNS navnet på maskinen)

Referanser

  1. Overview on modifying the Synology Server, bootstrap, ipkg etc
    http://www.b.shuttle.de/hayek/mediawiki/w/index.php?title=Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc
  2. Installing 3rd party software on your Synology DiskStation DS411j
    https://www.chainsawonatireswing.com/2012/01/09/installing-3rd-party-software-on-your-synology-diskstation-ds411j/
  3. ipkg package manager installation on Synology NAS
    http://rescene.wikidot.com/synology-ipkg
  4. What kind of CPU does my Synology NAS have?
    https://www.synology.com/en-global/knowledgebase/DSM/tutorial/Compatibility_Peripherals/What_kind_of_CPU_does_my_NAS_have
  5. What kind of CPU does my NAS have
    http://www.b.shuttle.de/hayek/mediawiki/w/index.php?title=What_kind_of_CPU_does_my_NAS_have
Telefon: 67 20 71 21 / 92 60 51 57 Nyslaatt gress UK