2015年2月2日月曜日

FON2405EにLighttpdをインストールする


前回RalinkSDKを使ってカスタムファームを導入してみた。
今回はいろいろなアプリケーションをインストールしてみようと思う。
  
その前に、毎回ファームを書き換えるのはめんどくさいので、NFSを使えるようにする
  [Linux Kernel Configuration]→[Networking]→[Networking options --->]
  →[]IP:Kernel level autoconfiguration





  [Linux Kernel Configuration]→[File systems]→[Network File Systems --->]
   Provide NFSv3とかチェック
  [BusyBox Configuration]→[Linux System Utilities]
  [] Support mounting NFS file systems

 
これで、
mount -o nolock 10.10.10.3:/var/lib/tftpboot /mnt
とすれば、/mntに無限の可能性が広がるはず!

つぎに、webからGPIO制御したいなーという願望を持ちつつ、
SDKに付属のGOAHEADをさわろうとして、よくわからなくて。。。
Lighttpdをインストールしてみたいと思う。
 
1.ファームの再構築
  pollってのが必要みたい
  [Linux Kernel Configuration]→[General setup]→[Configure standard kernel feature]→[]Enable eventpoll supportにチェックを入れる


2.Lighttpdのクロスコンパイル
 
本体はここから取得。
 以下のようにしてクロスコンパイルを行う。

PATH="$PATH":/opt/buildroot-gcc342/bin
./configure --host=mipsel-linux CC=/opt/buildroot-gcc342/bin/mipsel-linux-gcc CFLAGS="-I/home/adeno/fongpio/sdk3301/RT288x_SDK/source/linux-2.6.21.x/include" LDFLAGS="-L/home/adeno/fongpio/sdk3301/RT288x_SDK/source/linux-2.6.21.x/lib" --without-pcre --without-zlib --without-bzip2 –disable-ipv6 –prefix=/home/adeno/lighttpd
make
make install
without系のオプションは、configuremakeしたときにエラーになったものを除くため
(あとで、1つづつ検証していこう)
  
その結果できたものを
NFSのディレクトリに保存しておく
lighttpd
lib
sbin
share


3.FON側からマウント

mount -o nolock 10.10.10.3:/var/lib/tftpboot/ /mnt
そして、
mkdir /usr/local
mkdir /usr/local/lib
mount -o nolock 10.10.10.3:/var/lib/tftpboot/lighttpd/lib /usr/local/lib

 
4.設定ファイルの準備
NFSディレクトリに以下を作成
data/www/htdocs コンテンツ保存先
data/www/log   ログ保存先

lighttpd.confの作成
以下を参考に
server.event-handler = "linux-sysepoll" をコメントアウトして
server.event-handler = "poll" を追加する

あとは適当に・・・やって、/mnt/lighttpd.confに保存。

 
5.Lighttpd起動!
  
/mnt/lighttpd/sbin/lightpd -D -f /mnt/lighttpd.conf

これで、10.10.10.254:4080にアクセスすると

やったー!
次はこの環境の永続化を考えよう。





0 件のコメント:

コメントを投稿