LiveCDとは、FreeBSDのFreeSBIE、Linuxでいえば、KnoppixやCD Plamoなど、ハードディスクに インストールせずにCDブート媒体のみで使えるシステムのこと。

OpenBSDでこれをやってみた;

作成のポイント

このての奴を作るには、OSの種類を問わず次のような点がポイントになってくる(と思う)。

外部デバイス(今回の場合はCD)からカーネルを読み込む仕組みをどうするか。
最初は全てがCD-ROM上にしかないので、カーネルをそこからロードする手段が必要になる。

1)ハードウェアがCD-ROMからの初期コード読み込み/実行をサポートしていること。
2)最初に起動されたプログラムがCD-ROMから残りのコードを実行できる仕組みを持っていること。

最初はいわゆる「CD-ROMブート対応」というやつで、最近はこれに対応していないPCはまずないだろう。
2については、OpenBSDの場合は、配布物に含まれているローダ(cdbr)が利用できる。
書き込み可能なパーティションをどうやって確保するか。
言い替えれば、「ルートデバイスには何をマウントするか」という話になる。
これは次項のルートパーティションのマウントの問題とも関連している。 CD-ROMだけでは、書き込み可能なファイルやディレクトリを確保できないので、OSを正常に運用することができない。利用できるデバイスとしては、以下のようなものが考えられる。

デバイス特徴
RDカーネル内のメモリにあらかじめ組み込む。作成/変更が面倒
MFS起動直後は空。あらかじめファイルを作成しておくことはできない
フロッピーディスク容量が少ない。最近は実装されていないハードもある。
(運用後設定を記憶させておくにはよいかも)
NFSサーバを別に用意する必要あり
(昔はやった「ディスクレスワークステーション」ですな)

CD一枚で使える。ということを考えれば、やはり別のマシンやメディアに依存する方法は避けた方がよさそうだ。RDやMFSなどの方法を考えてみる。
ルートデバイスのマウントをどういう方法でやるか。

...と、ここまで書いたらEBUG(越後BSDユーザ会)の会合で話をすることになったので、レジュメ形式の文書を作り始めました。後日このページと統合します。

成果物

似たようなことをやってる人達


Front page   New Page list Search Recent changes   Help   RSS of recent changes