> ということで、しばらくからかってみることにします。
> うまく行けばいいなぁ。
えへへ、うまく行きました。
> そこで、ちょっと古く、2004年ころの BusyBox 1.00 というのを取ってきました。
> こちらも、そのまま make するとエラー多発なんですが、なんか、コンパイラで
> はなく、Makefile の設定でなんとか行けそうな感じ。試しに make allnoconfig
> してみると、warning は多発するのですが、無事に最小構成のバイナリが完成し
> ました。
ちょっと気になって BusyBox 1.01 も取得してきました。そして make しました。
すると、なにやらワーニングは多発するのですが、エラーはほんの数ヵ所。それ
も、この程度のエラーならなんとかなりそう、というものばかり。とりあえず、
ソースを数ヵ所コメントアウトして再度 make したら、なんと成功。念のため、
BusyBox 1.00 ももう一度 make したら、1.01 と同じような状況。やはり数ヵ所
のコメントアウトで make が通ってしまいました。前回はいったい何が悪かった
んだろう。今回はルートユーザでログインしたのだけど、それが良かったのかな。
前回は一般ユーザでしたから。
さて、make が通るとわかれば、実際に欲しいツールが使えるように設定します。
ただ、この当時の Makefile には menuconfig なんて便利なものは付いていない
ので、設定がチョイとばかり面倒。とは言ってもそんなに難しくもないし、あっ
という間に完了。そして make。これで AP-11 等で実行可能なバイナリが完成。
クロスコンパイル環境を整えなくていいというのは便利ですな。この辺が、玄箱
やリナザウとは大きく違う点。
ただ、ソースにパッチをあてたところの挙動が不安。少なくとも今のところは、
不具合は顕在化していません。全ての分岐を追いかけるホワイトボックステスト
をやったわけではないので、そのうち何か問題が出るかもしれませんが。
さて、自宅据え置きで使う予定の AP-11(本当はAPR-11)では、以下のコマンド
を組み込んでみました。
Currently defined functions:
awk, busybox, egrep, fgrep, grep, httpd, login, ls, more, rdate,
tar, telnet, telnetd, wget
元々入っている BusyBox v0.43 で不満のあるコマンドは置き換えるけど、その他
のほとんどのコマンドはそのまま使うことにして、それに加えて必要だと思った
コマンドだけを組み込むと、ざっとこんなもの。無理に全てを置き換える必要は
ありませんからね。
これでサイズは 430712 バイト。スタティックリンクをしなければ 90KB 未満に
収まるのだけど、さすがにそれは、必要なライブラリが見つからないと言って動
きませんでした。
ちなみに、ポケ3と一緒に持ち運んで使うつもりでいる APRS-11 用では、ここか
ら httpd と telnetd を外しました。それでサイズは約 300KB。
割とサイズが小さくなったので、次の課題は、これをフラッシュメモリに格納す
ることかな。現状は、#1495 に書いたように、起動時にネットワーク越しに取得
するようにするようになっています。これがフラッシュメモリからの転送で済め
ば、起動時間の短縮に大いに寄与するはず。特に APRS-11 の方では、場合によっ
ては回線を接続してからでないと転送できないかもしれないわけで、そうすると
電話料金がえらくかかってしまいます。これは結構切実。
ん〜、AP-11 の方は、シンボリックリンクも含めてフラッシュメモリに入りきる
かなぁ。これがうまく行けば、サービス制御スクリプトの分も節約できるわけで、
私にとってはかなり嬉しい。
おまけ。
#1479 で次のように書きました。
> ただ、telnetd を試しに起動してみようとしたら、ソケットがつかめないと言っ
> て起動できなかった。おそらく、こんな感じで、なんかの理由で動かないコマン
> ドもたくさんありそうな気がする。
多分、これ、telnetd の設定が inetd 経由で起動するようになっているからでは
ないかなぁ。もしそれが正しいとすると、きちんと設定ファイルを書いてやれば
起動できるはず。試さないけど。
なお、どちらの設定にするのかはコンパイル時のオプションで選ぶようになって
います。
|