[概要]
FreeBSD 2.2.8-RELEASE 上で CD-R を焼く手順を示します。おおまかな
手順として、CD-R のイメージファイルの作成、次にイメージを CD-R
に書き込むというながれになります。
[作業環境]
- ハードウェア環境
- CD-R ドライブ付き PC
(仕様)
Pentium II 333MHz, Memory 128MB,
HDD IDE-6.5GB, SCSI-board AHA2940U,
CD-R drive TEAC CD-R55SK (read x12, write x4)
- ソフトウエア環境
- FreeBSD2.2.8-RELEASE
psuedo device vn を追加したカーネル
- mkisofs-1.11.3 (ISO9660 イメージ作成用)
- cdrecord-1.6.1 (CD-R への書き込み用)
[下準備]
- カーネルの再構築
カーネル用設定ファイル(/usr/src/sys/i386/conf 以下にある)に
pseudo device vn を追加し再構築します。
# cd /usr/src/sys/i386/conf
# vi <your-config-filename>
(pseudo device vn を追加)
# config <your-config-filename>
# cd ../../compile/<your-config-filename>
# make depend all install
# sync;sync;reboot
- パッケージのインストール
mkisofs, cdrecord のパッケージをインストールします。
# pkg_add mkisofs-1.11.3.tgz
# pkg_add cdrecord-1.6.1.tgz
- cdrecord 用設定
cdrecord は /dev/scgx を参照しますが、
FreeBSD2.2.8R では /dev/scgx は
/dev/rworm0.ctl を指すシンボリックリンクになってい
ます。CD-R ドライブは本構成では cd0 として認識され
ているので/dev/scgx が /dev/rcd0.ctl を指
すように変更します。
(*) cd0, /dev/rcd0.ctl は構成によって変わる可能性
がありますので、構成に併せて適宜読み変えて下さい。
具体的には次のようにします。
# mv /dev/scgx{,.orig}
# ln -s /dev/rcd0.ctl /dev/scgx
[ISO9660イメージ作成]
nonbootable な CD-R 用イメージの作成は以下の通りです。
# mkisofs -a -d -D -N -R -T -V "Volume" \
-o /full/path/cdimage.iso /full/path/srcdir
bootable な CD-R の場合は以下の通りです。nonbootable との違いは
-b でブートイメージのファイルを指定します。
(*) FreeBSD のインストール用 CD-R を作成する場合には boot.flp を
指定することになります(カスタマイズした boot.flp を作りたい場合
には{FreeBSD2.2.8-RELEASE(+PAO)の boot.flp
を作る}を参照して下さい)。
% mkisofs -a -d -D -N -R -T -V "Volume" \
-b /relative/path/boot.img \
-o /full/path/cdimage.iso /full/path/srcdir
[イメージのテスト]
FreeBSDではvnode deviceをカーネルに組み込むことで、イメージをマ
ウントして確認できる。
# vnconfig /dev/vn0 /full/path/cdimage.iso
# mount -t cd9660 /dev/vn0 /cdrom
% find /cdrom -type f -exec cat {} > /dev/null \; -print
# umount /cdrom
# vnconfig -u /dev/vn0
[CD-Rメディアへの書き込み]
cdrecord を使用して、CD-R にデータを書き込みます。CD-R の場合は
メディアの中身を消去します。
# cdrecord blank=all dev=0,0
まず、うまく行くかテストします。
# cdrecord -dummy -speed=2 -packet dev=0,0 /full/path/cdimage.iso
エラーが発生しなければいよいよ本当に書き込みます。
(ここでは安全のため書き込みスピードを x2 にしています。)
# cdrecord -speed=2 -packet dev=0,0 /full/path/cdimage.iso
|