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 日本語訳:野本浩一 校正:早川仁さん