La FoneraにOpenWrtをインストールする

La Fonera (FON2200E) にOpenWrtをインストールします。

OpenWrt

OpenWrtは組み込み向けLinuxディストリビューションです。

<基本構成>
・カーネル2.6
・Cライブラリ uClibc
・コマンド集 BusyBox
・パケットフィルタリング netfilter
・パッケージ管理 Opkg

インストールに使うLinuxマシンの準備

インストールに使用するLinuxマシンUbuntu 9.04を準備します。

TFTPサーバ Advanced TFTP (atftpd)をインストールします。
$ sudo aptitude install atftpd

openbsd-inetdサービスを起動(再起動)し、インストールしたatftpdの設定を読み込ませます。
$ sudo /etc/init.d/openbsd-inetd start

UDP 69番ボートが開いていることを確認します。
$ netstat -lnu | grep :69

atftpdがファイルを公開するディレクトリは /var/lib/tftpboot に用意されます。

$ sudo /etc/init.d/openbsd-inetd start
 * Starting internet superserver inetd                                             [ OK ]
$ netstat -lnu | grep :69
udp        0      0 0.0.0.0:69              0.0.0.0:*
$

TelnetクライアントからのLa Foneraへのアクセス

TelnetクライアントからLa Fonera(FON2200E)のブートローダRedBootにアクセスできるようにします。

FON2200EへはFON2201E(La Fonera+)と同様の方法でTelnetからアクセスすることができます。

LinkIconLa Fonera+にTelnetクライアントからアクセスする

OpenWRTファームウェアのダウンロード

OpenWrtのファームウェア Kamikaze 8.09.1 をダウンロードします。

ダウンロードサイト
http://downloads.openwrt.org/kamikaze/8.09/atheros/

ルートファイルシステムのイメージ
openwrt-atheros-root.squashfs

カーネルのイメージ
openwrt-atheros-vmlinux.lzma

ダウンロードした2つのファイルを /var/lib/tftpboot にコピーします。
$ sudo cp openwrt-atheros-* /var/lib/tftpboot

コピーしたファイルのパーミッション設定を変更します。
$ sudo chmod o+r /var/lib/tftpboot/openwrt-atheros-*

OpenWrtのインストール

TFTPサーバ IPアドレスの設定

TFTPサーバのIPアドレスを設定します。
RedBoot> ip_address -h 192.168.1.2

OpenWrtファームウェア保存領域の確保

オリジナルのファームウェアを削除し、OpenWrtファームウェアの保存領域を確保します。

RedBoot> fis init
... - continue (y/n)? y

Linuxカーネルイメージの転送とフラッシュメモリへの書き込み

LinuxカーネルのイメージをTFTPサーバから転送し、フラッシュメモリへ書き込みます。

RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma

RedBoot> fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7

未使用フラッシュメモリの大きさ調査

未使用のフラッシュメモリの大きさを調べます。

RedBoot> fis free
 0xA80F0000 .. 0xA87E0000

右側の値から左側の値を引き算します。
0xA87E0000 - 0xA80F0000 = 0x006f0000
"引き算の値" 0x006f0000 を次の操作で使いますのでメモしておきます。

ルートファイルシステムイメージの転送とフラッシュメモリへの書き込み

ルートファイルシステムのイメージをTFTPサーバから転送し、フラッシュメモリへ書き込みます。
RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs

-lオプションに前の操作で求めた"引き算の値"を指定して書き込み操作をします。
RedBoot> fis create -l 0x006f0000 rootfs

再起動

La Fonera+を再起動します。

RedBoot> reset

OpenWrtへのTelnetからのアクセス

OpenWrtにTelnetからのアクセスします。
有線LANのIPアドレスは 192.168.1.1 になっています。

$ telnet 192.168.1.1

OpenWrtのロゴが端末に表示されます。

OpenWrtの設定

管理者パスワードの設定

管理者パスワードを変更します。
# passwd

rootパスワード設定後は、SSHからのアクセスになります。
(Telnetサーバは起動しなくなります。)

ホスト名とタイムゾーンの変更

ホスト名を設定します。
# uci set system.@sysem[0].hostname=fon

タイムゾーンを日本時間に設定します。
# uci set system.@system[0].timezone=JST-9

コミットします。
# uci commit system

再起動します。
# reboot

ネットワークの設定

ネットワークの設定を行います。

<固定アドレス>
# uci set network.lan.proto=static
# uci set network.lan.ipaddr=192.168.1.120
# uci set network.lan.netmask=255.255.255.0
# uci set network.lan.gateway=192.168.1.1
# uci commit network
# ifdown lan && ifup lan

DHCPでネットワークを設定する場合は次のように設定します。
# uci set network.lan.proto=dhcp
# uci commit network
# ifdown lan && ifup lan

無線LANアクセスポイントの設定

無線LANのネット-ワークを設定します。

無線LANアクセスポイント機能を有効にします。
# uci set wireless.wifi0.disabled=0

最大電波出力値を10dBmにします。
# uci set wireless.wifi0.txpower=10

SSIDをFON_APに設定します。
# uci set wireless.wifi0.ssid=FON_AP

セキュリティ方式をWPA2 Personalの WPA2-PSK に、暗号化アルゴリズムを AES にします。
# uci set wireless.wifi0..encryption=psk2

パスワードを設定します。
# uci set wireless.wifi0.key=<パスワード>

コミットします。
# uci commit

無線LANアクセスポイント機能を有動作させます。
# wifi

<セキュリティ方式>

psk2
WPA2 Personal + PSK
psk
WPA2 Personal + TKIP
wep
WEP

参考サイト

RedBoot User's Guide
http://www.ecoscentric.com/ecospro/doc.cgi/html/redboot-guide/redboot-guide.html

変更 2010.10.25
追加 2010.07.19
2009.03.08