Linux 版 BFS ファイルシステム
=============================

BFS ファイルシステムは SCO UnixWare OS で /stand スライス用に使用され
ており、通常はカーネルイメージやブートプロセスで必要となるいくつかのファ
イルが含まれています。

Linux 下で /stand パーティションにアクセスするためには、当然パーティ
ション番号を知る必要があり、カーネルが UnixWare のディスクスライスをサ
ポートしなければなりません (CONFIG_UNIXWARE_DISKLABEL コンフィグオプショ
ン)。ですが loopback 経由で BFS ファイルシステムをマウントすることもで
きるため、BFS のサポートは UnixWare のディスクラベルのサポートには依存
しません。

# losetup /dev/loop0 stand.img
# mount -t bfs /dev/loop0 /mnt/stand

ここで stand.img は BFS ファイルシステムのイメージを含んでいるファイル
です。
使用し終わり、/dev/loop0 デバイスを解放する必要がある場合には umount
後に次のコマンドを実行します。

# losetup -d /dev/loop0

とします。

以下のようにして、単純にマウントすることができます。

# mount -t bfs -o loop stand.img /mnt/stand

このコマンドは最初に利用可能な loopback デバイスを自動的に割り当てます
(また必要であれば loop.o カーネルモジュールもロードします)。loopback
デバイスが自動的にロードされない時には、カーネルが kmod サポート
(CONFIG_KMOD) を有効にしてコンパイルされているかを確認してください。ま
た、使用しているシステムの /etc/mtab ファイルが /proc/mounts ファイル
へのシンボリックリンクの場合、umount は /dev/loopN デバイスを解放しな
いことに注意してください。この場合には -d を指定して手動で losetup(8)
を実行する必要があります。詳しくは losetup(8) の manpage を読んでくだ
さい。

UnixWare で BFS イメージを作成するには、まず最初にどのスライスにイメー
ジが含まれているかを見つける必要があります。prtvtoc(1M) コマンドが役に
立つでしょう。

# prtvtoc /dev/rdsk/c0b0t0d0s0

次に「STAND」タグを持つスライスを探します。通常はスライス 10 です。こ
の値を利用して、dd(1) コマンドにより BFS イメージを作成できます (ルー
トディスクが target=0, lun=0, bus=0, controller=0 上にあると仮定してい
ます)。

# umount /stand
# dd if=/dev/rdsk/c0b0t0d0sa of=stand.img bs=512

念のためマジックナンバーを確認して、正しく処理が行われたかを確認します。

# od -Ad -tx4 stand.img | more

最初の 4 バイトは 0x1badface のはずです。

この BFS の実装に関するパッチ、質問、提案があれば、著者までご連絡ください。

    著者：Tigran A. Aivazian <tigran@veritas.com>
日本語訳：野本浩一 <hng@ps.ksky.ne.jp>
    校正：早川仁さん <cz@hykw.tv>
