at_ito
2015年10月2日 16時15分
Armadillo-IoTを使ったデモを作成する際、ArmadilloではRuby、クラウドのサンプルではjavascript等と複数の言語を使い分ける必要があります。
複数の言語を扱うのは面倒なので、Armadilloでもjavascriptが動かせないかと思い、Node.jsの実行環境をArmadilloに入れてみました。
1. Node.jsの追加
Node.jsをDebian Packagesから取得、展開し、Atmark Distのromfsディレクトリに展開します。
以下のコマンドを実行し、Node.jsをromfsディレクトリに配置してください。
[ATDE ~]$ wget http://ftp.jp.debian.org/debian/pool/main/n/nodejs/nodejs_0.10.29~dfsg-1~bpo70+1_armel.deb [ATDE ~]$ dpkg -x nodejs_0.10.29~dfsg-1~bpo70+1_armel.deb . [ATDE ~]$ rm -rf usr/share/{doc,man,doc-base} [ATDE ~]$ cp -R usr/ atmark-dist/romfs/
※: Atmark Distは一度ビルドしておいた状態にしておいてください。
2. 依存ライブラリのインストール
Node.jsを動かすためにはlibv8ライブラリが必要になります。そのため、ATDE側にクロス開発用ライブラリをインストールします。
以下のコマンドを実行し、libv8ライブラリをインストールしてください。
[ATDE ~]$ wget http://ftp.jp.debian.org/debian/pool/main/libv/libv8-3.14/libv8-3.14.5_3.14.5.8-8~bpo70+1_armel.deb [ATDE ~]$ mv libv8-3.14.5_3.14.5.8-8~bpo70+1_armel.deb libv8-3.14.5_3.14.5.8-8~bpo70_armel.deb [ATDE ~]$ dpkg-cross --arch armel --build libv8-3.14.5_3.14.5.8-8~bpo70_armel.deb [ATDE ~]$ sudo dpkg -i libv8-3.14.5-armel-cross_3.14.5.8-8~bpo70+1_all.deb
3. ユーザーランドイメージの作成
以下のコマンドを実行し、ユーザーランドイメージを作成してください。
[ATDE ~]$ cd ~/atmark-dist [ATDE ~/atmark-dist]$ make romfs image
上記コマンドを実行して出来上がったromfs.img.gzをAramdilloのユーザーランド領域に書き込んでください。
4. サンプルアプリケーションの実行
hello.jsという名前のファイルを、以下の内容で作成してください。
console.log("hello world");
上記で作成したサンプルアプリケーションを、以下のコマンドを実行してください。
[armadillo ~]# nodejs hello.js hello world
上記のように「hello world」が表示されます。