最新更新日 2000.01.11.
更新項目  /dev/vn0 をが使えるようになった。


CD-RW を利用して、CD-R を焼いて見ました。
 そろそろ書く事が無いですね(^^;;。ちょっと CD-R でもやいてみましょうかね。ふふふ(^^;;。

 まずは、友人から書き込み可能な CD-R を借りて来て、自分の FreeBSD に付けます。そして、取り合えずは cd が二つ付けられる様に /dev/ の下でデバイスを作ったり、カーネルのリコンフィグの必要があれば作成し直します。
 今回は、以下の様に認識されました。

----------------
cd0 at ahc0 bus 0 target 4 lun 0
cd0:  Removable CD-ROM SCSI-2 device 
cd0: 10.000MB/s transfers (10.000MHz, offset 8)
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
cd1 at ahc0 bus 0 target 6 lun 0
cd1:  Removable CD-ROM SCSI-2 device 
cd1: 10.000MB/s transfers (10.000MHz, offset 8)
cd1: Attempt to query device size failed: NOT READY, Medium not present
----------------
 上のが今回付けた CD-RW の CD で、PLEXTOR 製 の PX-W4220T と、言う製品みたいです。もう一つは普通の CD になります。こちらは、cd1 として認識しました。

 さて、ハード、カーネルの準備が整ったので次にソフトをそろえます。cdrecord と、言うのが packages にあるので、pkg_add しましょう。私は、cdrecord-1.8a22 と、言うバージョンを利用しました。後、mkisofs-1.12b5 と、言うのも必要になるかもしれないのでこっちも用意しておきましょう。

 これで準備バンタン。では、いよいよ作業に移ります。今回の作業は、cd0 に入れた CD イメージをディスクに落して、その後で CD-R に焼き移す。と、言うちょっと危ないネタに迫ってみましょう;-)。手順は以下になります。

1. CD イメージをディスクに保存する。
 dd コマンドで、バックアップする CD を入れたデバイス(今回の場合は /dev/cd0) から dd で CD のイメージを取り出し、HDD 上に展開します。と、言う事は HDD はそれなりのスペースが無いとだめだ。と、言う事ですね(^^;;。

	----------------
	dd if=/dev/cd0c of=/var/tmp/cd-img.iso
	----------------
2. 出来たイメージが iso9660 フォーマットかを確認する。
 vnconfig した後で、mount して、その後で、cd /cdrom とかした後、ls とかして、内容が正しく見えれば OK です。/cdrom に CD のイメージが見えると思います。無事に CD イメージ(正確には、ISO-9660 イメージ)が出来たと思います。
	----------------
	vnconfig /dev/vn0 /var/tmp/cd-img.iso
	mount_cd9660 /dev/vn0 /cdrom 
	----------------
 Device not configured になってしまう時、それは、vn0 が使えない。と、言う事ですね。カーネルをそれ対応にする必要があります。LINT 中の以下の一行を自分の config ファイルに追加してカーネルを作り直しましょう。
----------------
pseudo-device   vn              #Vnode driver (turns a file into a device)
----------------
 これで対応したカーネルを作成した後でもう一度トライしてみましょう。

3. 中身の確認が終ったら後始末をする。
 umount してから、vnconfig します。これで確認はおしまい。
#この動作は、3.3-RELEASE では確認出来ませんでした。Device notconfigured になってしまいました。

	----------------
	umount /cdrom
	vnconfig -u /dev/vn0 
	----------------
4. 書き込みの確認をする。
 書き込む前のテスト段階ですね。もし失敗しても CD-R が無駄に成らない為に。でしょうかね。ふふふ。それにそしも cdrecord コマンドは実行前に 10 のカウントダウンを始めるのが面白い;-)。

	----------------
	cdrecord -dummy -speed=2 -packet dev=0,4,0 /var/tmp/cd-img.iso
	----------------
dev=HOGEHOGE の所が問題ですが、日本語マュアル を読んでみるとよいでしょう。基本的には、dmesg の結果の、
----------------
cd1 at ahc0 bus 0 target 4 lun 0
----------------
 をみて、dev=0,4,0 と指定してあげれば良いでしょう。2.2.8-RELEASE 系では、デバイスを作成してあげる必要があります。
	----------------
	rm /dev/scgx
	ln -s /dev/rcd0.ctl /dev/scgx 
	----------------
してから、dev=/dev/rcd0.ctl:@ と指定してあげるのがよさそうです。こんな感じですね。
	----------------
	cdrecord -dummy -speed=2 -packet dev=/dev/rcd0.ctl:@ /var/tmp/cd-img.iso
	----------------
5. 書き込みを行う。
  -dummy オプションが取れていよいよ書き込み開始です。じっと我慢の子でいましょう。CPU 負荷は無いと思うのですが、SCSI 転送が激しいのか、PC が遅くなります。ガマンガマン。
	----------------
	cdrecord -speed=2 -packet dev=/dev/0,4,0 /var/tmp/cd-img.iso
	----------------
 こうして出来た CD は Windows で使ったり、FreeBSD で mount 出来たりするので無事に出来たモノを試してみてください。ふぅぅ。

 さて、これらは一連のコマンドは、CD イメージを CD-R に焼く方法でしたが、DISK イメージを CD-R に焼くには、1. のステップを以下の様にしてみてください。

1. HDD のイメージを ISO9660 に変換する。
 ./CD-R と、言うディレクトリを /var/tmp/hdd-img.iso に取り出します。その時、ヘッダは、-V "MP3-DATA" とかしておきました。これで HDD イメージが CD イメージ同様、/var/tmp の下に出来ました。後は、2. に続きましょう;-)。

	----------------
        mkisofs -r -J -d -N -D -R -T -V "MP3-DATA" -o /var/tmp/hdd-img.iso ./CD-R
	----------------
 オプションですが、どうもこれが一番よさげです。いろいろ試してみましたが、あるオプションが無いと、Windows 側で 8.3 ファイルになってしまったりするのですが、このオプションだと大丈夫でした。

 と、言う事で、FTP サイトから拾って来たデータを CD に焼く事も出来る様になりましたね。ふふふ(^^)V。これでばっちりだ。うんうん。
#と、言う事だが、僕は失敗しています・・。HDD イメージを CD-R に焼いた事は無いです(^^;;。

 とまぁ、こんな感じで CD-WR が活用出来ます。うれしい事ですねぇぇ。


Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.