2005-08 << 2005-09 >> 2005-10

2005-09-21 (水)

*Linux on BBR-4MG

今日はフラッシュメモリにMTDドライバでアクセスできるようになりました.do_map_probe()でamd_flashにデバイスのアドレスを渡してやればOKだった.Linuxいじっている人にとっては常識かもしれませんが…….とりあえず,/dev/mtdを読むとフラッシュの内容が出てきます.書き込みは怖いのでもう少ししてから試す予定.

今回は結局使わなかったけど,jedec_probe.cはlinux/init.hがインクルードされてないせいでコンパイル通らなかった.

なんか,よくpanicすると思ったら,prom.cでRAMのサイズが16MBになってた.BBR-4MGのRAMは8MBです.で,8MBに直して起動したら.「Kernel panic: Out of memory and no killable processes...」ふぐぅ.今までは運良く動いてたのかぁ.RAMDISKをもっと小さくしよう.とりあえず3MBに.

ついでに,カーネルからも色々外す.ちょっと不便になるくらいは我慢しよう./dev/ptsも無くていいか.これでメモリには大分余裕ができたかな.ファームウェアとしてフラッシュに書き込むには,もっと小さくしないとなぁ.BBR-4MGのブートローダを書き換えれば余裕で入るのだけど,取り返しの付かないことになる可能性があるので躊躇してます.なんで,2MBあるのに,プログラム用の領域が512Kなんだ….Linuxカーネルを二つに切って,最初の部分だけロードさせてカーネルの頭に後半を何処からかコピーするコードを入れてみようか.標準のファームウェアもそろそろ無理をしているので,フラッシュメモリのレイアウトを変更してくれたりしないかなぁ.ファームウェアの互換性の問題で無理か….(……いや,記憶が確かならブートローダもwebインターフェイスからアップデートできそうなコードが入っていたぞ.これは気のせいかもしれないけど)

DHCPサーバも動かしてみる.設定ファイルが無いといわれたので,cat,tail,headあたりを駆使してその場で書いてみる.…ってviあるじゃないか.普通に使えます.DHCPサーバも動きました.でもルータとしては動いてないので,あんまり意味は無い.それよりもmkdirやchmodが無い状態だと結構つらい.BusyBoxのコマンド増やすか….

次は,tftpを使えるようになれば良いかな.Webサーバは転送するイメージのサイズの都合上,tftpサーバ上にあるものをコピーして使うのが現実的かも.起動時の操作がだんだん複雑に….

ソースを色々といじってておかしいと思ったら…なんで初期化子付きで宣言した配列の要素の数がdefineされてるかな.そんなにsizeof嫌いですか.

なんか,そこらじゅう弄っていると,何処を弄ったのか忘れそう.個人的な作業でもソースファイルのバージョン管理が必要かも.

BBR-4MGはLinuxの走るネットワーク対応のマイコンボードとして遊ぶのが正しい使い方です(嘘).