QNAP TS-409 Proの開発環境をつくる

このTS-409というマシンはDebian GNU/Linux でサポートされているのでDebianを普通に入れてしまってもよいのですが、それでは折角用意されて いる便利なNASとしての機能が失われて、その辺のPC/AT互換機的なことになってしまうので、 もともと入っているLinux環境を拡張する形で活用してみようと思います。

ipkgを入れる

WebインターフェースのQPKGの項目にGet QPKGというリンクがあるので、 そこを辿るとipkgのQPKGのZIPがダウンロードできます。ZIPを展開して出てくる QPKGをブラウザインターフェースからアップロードすることで QPKGのインストールができます。

Webインターフェース

ipkgはssh等でログインすることで使えます。ipkgはDebianのapt, RedHatのyum, Gentooのportageのようなもので、ipkgを使ってgccをインストールすることが できました。/opt/binに入るようです。

ベンチマーク

LINPACKのベンチをコンパイルして測定してみた. ただしシングルスレッドのベンチマークなので注意

VendorModelCPUMHzMem(MB)OSCompilerKFLOPS
QNAPTS-409 ProARM926EJ-S500256Linux 2.6.21GCC3.4.48123.228
ApplePowerBook G4MPC7447A16661536MacOSX10.5.6GCC4.0.1607257.938
IBMp5 57032*POWER5190031360AIX5.3XLC7.01203989.750
N/AN/A2*Opteron25226003072Linux2.6.9GCC3.4.61462031.125
NECMC-R530VR410016832NetBSD1.6.2GCC128.349
SGIO2R5000200256IRIX6.5GCC30203.887
SunFire V240UltraSPARC-IIIi13661024SunOS 5.10GCC 3.4.3281822.375

ところが

GNU Makeをいれてみたら

[~] # make
make: relocation error: /opt/lib/libpthread.so.0: symbol errno, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

となって動かないことがわかりました。ローダーって難しいですよね。この世でいったい 何人がLinuxのプログラムローダーについて完全な理解をしているんでしょう。

/libにあるlibpthread*を/opt/libの中にシンボリックリンクすれば とりあえずmakeが動くことは確認しました。