FreeSBIE で必要な容量2007年09月04日 10時14分03秒

FreeSBIE で CD を焼くのに、イメージファイルを作る。package を入れると、それなりの容量が必要になってくるので、その目安として。

FreeSBIE は installworld と installkernel を行なうので、ソースと生成物を置く容量が必要となる。手元では src に 600MB、obj に1.3 GB ほど取られている。もし、一回コンパイルして、二度と変更しないのなら、mkuzip で固めると、80% ぐらいの容量を節約できると思う。

FreeSBIE は CD-ROM を作るのに二つのディレクトリを作る。freesbie-fs と freesbie-clone が作られる。fs の方に、一度全てをインストールしてから、更に CD イメージ生成用に clone にファイルを複製するので、やり方によってはかなりの容量を必要とする。

GEOM_UZIP を使わないと、CD の容量分までしか書き込めない。そのため、freesbie-fs の最大は 700MB となる。freesbie-clone は cpio を使って、ハードリンクを試みるように書かれている。そして、忘れてはならない、CD イメージに同じく、700MB 必要となる。そのため、(1)freesbie-fs と freesbie-clone が同一デバイス上にあると、 合計 1.4GB 分必要になる。(2) もし、異なったデバイス上にあると、2.1GB 分必要になる。

GEOM_UZIP を使っていると、更にディスクを消費する。経験上 /usr は、ほぼ四分の一の大きさまでに圧縮される。また、ほとんどのファイルは /usr 以下に収まる。つまり、700 MB の CD に 3GB に近いファイルが収まる計算になる。これが、freesbie-fs に必要な大きさとなる。その後、freesbie-clone が生成されるが、mkuzip を動かすために、usr の部分に mdconfig でファイルデバイスが割り当てられる。つまり、ここの分はほぼ全部コピーされることになる。その後、生成される uzip ファイルも freesbie-clone 内に配置されるので、必要な量は GEOM_UZIP を使うと一気に増える。(3)GEOM_UZIP を使うと、CD イメージに 700MB。freesbie-fs に約 2.8GB。freesbie-clone/usr に更に、約 2.8GB。/usr を圧縮したファイルが、約 700 MB。合計、最大で 7GB 近い容量が必要となる。作る CD イメージの約十倍近い容量が必要との見方もできるだろう。ただ、この数字はあくまで概算なので、過信しないでほしい。

最近は、ハードディスクも大容量化しているので、ディスクを使うのであれば、問題にはならないだろう。しかし、tmpfs を使うと話が変わる。tmpfs はせいぜい GB 単位しか作れないので、CD にどれだけ詰め込むかによって、tmpfs を使うべきか見極める必要がある。