計算機研4階の Windows マシンに入っているソフトでは、 今まで vfat の制約を越えるようなファイルを焼くことが出来ませんでした。 例えば、
Makefile
makefile
のように、大文字・小文字だけの違いしかないファイルは 同一のファイルとみなされてしまいます。 (誰かから聞いた覚えがあるだけで、確認はしていません。)
そこで、今回は unix 上で動くイメージ作成ソフトを使って CD-R を焼いてみようと思います。
次のようにすれば image-dir 以下のディレクトリを image.iso というイメージファイルとして作成することが出来ます。
% mkisofs -R -a -d -l -N -L -o image.iso image-dir
以下のオプションが使えます(他にもいろいろあります)。
必須のもの
普通の CD-ROM を CD-R に焼く時は、dd で CD-ROM の内容をイメージファイルとして 吸い出せばいいので、上の方法を採る必要はありません。
# dd if=/dev/scd1 of=image.iso/dev/scd1 は OS やマシンによって変化します。勿論、全ての CD-ROM がこの方法で OK という訳ではないと思いますが。 (音楽 CD や CD-I なんかはどうなんでしょう?)
イメージファイルをあたかも実際のファイルシステムのように マウントして確認することが出来ます。
カーネルの再構築の時に loopback device を有効に しておかないといけません。又、/dev/loop[0-9] が必要です。
次の様にすると、image.iso をあたかも CD-ROM であるかのように /cdrom にマウントすることが出来ます。
# mount -t iso9660 -o loop image.iso /cdrom
ここで気をつけないといけないのが、loopback デバイスによる イメージファイルのマウントは、ローカルなファイルシステム でないと行えないということです。 つまり、NFS ごしにはマウントできません。
確認が終ったら次の様にしてマウントを外します。
# umount /cdrom
カーネルの再構築の時に vnode disk devices を有効にしておかないと いけません。又、/dev/vnd が必要です。
次のようにしてマウントします。
# vndconfig image.iso
# mount -t cd9660 /dev/vnd /mnt
確認が終ったらアンマウントしましょう。
# umount /dev/vnd
# vndconfig -c
次のようにしてマウントします。
# vnconfig /dev/vn0c image.iso
# mount -t cd9660 /dev/vn0c /mnt
アンマウントはこんな感じです。
# umount /mnt
# vnconfig -u /dev/vn0c
マウントしてしまった後は、通常の CD をマウントした時のように image-file の中を見ることが出来ます。 心行くまで確認して下さい。
CD-R を焼くには安定した転送速度を維持する必要があります。 もしネットワークごしにイメージファイルが見えたとしても それを Windows のローカルなディスクに ftp などで 一旦転送してから作業を始めて下さい。