SSブログ

【FON2305e/2405e カスタムファームウェアに ssh サーバ導入】 [OpenWRT/DD-WRT]

Ralink AP SoC SDK をコンパイルして,FON Simpl (FON2305e, FON2405e)の改造ファームウェアを作成している。

改造ファームの書き換え方法
改造ファームの作成方法 (Ralink AP SoC SDK)

FON Simpl はフラッシュが 2MB しかない。(2,048KB)
ブートローダー,コンフィグ等で192KB 必要なので,Linux カーネルイメージファイルは,1,856KB=1,900,544Byte 以内にしなければならない。
軽量 ssh サーバの dropbear ならバイナリが255KBで,lzmaで圧縮されるので,更に軽量になる。
dropbear を含めた Linux カーネルイメージ

 ra20120103.img (1.8MB)

FON Simpl の改造ファームを作成する方法は,下の3パターンが見つかった。

  1. Ralink AP SoC SDK
  2. wive-ng rtnl 
  3. FON Simpl GPL ソース

Ralink AP SoC SDK のバージョンは,3.3.0.1 だが,もっと新しい 3.5.0.0 がある。いろいろ探し回ってみたが,ダウンロードサイトを発見できなかった。
2. wive-ng rtnl は,Ralink AP SoC SDK をベースに作成しているみたいだ。
3.FON Simpl GPLソースは,未だ試していない。
wive-ng rtnlはコンパイルは通るが,今のところ FON Simpl で起動できない。

VFS: Cannot open root device "mtdblock4" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

wive-ng rtnl がFON Simpl で起動できれば,もっといろんなことができそうだ。
今回はwive-ng rtnl を参考にして,Ralink AP SDKに ssh サーバの dropbear を追加してみた。

wive-ng のソースをコンパイルすると,dropbear の実行ファイルが出来上がるので,それをコピーした。実行に必要な libgcc_s.so.1 もコピーする。

~/sdk3301/RT288x_SDK/source/romfs/bin/dropbear
~/sdk3301/RT288x_SDK/source/romfs/bin/dropbearkey
~/sdk3301/RT288x_SDK/source/romfs/lib/libgcc_s.so.1

dropbear は,inetd で動作するので,inetd をインストールする。

cd ~/sdk3301/RT288x_SDK/source/
make menuconfig

kernel config –> network configで INET を指定し,busybox config で,inetd を指定する。 
image
以前作成したカーネルイメージでは,iptables がエラーになっていた。
packet filtering を選択する。
image
ralink apsoc sdk では,/etc_ro/rcS というスクリプトが,ブート時に実行される。~/sdk3301/RT288x_SDK/source/vendors/Ralink/RT3052/rcS に追記すると,~/sdk3301/RT288x_SDK/source/romfs/etc_ro/rcS が変更できる。
~/sdk3301/RT288x_SDK/source/vendors/Ralink/RT3052/rcS に dropbear 起動のための追記を行う。

#for dropbear
mkdir -p /etc/dropbear
dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
echo > /etc/inetd.conf
echo "22 stream tcp nowait admin /bin/dropbear dropbear -i -K60 -I360 -m" >> /etc/inetd.conf
inetd -R 30 -q 64

起動時に /etc/dropbear に鍵を生成し,/etc/inetd.conf も作成している。
コンフィグが終わったら,ビルドする。

make V=99

./images/root_uImage がビルドしたカーネルイメージなので,ra.img 等にリネームして,FON Simpl のファームウェアを書き換える。
改造ファームの書き換え方法

FON Simpl に,BackTrack 5 (ubuntu)から ssh 接続した。
scrssh


nice!(2)  コメント(7)  トラックバック(0) 

nice! 2

コメント 7

ENSIGN2012

atc-500様、

FON Simpl の改造ファームを作成する方法として「wive-ng rtnl 」があるとの情報提供ありがとうございます。こちらでもダウンロードしていつものようにひっかかりながらmakeの作業をしてみましたが、ほとんどdefaultのパラメーターで3.4MBほどのイメージの大きさになるようで、これでは2MBの制限に比べてはるかに大きくなるようで、さてどうすれば良い?と考え込んでいます。atc-500様も「wive-ng rtnlはコンパイルは通るが,今のところ FON Simpl で起動できない。」と書かれておられるようですが、どのような状況でしょうか?参考になるご意見を頂ければ幸いです。

よろしくお願いします。
by ENSIGN2012 (2012-02-06 15:41) 

atc-500

wive-ng rtnl は記事にも書いてますが,「rootfs がマウントできません」で,起動しません。
mtdblock4からrootfsをマウントしようとします。
どうも2MBのフラッシュで起動できる様には作られていないのかもしれません。
ネットも情報が少ないし,ギブアップです。

by atc-500 (2012-02-06 23:46) 

ENSIGN2012

atc-500様、

コメントありがとうございます。ということは、機能削除等で2MBの小生のつまずき部分は解決されたと理解してよろしいでしょうか?
by ENSIGN2012 (2012-02-07 09:30) 

atc-500

イメージのサイズも解決してません。2.7MB位です。
ENSIGNさんは,tftpboot とかで,simpl での起動は成功しましたか?

by atc-500 (2012-02-07 23:30) 

ENSIGN2012

atc-500様、

Compileして3.4MBと出たのでこれから先の作業はやっていませんし、どうやるかもわかりません。

というように、小生はSoftware launguageをいじるのは得意ではないのでwive-ng rtnlの著者らしい人物にEnglish languageで情報提供とご協力をお願いしました。このロシア人らしき著者とお互いnativeでない英語でのチャットを楽しみましたが結論として彼の事情で、「terrible」な2MB制限下での開発という私達の興味に付き合えないとのことですが、最後のメッセージは「Source codes are opened - study. Good luck.」でした。 atc-500様を含む「terrible」な私達への励ましの言葉と受け取っています。

以上です。頑張っていただけませんでしょうか?
by ENSIGN2012 (2012-02-08 19:50) 

atc-500

ロシアの方は付き合ってくれないですか...
たしかにterribleなので,ぼくももっと勉強が必要です。
仕事が忙しく時間がない状況ですが,時間ができたらトライしたいです。
出回っているralink ap sdk は3.3ですが3.5があるみたいでwive-ngは3.5も含むらしいです,
by atc-500 (2012-02-09 01:51) 

ENSIGN2012

atc-500様、

wive-ngのMachine TypeにはSDK3.4ではサポートしていない3352と5350が入っていることをおっしゃっているのでしょうか?

詳しいことはわかりませんが、小生の推測では著者の事情で2M/16Mのpure AP構成はあまり開発に気をつけていないのではないかと思っています。でもpure APと言っても内製のソフトはAP Clientとか機能満載でさすがにelegantですね。

ということで、この掲示板で興味を持たれた方を含んで色々試してみて、うまく行けばgood newsをうまく行かなければ問題点をreportすればその時点で再度付き合ってくれるのではないかと思っています。

皆様仕事優先ですから、私達は楽しみながらゆっくりとやれば良いと思っています。

では。

by ENSIGN2012 (2012-02-09 19:00) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。