2005-09-20 (火)
*Linux on BBR-4MG
コンソールを開けないのは,/dev/consoleが無かったからだった.何で作られないのかスクリプトを読んでみると,mknodに-mオプションが指定されてる(ありがち).mオプション消してchmodを追加.というか,苦労している殆どの問題はLinuxとBSDの違いだったりして….
カーネルはこんな感じか.今度はinsmodがエラー吐いてる….ってIPN2220AP.oて無線LAN用のモジュール?取り合えず,起動しないように./etc/init.d/rcSを消したらエラーが出たので,空のスクリプトにしておく.
今度はエラーは出ないけど何も表示されない.というわけで,さっきの/etc/init.d/rcSで/bin/ashを起動.本当は別の所に書くのかも知れないけど,私はLinux使いじゃないのでスクリプトの作法が全くわかりません.
とうとう,シェルが動きました.ここまで3日もかかった.
/procが空だったので,fstabを確認.設定はされているところをみると,マウントされてないのかな.というわけで,先ほどのスクリプトにmount -aを追加.fstab見たらコンソールの設定もあったので,そっちを使うように.
ifconfigするとloしかない.ifconfig eth0 upしたら見えるようになって,IPを設定したら外と通信できるのは確認しました.
フラッシュメモリを使えるように色々弄ったけど上手く動かない.物理メモリ上にマップされてるから,最悪読むことはできるだろうけど,書き込めないとなぁ.
意外と色々なことがあって面倒くさい.組み込みLinuxだからと甘く見てたかな.ところで,/devにネットワークインターフェイスが無いけど,いいのかな?
最近,Linuxが少しずつ分かってきました.やっぱりOSを手っ取り早く知るためにはソースを弄りながら動かして見るのが一番ですね.大学の授業でTurboLinuxを使ったときは,結局よく分からなかったし.
シリアルポートでの転送中にデータが送れなくなって失敗することがあるのは,私が作ったレベル変換回路がおかしいのかな.2MB近いデータを転送するのに5分以上かかるので,途中で失敗するのは困る.というか,シリアルポート経由でカーネルイメージを転送してデバッグって無理があるなぁ.起動してからならtftpでデータ送れるのに.作業の半分の時間は転送を待ってる時間な気が.
…帰ってきてからちょっと弄って起動したときのログ.tftpは動きませんでした.メモリが足りないのかも.pingは動きます.