2010/11/10

NanoBSD

覚え書きモード。


Q: できれば FreeBSD ベースで、電源をいきなりブチッと切っても大丈夫な、組み込み向け (?) の BSD はないですか?

A: NanoBSD は如何でしょう?


さて、NanoBSD ですが。
FreeBSD の配布物に含まれている、組み込み向けにカスタムした FreeBSD イメージを作るためのスクリプト群、またはその成果物のことだそうで。
スクリプトは、/usr/src/tools/tools/nanobsd/nanobsd.sh にあります。

仕組みとしては、以下のようになっている模様。

 ・/ は、リードオンリーでマウント
 ・/etc と /var は md (メモリディスク) に作成
 ・不揮発設定は /cfg に保存 (/etc は、起動時に /cfg を一時的にリードオンリーでマウントして自動生成)
 ・システムパーティションは2つある
 ・/cfg も1パーティションになっている (当たり前)

システムの更新は、2つあるシステムパーティションのうち、現在非アクティブな方に新しいイメージを書き込み、そこから起動。
上手く動いたら、起動したパーティションをアクティブにマークして終了。
ダメだったら、とりあえず元々起動していたパーティションから起動し直してサービスを続行させておき、イメージの作り直しを行う。
つまり、ダウンタイムは再起動の手間だけとなる上、復旧も容易。

なお、この NanoBSD をベースに使用しているプロジェクトには、以下の物などがある。
 ・FreeNAS
 ・BSD Router Project
 ・pfSense


NanoBSD に関する資料は、以下などを参照。

Introduction to NanoBSD
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/nanobsd/index.html

NanoBSD HowTo
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/nanobsd/howto.html

FreeBSD Doc NanoBSD (上記2つの日本語訳)
http://www.seichan.org/wiki/index.php?FreeBSD-Doc-NanoBSD

documentation:technical_docs:nanobsd (BSD Router Project の NanoBSD 情報ページ)
http://bsdrp.net/documentation/technical_docs/nanobsd

0 件のコメント:

コメントを投稿