Create a CD-ROM with FreeBSD and mkisofs

注意 : このメモの内容は無保証です。

◆このメモは FreeBSD 2.2-960323-SNAP の時作ったもので、 ちょっと古くなったかも知れません。 http://marcer.nagaokaut.ac.jp/~karl/freebsd-pc98/cdrom.html を参照して下さい。 このメモよりも分りやすいと思います(^^;

◆KNOWN BUGS: AltaVistaで `4020i +price +url:.com' を検索してみました(Wed Apr 9 05:28:02 GMT 1997)。 だいたい $400 から $600 程度で売っているようですね。 円安が恨めしい :-) ◆6020i に関する情報です。
From: j@uriah.heep.sax.de (J Wunsch)
To: hackers@FreeBSD.ORG
Cc: matta@commlet.com
Subject: Re: 6020i CD-R & 2.1.6.1
Date: Mon, 5 May 1997 22:46:56 +0200
Organization: Keisoku Giken Corp.
Lines: 23
Message-ID: <19970505224656.MD06215@uriah.heep.sax.de>
References: <9705051314.aa29901@commlet.commlet.com>
X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F  93 21 E0 7D F9 12 D6 4E

As matta@commlet.com wrote:

>   I have only the beta-
> test worm-stuff to do this with.  Will there be a problem with the already-
> ordered 6020i?

Yes, the 6020i behaves slightly different than the 4020i used to do.
You also need a new quirk entry in /sys/scsi/scsiconf.c.

>  If there will be, how can I help to solve it?

If you can afford upgrading to 2.2.1R, this is the safest bet.  There
might still be a problem that you gotta reload the tray once you've
been mounting a CD in the drive (i'm currently about to solve this
one), but apart from this, the worm(4) driver has now evolved over the
early beta stage, and can be counted as a supported driver as of
FreeBSD 2.2.1R.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)

candy
以下はオリジナルのメモです。
● FreeBSD 2.1 で CD-ROM を作る時のメモ
注意 : このメモの内容は無保証です。

用意するもの:
  - FreeBSD 2.1 + vnode driver ... 1 式
    FreeBSD 2.2-0323 以降では worm(4) も付けるとグッド!
  - ブランクメディア ... 数枚
  - CD-ROM レコーダとそれを使える OS ... 1 式
    FreeBSD 2.2-0323 以降では Plasmon RF4100 と HP SureStore 4020i が
サポートされています。
  - 大きい(1Gbyte 程度)のハードディスク ... 1 台
  
  (1) まず vnode ドライバ付のカーネルを作ります。
     # cd /usr/src/sys/i386/conf/
     # cp GENERIC NEWKERNEL

     ここで NEWKERNEL に次の行を追加します。
     pseudo-device vn #Vnode driver (turns a file into a device)

     FreeBSD 2.2-0323 上で焼くには次の行も必要です。
     device worm0 at scbus?  # SCSI worm

     # config NEWKERNEL
     # cd ../../compile/NEWKERNEL
     # make all install
     # sync; sync; shutdown -r now

  (2) 適当なディレクトリ (e.g. /usr/tmp/cdrom ) 以下に CD に焼きたいディ
レクトリツリーを作ります。

  (3) mkisofs(8) で iso 9660 イメージファイルを作ります。

     # mkisofs -d -D -N -R -T -o /shared/mycd /usr/tmp/cdrom

        -d  ピリオドを含まないファイル名でも、末尾にピリオドを追加しない。
	-D  深いディレクトリの再配置を行わなない。
	-N  ISO9660 ファイル名のバージョン番号を省略する。
	-R  Rock Ridge プロトコルの SUSP と RR レコードを作成する。
	-T  ディレクトリごとに TRANS.TBL を作成する。
	-o output.iso   出力ファイル名

     これで /shared/mycd というイメージファイルができます。
     -V 'VOLUMEID' と -P 'Publisher ID' も指定できます。ちなみに
     FreeBSD 2.1 CD は
     # mkisofs -a -d -N -D -R -T -V "FREEBSD210A" -P "Walnut Creek CDROM 1-510-674-0783 FAX 1-510-674-0821" -o /mnt/a/cd0 /usr/tmp/freebsd-2.1/disc1
     で作ったそうです。

     (-a は「全てのファイルを含める」で、現在はデフォルトの動作。
     過去のデフォルトは ~ や # を含むファイル名はスキップしていた。(-no-bak))

  (4) 内容チェック
     # vnconfig /dev/vn0 /shared/mycd
     # mount -t cd9660 /dev/vn0 /verify
     これで /verify ディレクトリにイメージがマウントできますので、
     /usr/tmp/cdrom と比較して調べて下さい。
     /dev/vn0 が無ければ /dev で ./MAKEDEV vn0 してください。

  (5) ファイル転送
     CD-R を使用できる OS にイメージ /shared/mycd を転送して下さい。

  (6) その OS を使って焼いて下さい。
     FreeBSD 2.2-0323 snap では worm(4) と wormcontrol(8) を良く読んで
下さい。

     # wormcontrol select PLASMON RF4100
     # wormcontrol prepdisk double
     # wormcontrol track data
     # rtprio 5 team -v 1m 5 < cdrom.image | dd of=/dev/rworm0 obs=20k
     # wormcontrol fixate 1

   /dev/rworm は /dev で ./MAKEDEV worm0 して下さい。
   team(1) コマンドは ports にあります。