VIVER本体0.3まで残りは。

終わりが見えてきた。


スパースの接続とルートファイルシステムの拡張
/dev/以下の引継(mount -o move /dev /sysroot/devにしようか、cp -a /dev/* /sysroot/devにしようか)
pivot_root
syslog
ブートパラメータ次第でディスクイメージをRAM上にぶちまける
ディスクから起動する場合でもブートパラメータ次第でネットワークを起動する
DNS-SDでNBDサーバーを検出する



最初の3つ以外は後でも良い。とりあえず最初の3つを実装すれば動く。
process.ccが非常に便利。最初に作っておいたので、後が楽で良い良い。


たぶんスパースの接続は、動かすだけなら割と簡単にできる。process.cc使いまくり。シェルスクリプトと変わらんなw


/dev/以下の引継が意外と面倒かな。/dev/にあらかじめtmpfsをマウントしておいてmount -o moveすると、ディストリビューションによっては動かなくなるかもしれない。いや、/dev/にそんな巨大ファイルを置くディストリビューションも無いか…。

どうせディストリビューションの方でudevを起動するだろうから、/dev/consoleとか/dev/nullとかの必要最低限だけmknodする、という手もある。

む!そういえばudevをinitrdの中でやるディストリビューションがあったな…。そいつはマズイ。VIVER側でudevしないといけない?viverrcと並列で動かしてしまっても良いか?/dev/以下にリッチにたくさん必要とするプラグインってあるかな?ありそうだな。マズイな。

あ、udevをプラグインにすれば良いのか。ソレだ!

解決。


pivot_rootは…これは面倒だけどしょうがないか。がんばって作る。