環境の準備-3:開発環境他

掲載日:2012年10月25日
公開から1年以上経過しているため
情報が古い可能性があります。

(「環境の準備-2:IPKG他」からの続きです。)
インストールしたIPKGを使用して作業に必要なパッケージをインストールします。
また標準でインストールされているBusyBoxに含まれないコマンドを、新版のBusyBoxをインストールして補います。
最後にSynologyの開発環境「DSM Tool Chain」をインストールすれば準備完了という感じです
以降の手順はSSH(またはTelnet)で接続してrootでログインした状態で作業します。
※rootでログインする際のパスワードはadminに設定したパスワードと同じです。

IPKGでパッケージをインストールする

環境の準備-2:IPKG他」でインストールしたipkgコマンドを使って各パッケージをインストールします。
パッケージは以下を実行して一気にインストールします。
インストールするパッケージは「ipkg install optware-devel」を実行した場合と比べて「wget-ssl」をインストールしない点を除いてほぼ同等です(「bootstrap」をインストールする際に同時にインストールされる「wget」と「ipkg install optware-devel」を実行した際にインストールされる「wget-ssl」がコンフリクトを起こすため必要なパッケージを個別にインストールすることにしてます)。

ついでにソースによってはコンパイル時に文句を言うため、上記でインストールしたgccに対してccとしてシンボリックリンクを設定します。

新版のBusyBoxを取得して設定

手持ちのDS209+では、BusyBoxのバージョン1.16.1が使用されています。また、このBusyBoxはSynologyでカスタマイズしているようで一部のコマンドが存在しません。そこでBusyBoxのサイトから新版のBusyBoxのバイナリを取得して使用します。
なお、最初からインストールされている「/bin/busybox」を新版に置き換えてはいけません。新版のBusyBoxはあくまでも存在しないコマンドを補うためにインストールします(標準のBusyBoxを新版に置き換えるとDiskStationはまともに動かなくなります・・・)。
次のようにして「/bin」ではなく「/opt/bin」にコピーすればOKです(現在配布されているバイナリの新版は1.20.0でしたので、わかりやすいようにファイル名にバージョンを追記しています)。

続いて、新版のBusyBoxに対して必要なコマンド名のシンボリックリンクを設定します。

これで、上記シンボリックリンクを設定したコマンドが使えるようになります。
この中で「ps」や「free」は初期状態の1.16.1でも使えますが、新版の方が使用できるオプションが追加されているために設定しています(そんなコマンドが他にもあると思いますがとりあえず上記のみを設定しています)。
また「/usr/bin」に「file」のシンボリックリンクを作っていますが、本当はできるだけ「/usr/bin」にはファイルを置かない(「/usr/bin」の中身は変更しない)方が正解です。理由はDSMをアップデートするとわかるのですが、この件については別の機会に・・・。

Synologyの開発環境をインストールする

Synology社が公式に提供している開発環境「DSM Tool Chain」をインストールします。この開発環境については以下のページの「Synology DiskStation サードパーティアプリ統合ガイド」で詳しく説明されていますので参考にするとよろしいかと思います。

今回、前記ipkgでも開発環境をインストールしていますし(実際の作業はipkgでインストールしたgccを使う)、DSMに準じたアプリの開発を行うことを目的としていませんが、Synologyの開発環境に含まれるファイルも必要になりますのでインストールします。
インストール方法(と言っても実際には解凍ですけど)は以下の通りです。
※記載のURLはDS209+でDSM4.1を使用している場合の開発環境です。必要なファイルは使用機種に応じて異なります。
※他のDiskStationに適合するファイルは「CPUと開発環境の調べ方」を参考にしてください。

上記を実行すると「/usr/local/powerpc-linux-gnuspe/」にファイルが解凍されます。
圧縮ファイルは不要ですので消してOKです。

これで開発環境の準備は完了です。
続いて作業用のユーザとディレクトリを調えてから実際のインストールを行います。


 
madogiwa:気が向いたときに更新する雑多な覚書メモ♪
Copyright © 2021 gelsomino
All rights reserved.