2010年12月17日金曜日

debianでupstart導入(ドキュメント読んでみた編)

ARM400MHzメモリー64Mしかないボードだと起動するだけで1分かかる。
これだと組み込み製品にしたとき使い物にならないのでなんとか早くしたい!と思って
upstartのドキュメントを読んでみた。
それで分かった事をメモしていく。

<Ubuntu環境から分かったこと>
1.設定ファイルの居場所
sysvinit→upstartにしたとき、
/etc/inittabに全部の設定を書いていたものが
/etc/init/*.confでばらばらに1ファイル1設定で記述する形式になる。

2.設定内容
試しに
/etc/init/tty1.confを開いてみるとランレベルが無くなる?と、どこかで見た内容とは違い、
ランレベルの設定がある。
start on stopped rcRUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 tty1
この内容だけ見て検討も付けられないけど今まで一行にまとめて記述していたものを分解したイメージなのかな。

これがsysvinitのときの設定。
T0:123:respawn:/sbin/getty 115200 ttySAC0

見比べてみればほぼ一致してるけど新しいパラメータが増えていたり設定できない部分もある。
これ以上みても真相が分からないままなので公式を見に行くことにした。

<公式UpstartのWikiから分かったこと>
http://upstart.ubuntu.com/wiki/

1.1つ1つイベントの状態は変更ができるぽい。
http://upstart.ubuntu.com/getting-started.html
こんな感じにできるんだーって感じで流し読み。
イメージできたものはsysvinitで全部直列でやってたものをパラレル処理できるように
1イベント1プロセスで割り当てて、依存関係は1プロセス内に条件を記述しているんだな程度。
停止するときはどうなんだろう、、とか変な事も考えつつページをそっと閉じた。

2.その他
コマンド一覧などが一杯あるけど、やってみないと分かんないと判断して読むのをやめた。

自分が扱うもので依存しそうなものはないので、
Sysvinitから移植しても動かせれそうな気がしてきた。
移植方針は、似たモジュール設定をコピー書き換えで済ましてやってみようと思う。

0 件のコメント:

Androider