La Fonera Open-Wrt化失敗
結論はタイトルのとおりです。
ただ、インストールまではうまくいったと思います(多分)。しかし起動しません。
Open WrtのLa Foneraへのインストール手順は、日経Linux 12月号そのままでいけました。昨日まで失敗していた原因は単なるミスであることが判明。
とりあえず、手順を載せておきます。
(0) まず準備ですが、以下のものをダウンロードしておいてください。
・ Tera Term Pro ver.2.3 : http://hp.vector.co.jp/authors/VA002416/
・ Poor TFTP for WIN32 : http://www.vector.co.jp/soft/dl/win95/net/se174412.html
・ Open Wrt 本体 : http://downloads.openwrt.org/kamikaze/8.09/atheros/
Open Wrt本体は、上のフォルダの中の二つのファイル「openwrt-atheros-root.squashfs」「openwrt-atheros-vmlinux.lzma」をダウンロードします。
La Foneraは、Open Wrtの開発版である「kamikaze」にのみ対応していないそうです。バージョンは、日経Linux 12月号では「7.09」をつかっていましたが、8.09でもいけるそうです(最新版の日経Linux 6月号に載っていました)。
Tera Term Proはインストールを、Poor TFTPはファイルを解凍しておいてください。Open Wrtのダウンロードファイルは、Poor TFTPの解凍したフォルダに入れておいてください。
(1) まず Tera Term Proを起動。
上のような画面が出てくるので、「Serial」のPort:を「COM1」としておきます。
デフォルトで、接続速度が9600bpsになっているので、とりあえず設定は不要です。
(2) その後、シリアルケーブルでつないだLa Foneraの電源を入れます。
するとしばらくして、「== Executing boot script in 10.000 seconds - enter ^C to abort」というメッセージが出てくるので、そこですかさず「Ctrl + C」を押します。
(3) Poor TFTPというフリーソフトを立ち上げてます。このとき、ついでにLa FoneraとPCをLANケーブルで直結します。
これで準備完了。「RedBoot>」というプロンプトが出て入力待ちになっているはずです。
(4) いよいよ、シリアル経由で入力開始。以下、入力するコマンドを下線付き太線で表現します。
ここで、私のうちはたまたまメインPCに「192.168.1.10」というIPアドレスをつけているので、
RedBoot> ip_address -l 192.168.1.2/24 -h 192.168.1.10
と入力しました。「192.168.1.2」はLa Fonera側のIPアドレスになります。
IP: 192.168.1.2/255.255.255.0, Gateway: 192.168.1.1
Default server: 192.168.1.10
というメッセージが出てきたら、
RedBoot> fis init
と入力。
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
一箇所「y」と入力するだけです。
続いて、
RedBoot> load -r -b 0x80041000 openwrt-atheros-root.squashfs
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x80160fff, assumed entry at 0x80041000
最初の一つ目のファイルをメインPCから落としてきます。
続いて以下のコマンドを実行。
RedBoot> fis create -l 0x06f0000 rootfs
... Erase from 0xa80f0000-0xa87e0000: ..........................................
.....................................................................
... Program from 0x80041000-0x80161000 at 0xa80f0000: ..................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
ここが半端じゃなく長いです。20分以上はお待ちください。
ちなみに、私はどうやら昨日まで「0x06f0000」を「0x06f000」とひとつ0を付け忘れていたような気がします。今回はすんなりいきました。
同様に2つ目も以下のコマンドを打ち込みます。
RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
-
Raw file loaded 0x80041000-0x80100fff, assumed entry at 0x80041000
RedBoot> fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
... Erase from 0xa8030000-0xa80f0000: ............
... Program from 0x80041000-0x80101000 at 0xa8030000: ............
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
ここもまあまあ時間がかかります。なお、vmlinux.bin.l7の「l7」は「える なな」です。「じゅうなな」ではないので注意して下さい。
さて、これでインストール完了。続いてRedBootの設定をしておきます。
RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l vmlinux.bin.l7
>> exec
>>
「exec」の次はエンターキーだけを押します。すると、以下のような項目が質問されますが、2箇所を除いてそのままエンターキーを押し続けます。
Boot script timeout (1000ms resolution): 10
Use BOOTP for network configuration: false
Gateway IP address: 192.168.1.1
Local IP address: 192.168.1.254
Local IP address mask: 255.255.255.0
Default server IP address:
Console baud rate: 115200
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
「Console baud rate:」を9600から115200に変更していますが、これは特に必須ではないかもしれません。
最後の質問の「y」だけは必ず入力してください。
RedBoot> reset
最後にリセットして、再起動させます。
ここで再起動画面が文字化けしますが、これは通信速度が9600から115200に変更するため。Tera Term側の設定を変えておきます。
メニューバーの「Setup」-「Serial port・・・」を選択すると、ウィンドウが開きます。その中の「Baud rate」を9600から115200に変更します。
この状態でもう一度La Foneraの電源を入れなおすと、ちゃんと表示されます。
ところが起動すると・・・
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version V1.00 - built 10:37:27, Dec 12 2006
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Board: FON1
RAM: 0x80000000-0x81000000, [0x80040aa0-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 10.000 seconds - enter ^C to abort
RedBoot> fis load -l vmlinux.bin.l7
Image loaded from 0x80041000-0x80282085
RedBoot> exec
Now booting linux kernel:
Base address 0x80030000 Entry 0x80041000
Cmdline :
この「Cmdline :」を表示してとまってしまいます。ここから先は1時間くらい放置しても進みませんでした。
第一La Foneraのランプがひとつもついていません。これは明らかに失敗。
そこでいろいろと試行錯誤したのですが、例えばhttp://www2omshiva.dyndns.org:8080/openwrt-fonera-contentsのサイトを見に行って、こちらのインストール方法を試したり(手順(4)で2回出てくる「fis create ~」のコマンド中のアドレスと、インストールさせるファイルがちょっと違います)、Kamikazeの8.09ではなく、7.09を試したり・・・いずれも同じ結果でした。
ちなみにDD-WRTのV24のインストールはうまくいきます。といっても、こちらはこちらで1分毎にネットワーク関係のエラーメッセージが出るという問題がありますが・・・とりあえずは起動しますし、Tera Term上でLinuxのコマンドも受け付けます。
いよいよお手上げ。原因がわかりません。
DD-WRTがインストールできるので、そちらを使って何かできないかを考えるしかなさそうですね。ただ、こんな状態だと果たしてDD-WRTでもちゃんと動くか、ちょっと不安です(エラー出してますし)。
しばらく放置しそうですね・・・またそのうち考えます。
« Acerから気になるネットブック情報 - Aspire one 571登場? | トップページ | Mac book Airをぶっ壊す動画 »
コメント
« Acerから気になるネットブック情報 - Aspire one 571登場? | トップページ | Mac book Airをぶっ壊す動画 »
うーん、難しそうですねぇ!
じつは私も今日はsdbからXandrosを起動させようと必死に試行錯誤しましたが撃沈しました。
情報量の少ない世界はつらいですね。(^^;
投稿: アンビンバンコ | 2009年5月17日 (日) 22時09分
こんにちは、アンビンバンコさん。
本当に情報が少ないとつらいですね。でもうちのLa Foneraの場合、壊れてしまった可能性の法型化域がします・・・あくまでも直感ですが。
お互いがんばりましょう。
投稿: arkouji | 2009年5月18日 (月) 12時12分
どうもです、 たまたま見ました。
どうもコマンドを実行する順番とロードする場所を間違えてらっしゃるような気がします
RedBootで実行するコマンドを順番にならべてみました。
ご確認ください。
fis init
ip_address -l 192.168.1.2/24 -h 192.168.1.10
load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma
fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
reset
load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs
fis create -l 0x006F0000 rootfs
reset
ではでは。OPEN-WRT
投稿: | 2009年5月22日 (金) 08時53分
こんにちは、??さん。
早速情報どおりやってみました。
・・・が、やはり同じところでとまってしまいます。
うちのLa Fonera、壊れてしまったんでしょうか?DD-WRTは動くのに・・・不思議です。
近所にLa Foneraを売っている店を見つけましたので、予算が許せばもう一台買ってみます。
投稿: arkouji | 2009年5月22日 (金) 20時17分
DD-WRTが動作するのであればこわれているとは思いません。
考えられるトラブルとしてはダウンロードしたバイナリが壊れてしまっているのか
親PC→fonからのコピー時に壊れたのか等が想定されます。
すいません、この記事を見てコメント付けましたが fonは2100をお使いでしょうか、違うならコピーしたメモリアドレスが違う場合も考えられますので
fis freeを実行してコピーしたサイズが合っているか確認する事も出来ます。
ではでは
名前を入れる前に送信ボタンを押してしまいました。
投稿: | 2009年5月22日 (金) 22時17分
FON2100でしたら以下にインストールの記事がありました。
入力するコマンドだけなので、ある程度の知識が必要ですが
お役にたてば幸いです。
http://blogs.yahoo.co.jp/prqyj426/
投稿: | 2009年5月22日 (金) 22時19分
こんにちは、??さん。
いろいろお心遣いありがとうございます。
うちのLa Foneraは2200です。ただ、ネットや日経Linux(去年の12月号と今年の6月号)を読む限り、2100も2200も手順的には変わらないようですが・・・
ちなみにOpen Wrtのバイナリは、Kamikaze 7.09、8.09の両方をダウンロードして試しました。また~.lzmaと~.squashfsのインストール順を入れ替えたり、ダウンロードしなおしたり・・・
いずれも「Cmdline :」というところでとまります。
確かにDD-WRTは動くのに、不思議です。ネットをいろいろとあさってみましたが、2200だから特に特別なことをしました、というのは見つかりませんでした。
投稿: arkouji | 2009年5月23日 (土) 11時20分
??さんのコメントに追記です。
Open-Wrt、動きました!!いや、正確には動いていました。
シリアルコンソールでとまってしまったので、てっきり失敗だと思っていましたが、Telnetで入ってみたらログインできました。
この辺の経緯はまた記事にアップします。
実は今日もう一台La Foneraを買ってしまったのですが・・・まあ予備機としてもっておきます。
投稿: arkouji | 2009年5月23日 (土) 23時16分
通りすがりです。
RedBoot上で、 baud rateを9600から115200に変更していますが、OpenWRTの配布物だと、Linux でのbaud rateは9600になっています。
Cmdline の後でLinux Kernelのロードに入り、その後はLinuxのconsoleメッセージになるので、baud rateが9600になって表示がされなくなるのだと思います。
未確認ですが、DD-WRTの配布物がLinux でのbaud rateが115200になっているようです。
投稿: takekazuomi | 2009年6月29日 (月) 07時54分
こんにちは、takekazuomiさん。
Cmdlineの後は9600になってしまっているんですね。たしかに、それだと表示されなくなりますね。
現在では115200になっているんでしょうか?暇があれば確認してみます。最近なかなか暇がないので、La Foneraにかまっていられなくなっていますが・・・何とか時間を作ってみます。
投稿: arkouji | 2009年6月29日 (月) 20時13分