FON2200にOpen-WRTを入れてみた記録。
以下の作業は、シリアル端子からFonのブートローダーRedBootにアクセスして行ったものです。
いけにえ :FON2200
母艦 :ノートPC VAIO-typeSZ 2007年モデル
コンソール:TeraTerm
変換器 :今回はArduinoを使用(FT232Rだけ)
<Open-WRTってなんぞや>
組み込みLinuxの一種で、Fonのファームウェアや、DD-WRTのソース元。
自分で好きにモジュールを組み込める、らしい。(opkg形式でインストールができる)
これでシリアル経由でロボットの制御をしようとしてあれこれやろうと画策。結局ルーターとして重宝したっきり。
TFTP鯖 ファームは2009年6月時点のものです。 なぜか本家とのアクセスが悪いので
内容 openwrt-atheros-root.squashfs
openwrt-atheros-vmlinux.lzma
<PC側とコンソール上の設定>
Fonela開けてシリアルをつなぐ(改造して外にピンソケットが出してある)
ボーレートは9600bps
PCのipアドレスの設定 ネットでは固定192.168.1.10にする例が多い模様
Fonelaとシリアル通信ができると、まずはRedbootが起動するので ここでCtrl+c
Redboot> とプロンプトがでると成功。
PCのシリアルコンソールはDeleteキーの割り当てに注意。
(Backspaceに割り当てておくとLinuxの端末動作と同様の操作が可能)
ip_address -l 192.168.1.2/24 -h 192.168.1.10
アドレスは Fon側 / PC
この設定前にip_address と打ち、Fonelaのip設定を確認しておく。
あまり凝ったipにしておくと、TFTP鯖にアクセスしてくれない。
Fonで初期設定しているipとかぶらないように設定すること。
あとの流れは、フラッシュ上のファームを消去/ロード、書き込み となる。
以下ログ 赤字が入力したこと
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: .
RedBoot> ip_address
IP: 192.168.3.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
__udp_sendto: Can't find address of server // ロード失敗 ( ^ω^)・・・
Can't load 'openwrt-atheros-vmlinux.lzma': some sort of network error
RedBoot> ip_address -l 192.168.1.2/24 -h 192.168.1.10 //再設定 ローカルiP変更
IP: 192.168.1.2/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-root.squashfs ファームその1書き込み
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x801e0fff, assumed entry at 0x80041000
RedBoot> fis create -l 0x06f0000 rootfs
... Erase from 0xa8030000-0xa8720000: ...............................................................................................................
... Program from 0x80041000-0x801e1000 at 0xa8030000: ..........................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
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 0xa8720000-0xa87e0000: ............
... Program from 0x80041000-0x80101000 at 0xa8720000: ............
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
//以上ファーム書き込み
RedBoot> fconfig //Redbootの設定
Run script at boot: true
Boot script:
>> fis load -l vmlinux.bin.l7
>> exec //起動用スクリプト
>> //enterしてスルー
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
enterしてスルー
Gateway IP address:
enterしてスルー
Local IP address: 192.168.3.1
enterしてスルー
Local IP address mask:
enterしてスルー
Default server IP address: 192.168.1.10
Console baud rate: 9600 //ここはRedBootのシリアルボーレートの設定。 変える必要はなし(動かすディストリによっては、速度が変わるため、ボーレート変更が必要なこともある)
enterしてスルー
GDB connection port: 9000
enterしてスルー
Force console for special debug messages: false
enterしてスルー
Network debug at boot time: false
enterしてスルー
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> reset //システムを再起動
... Resetting.
成功すると、長々と起動ステータスが表示されて Open-WRTが現れる
BusyBox v1.11.2 (2009 time UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __この設定前にip_address と打ち、Fonelaのip設定を確認しておく。
あまり凝ったipにしておくと、TFTP鯖にアクセスしてくれない。
Fonで初期設定しているipとかぶらないように設定すること。
あとの流れは、フラッシュ上のファームを消去/ロード、書き込み となる。
以下ログ 赤字が入力したこと
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: .
RedBoot> ip_address
IP: 192.168.3.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
__udp_sendto: Can't find address of server // ロード失敗 ( ^ω^)・・・
Can't load 'openwrt-atheros-vmlinux.lzma': some sort of network error
RedBoot> ip_address -l 192.168.1.2/24 -h 192.168.1.10 //再設定 ローカルiP変更
IP: 192.168.1.2/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-root.squashfs ファームその1書き込み
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x801e0fff, assumed entry at 0x80041000
RedBoot> fis create -l 0x06f0000 rootfs
... Erase from 0xa8030000-0xa8720000: ...............................................................................................................
... Program from 0x80041000-0x801e1000 at 0xa8030000: ..........................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
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 0xa8720000-0xa87e0000: ............
... Program from 0x80041000-0x80101000 at 0xa8720000: ............
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
//以上ファーム書き込み
RedBoot> fconfig //Redbootの設定
Run script at boot: true
Boot script:
>> fis load -l vmlinux.bin.l7
>> exec //起動用スクリプト
>> //enterしてスルー
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
enterしてスルー
Gateway IP address:
enterしてスルー
Local IP address: 192.168.3.1
enterしてスルー
Local IP address mask:
enterしてスルー
Default server IP address: 192.168.1.10
Console baud rate: 9600 //ここはRedBootのシリアルボーレートの設定。 変える必要はなし(動かすディストリによっては、速度が変わるため、ボーレート変更が必要なこともある)
enterしてスルー
GDB connection port: 9000
enterしてスルー
Force console for special debug messages: false
enterしてスルー
Network debug at boot time: false
enterしてスルー
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> reset //システムを再起動
... Resetting.
成功すると、長々と起動ステータスが表示されて Open-WRTが現れる
BusyBox v1.11.2 (2009 time UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (8.09.1, r16278) ----------------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
root@(none):/#