Attribute System

ジャンク奇行。 ときどき ラクガキ。

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

WER-AMG54 + openwrt ビルド編

2009-12-27 01:43:01 | wlan
前回までのくだりで そのままでは WER-AMG54 で openwrt が動かなかったので
いっちょビルドしてみよう、ということになりました。
どこかに よさげな howto がないかなと思っていたら、
本家 openwrt wiki に buildroot というページがありました。
英語ですが がんばってこれの通りにやってみました。

まずどれか Linux ディストリビュージョンを選ばなくてはなりません。
マシンを用意することも考えていたのですが、vm のページで VirtualBox + Debian
の例があったので これもこのまますることにします。

Debian のページの クイックインストール解説 を読みインストール開始。
インストールメディアは ネットワークインストールCDを選びました。
デスクトップ環境はいらないので ベースシステムだけ選択しました。
そのほかもディフォルトです。

なんとコンソールが日本語の表示ができません。
シェルが無駄に日本語対応しているので 文字化けして読めませんw。
クイックインストール解説の通りモジュールをロードしましたが
その次の jfbterm はインストールが必要なようです。
「どうせ SSH へ TeraTerm でアクセスする」という人は放置でも大丈夫でしょう。

wiki vm ページに戻って VM Configuration の項のコマンド3行を設定します。
ホストマシンの localhost:22 からゲストマシンの SSH にアクセスする設定みたいです。
やっていることは 仮想 LAN が NAT 環境なので、ルータのポートを空けるイメージですが、
GUI からの設定方法は結局分かりませんでした。素直にコマンドを入力でいきます。
"" の部分に 自分で作ったゲストマシンの名前を入力します。

やっと buildroot まできました。
subversion, build-essential, screen をインストールします。
screen は使わない気がしますが…。
GetSource からビルドするバージョンのコマンドを選んで入力します。
今回は 7.09 と 8.09 を試しました。
取得したフォルダの中に入って、
make menuconfig

します。すると足りないソフトを表示してくれるので 適宜入れましょう。
wiki にも Debian 5.0 では autoconf, bison, flex, gawk, ncurses-dev, unzip, zlib1g-dev
が必要だと書いてありますので、そのまま入れてもいいでしょう。

menuconfig が通るようになったら、保存せずに終了し
wiki WHR-HP-AG108 ページの Prepare firmware image の項の通りの修正をします。
具体的には 7.09 では ./package/madwifi/Makefile 中の
HAL_TARGET:=ap51 の部分を HAL_TARGET:=ap30 に変更します。
8.09 では ap51 という部分がなかったので mips-eb を ap30 に変えてみたのですがダメでした。
そもそも madwifi の HAL は、問題だった kernel panic ではまだ読み込んでないと思うのです。
予想では JFFS2 の最後のほうか、msgmni の設定か io scheduler のあたりでコケるのだと思います。
分かったところで、私にはどうしようもありませんが…。
WHR-HP-AG108/WHR-HP-AMPG でも同じようにコケるのか気になるところです。

つづいて menuconfig で kernel を atheros に、package 類はディフォルトか 適宜変更して保存します。
そしたらあとは make するだけです。
ネット情報だと 4時間くらいとあったのですが うちでは 12時間近くかかりましたw
マシンが非力なうえ、仮想マシンを使ってますので仕方ありません。
この menuconfig、すごい自動化であり プリインストールパッケージを選べたりと大変便利です。
機会があったら いじり倒したいですね。その後 12時間という恐怖がありますが…。

出来上がったイメージをホストマシンにコピーする方法は
折角 Windows で tftp サーバが動いているので、
私は tftp クライアントをインストールして put したのですが、あとで WinSCP なるものを知りました。
SSH トンネリングで ファイルを転送するらしいです。
ファイル数が少なければ tftp でも十分ですが、WinSCP 面白いです。

インストールはこんな感じです。環境により適宜読み替えてください。
WER-AMG54 の Redboot は lzma に対応していなかったので gz 版の kernel を使います。
また fis free で空き領域を表示してくれないので、自分で計算します。
RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
    Warning: device contents not erased, some blocks may not be usable
RedBoot> load -r -b 0x80041000 vmlinux.gz
Raw file loaded 0x80041000-0x80140fff, assumed entry at 0x80041000
RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xBE000000  0xBE000000  0x00050000  0x00000000
RedBoot config    0xBE3DF000  0xBE3DF000  0x00001000  0x00000000
FIS directory     0xBE3D0000  0xBE3D0000  0x0000F000  0x00000000
RedBoot> fis create -f 0xbe050000 -l 0x00100000 -r 0x80041000 -e 0x80041000 vmlinux.gz
RedBoot> load -r -b 0x80041000 root.squashfs
Raw file loaded 0x80041000-0x80160fff, assumed entry at 0x80041000
RedBoot> fis create -f 0xbe150000 -l 0x00280000 -b 0x800410000 -e 0x00000000 rootfs
RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xBE000000  0xBE000000  0x00050000  0x00000000
RedBoot config    0xBE3DF000  0xBE3DF000  0x00001000  0x00000000
FIS directory     0xBE3D0000  0xBE3D0000  0x0000F000  0x00000000
vmlinux.gz        0xBE050000  0x80041000  0x00100000  0x80041000
rootfs            0xBE150000  0xBE150000  0x00280000  0x00000000
RedBoot> fconfig
Run script at boot: true
Boot script: 
.. fis load linux
.. exec
Enter script, terminate with empty line
>> fis load -d vmlinux.gz
>> exec
>> 
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
Gateway IP address: 
Local IP address: 192.168.1.1
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.1.2
Console baud rate: 9600
DNS server IP address: 
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
RedBoot> reset
... Resetting.

とまぁ 駆け足でしたがなんとか buildroot することができました。
結果も 7.09 はちゃんと動きまして、うれしい限りです。
次回は 設定をいじってみようかな?
コメント (2)   この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 今日のお品。WLI-U2-G144N | トップ | オフラインファイルが開けない。 »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
昨日からOpenwrt 10.03.1-rc1も動いてる (Zgembo)
2010-08-11 20:39:12
HP-AMPGはbackfire10.03.1-rc1で動作するでしょう!
Re: 昨日からOpenwrt 10.03.1-rc1も動いてる (ヌキヲ)
2010-08-11 23:58:02
Backfire になってからはまだ試してないのです。
今度時間のあるときにでも試してみますね。

コメントを投稿

wlan」カテゴリの最新記事