最近のNetBSD

 前回IPL<font color=PowderBlue>と既に言えない代物だけど便宜上こう呼ぶ</font>とカーネルの2つが必要になる事は書いた。で、これらは個別に用意しなければいけない訳だが、いちいち2回に分けてROMに書き込むのはとっても面倒な訳です。で、<font color=SeaGreen size=+1>この2つを1つにまとめて1回で書き込めないかなぁ・・・</font>なんて思っていたら同じ悩みを持つ面倒くさがりな方<font color=PowderBlue>失礼m(__)m</font>は他にもいらっしゃるようで、<a href=http://www.cqpub.co.jp/hanbai/books/522120.htm>Enbedded UNIX vol1</a>という本にこれについての作業が事細かに書かれていた。この本は実際にNetBSD<font color=PowderBlue>だけじゃないけど</font>を組込みに使用するための基本的なところが解りやすく書かれているので、そっち方面にこれから踏込むという方はぜひ御手元に。<font color=FireBrick>解りやす過ぎて理解した気になってしまうところが問題と言えば問題だけど・・・【笑】</font>

 で、作業としては上記2つをバイナリ形式で用意<font color=PowderBlue>この辺もちょっと一苦労。後日書きます</font>し、それを/dev/zero経由で適当なファイルにcatするわけですが、この辺をこれまでやったクランチバイナリ作ったり、デバイス作ったりといった作業と合わせてmake一発でやってしまっています。で、私はこれを元に、さらにカーネルの再構築なんかも出来るようにして、さらに自分の環境に合わせてゴチャゴチャ書き直したりした訳ですが、ひょんな事からとんでもない事に気が付いてしまいました。実はこの辺の作業って<font color=FireBrick size=+1>/usr/src/distribの下で出来るように始めっからちゃんと用意されてた</font>んですね<b>(T_T)</b> クランチバイナリとリンクの整合性が取れなくなったり、いちいち環境変数設定したりしたあの血と汗と涙は全て無駄な努力だった事に、ここへ来て始めて気が付きました【号泣】

 とりあえずこれでROM書込み用ファイルの作成までが簡単に出来るようになりました。後はこれを直に書込むなり、書込みプログラム作るなりすればオッケー。デバッガで書込むと30分は掛かると言うのがちょっと・・・(T_T)