[English] [Japanese]

Linux CD-ROM ゲームシステム

 
  YAMAMORI Takenori ●yamamori@kt.rim.or.jp

●CD-Rを焼く準備

ここまでのテストが完了すれば、現在のハードディスクの状態を元に CD-Rを焼くことができる。CD-Rを作成するには、まず、mkisofsコマンドで CD-ROMのイメージファイルを作成し、次にcdrecordコマンドで そのイメージファイルをCD-Rに焼く。

そこでまず、cdrecordmkisofsをインストールする。 cdrecordmkisofsは、 現在作業中のゲームシステム作成用のHDD上にインストールして構わない。 筆者は、このマシンに外付けSCSIのCD-Rドライブを接続して作業を行なった。 もし、別のマシンに接続されたCD-Rドライブで焼きたい場合は、 イメージファイルのみmkisofsで作成して、そのファイルを ftpなどでCD-Rドライブのつながったマシンに転送し、 そこでCD-Rを焼くようにしてもよい。

cdrecord/mkisofsの具体的なインストール方法を コラム に示す。 また、参考ページ にも解説がある。


○mkisofsでCD-ROMイメージファイルを作成

これで準備が整ったので、mkisofsを実行してCD-ROMのイメージファイルを 作成する。具体的な手順は以下のようになる。

# cd /tmp
# TZ=UTC mkisofs -R -J -o CD.iso -b images/boot.img -x /tmp -x /proc /

mkisofsの“-x”オプションは、 作成イメージから特定のファイルやディレクトリを除外するためのオプションだ。

/tmp以下にイメージファイルCD.isoを書き込むため、 “-x /tmp”とオプションを付けて書き込み元のディレクトリからは /tmpを除く。ゲームシステムとしての実際の/tmpinitrd 上のものを使うため、CD-ROM上には必要ない。

同様に、/proc 以下はCD-ROMに焼く意味がないので“-x /proc”で除く。 特に、/proc/kcoreが大きいサイズのファイルとみなされるため、 これを除かないとCD-ROMに入らないだろう。

また、“-b images/boot.img”というオプションを指定して、 先ほど作成したブートFDのイメージファイルを、 El Toritoのブート可能イメージとして指定している。

UNIXのファイルシステムを再現するために、“-R”オプションを付けて RockRidge拡張を行なっている。これは必ず必要だ。

あと、これは必須ではないが、このCD-ROMをWindowsから参照した場合も、 長いファイル名が再現できるように“-J”オプションを付けてJoliet拡張もしておく。

mkisofsのコマンドの頭に“TZ=UTC”と付けて環境変数を指定しているのは、 CD-ROM内のファイルシステムのタイムスタンプをUTCで記録するためだ。 これも必須ではないが、OS間のタイムスタンプの互換性のため、 “TZ=UTC”とするのが筆者の習慣だ。

mkisofs実行後、作成されたCD.isoのサイズが、 333000セクタ*2048バイト=681984000バイト以内であれば650MBのCD-Rに焼ける。


○CD-ROMイメージファイルをループバックマウントして確認

ここで、一度CD.isoをループバックマウントしてみて、 その内容をざっと確認してみるとよい。この状態でCD-Rに焼かれるのだ。

----
# mount -t iso9660 -r -o loop CD.iso /mnt/tmp
…確認…
# umount /mnt/tmp   ← 確認が終ったらumountして元に戻す。
# /sbin/losetup -d /dev/loop0  ← /etc/mtabを変更しているため、
                                  明示的に“losetup -d”が必要
----

To 『Linux CD-ROM ゲームシステム』index


このページは、(株)アスキー TECH Linux Vol. 2 『CD-ROMだけですぐに遊べる! Linux ゲームシステム全解説!!』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
YAMAMORI Takenori 山森丈範
yamamori@kt.rim.or.jp