FreeSBIE 22006年03月13日 01時25分08秒

/usr/local/share/freesbie にビルドツールが入る。 2006 年 2 月に新しく再設計された FreeSBIE 2.0 が出てきたばかりなので、情報が古くなってしまったサイトも多く、あんまりドキュメントが無いのが少々珠に傷。

freesbie.defaults.conf を参考にして、freesbie.conf に必要最低限の設定を書くのが基本。これで、基本的な設定が出来る。launch.sh が freesbie.conf を読み込み、freesbie.defaults.conf で未設定の値を補完をする。例が書かれているので、ここが始発点。これだけでも、かなり融通が効く。

それに加えて数々の拡張機能を提供している。

LOCALDIR で launch.sh:LOCALDIR=$(cd $(dirname $0)/.. && pwd) と設定される。FreeBSD ports では、/usr/local/share/freesbie になり、ここが freesbie の基地になる。

MAKE_CONF から、make の情報が取られる。MAKE_CONF が設定されていなければ LOCALDIR の下の conf/make.conf から取られる。そのときに MINIMAL が設定されていると conf/make.conf.minimal から取られる。これが、make world/kernel に使われる。/usr/src/Makefile.inc1 に書いてあるオプションが使える。freesbie では/etc/make.conf が使われるわけではない

/usr/local/share/freesbie にある Makefile は script 以下の shell script の起動順を制御する。細かい操作は script 以下に配置されている。script/launch.conf が名前の示す通り起動の基。これを通して、script の下に配置されているスクリプトを起動する。このスクリプトは scripts/custom に同名のスクリプトを置くことで、FreeSBIE の提供するスクリプトの変わりに利用することが出来る。custom のディレクトリの位置も SCRIPTS_OVERRIDE を指定しておくことで、違う場所に置くことが出来る。

KERNELCONF が設定されていると、buildkernel にそれが利用される。無い場合は LOCALDIR の中にある各 arch に対応する FREESBIE が利用される。CD 起動用に GENERIC とは違ったオプションが設定されているので、自分でカーネルを作る場合は注意をした方がいい。

ports/packages は freesbie を実行するシステムに入っている物を利用して package を作り、インストールするので、image に入れたいものはあらかじめインストールしておく必要がある。なお、package システムはインストールしてある設定ファイルを基に package ファイルを作るので、自前で変更してある分も一緒に取り込まれることになる。

これだけ、知っていれば自分の用途に合わせて、かなり自由に CD を作れるはず。

FreeSBIE 2 は、とても上手に書かれたシステムである。FreeBSD の make world/kernel と ports の仕組みをよく理解し、上手に利用している。それに加えて、make と shell script もそれぞれの特徴を生かし、書き方もとてもこなれて、きれいに FreeBSD のシステムと融合している。shell script の書き方もうまい。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/03/12/286485/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。