.\" Copyright (c) 1996,1997 Shunsuke Akiyama . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Shunsuke Akiyama. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Shunsuke Akiyama AND CONTRIBUTORS ``AS IS'' .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Shunsuke Akiyama OR CONTRIBUTORS BE .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" %Id: od.4,v 1.4 1998/03/12 07:30:17 charnier Exp % .\" .\" $FreeBSD$ .\" Based on od.4 from Yuji .Dd March 16, 1997 .Dt OD 4 .Os FreeBSD .Sh 名称 .Nm od .Nd SCSI 光ディスクドライバ .Sh 書式 .Cd device od .Cd device od1 at scbus0 target 3 lun 0 .Pp 偽の ASC/ASCQ を返すドライバを使うには .Cd options OD_BOGUS_NOT_READY .Pp 自動回転停止機能を使うには .Cd options OD_AUTO_TURNOFF .Sh 解説 .Nm ドライバは .Em SCSI 光ディスク (いわゆる、光磁気や相変化光学ディスク) ドライブをサポートします。 メディアの交換や、ディスクを分割して .Em パーティション と呼ばれる疑似デバイスに割り当てることが可能になります。 パーティションには .Em raw インタフェースと .Em ブロックモード インタフェースがあります。 インタフェースは全般的に .Xr wd 4 や .Xr sd 4 の記述と同様です。 .Pp 起動中に SCSI アダプタがプローブされるとき、デバイスを検出するために .Em SCSI バスが調べられます。検出されたもののうち .Sq Em Optical (光) かつ .Sq Em removable (取り外し可能) 型と返されるどのデバイスも .Nm ドライバに接続されます。 .Fx 2.1.5 以降では、最初に検出されたデバイスは .Em od0 として接続され、次は .Em od1 と以下同様に続きます。 デバイスがどの od ユニットとして稼働すべきかを指定できます。 カーネルの構成についての詳細は .Xr scsi 4 を参照してください。 .Fx 2.2 から .Nm ドライバは .Sq Em Optical (光) かつ .Sq Em removable (取り外し可能) 型だけでなく、 .Sq Em Direct (直接) かつ .Sq Em removable (取り外し可能) 型と返されるどんなデバイスユニットも操作できます。 .Sh パーティショニング .Nm ドライバはディスクに対し、2 つの階層のパーティションが可能です。 1 つ目の層は .Dq スライス層 と呼ばれるもので、 .Tn FreeBSD 領域とその他のオペレーティングシステムで使用されている領域を 分離するために用います。 2 つ目は、 .Xr disklabel 5 による純然たる .Bx 4.4 のパーティショニング機構であり、 .Tn FreeBSD スライスを独自のファイルシステムに細分するために用います。 詳細は、 .Xr fdisk 8 および .Xr disklabel 8 をそれぞれ参照してください。 .Pp 初期化されていないディスクが開かれると、ディスク全体まで及ぶ架空の .Tn FreeBSD スライスによって、スライステーブルが初期化されます。 同様に、初期化されていない (あるいは非 .Tn FreeBSD ) スライスが開かれると、ドライブおよびスライス全体を含む単一 .Sq Li c パーティションによって返されるパラメータで、ディスクラベルが初期化されます。 .Sh カーネルの設定 設定ファイルに .Nm デバイスが 1 つだけ必要です。すなわちデータ構造は、ディスクが .Tn SCSI バス上に検出されたとき、動的に割り当てられます。 .Sh IOCTL 次の .Xr ioctl 2 コールは他のディスクだけでなく、光ディスクにも対応します。 これらはヘッダファイル .Aq Pa sys/disklabel.h に定義されています。 .Pp .Bl -tag -width CDIOCPREVENT .It Dv DIOCSBAD 通常、ディスク上の不良ブロックマッピングシステムを設定するために用いられます。 SCSI ドライバは独自の不良ブロックマッピングを組み込むので、 これは実装されていません。 しかし、将来的には、 SCSI 不良ブロックマッピングへの '対処的な (kludged)' インタフェースとして 実装されるかもしれません。 .It Dv DIOCGDINFO ドライブ用のディスクラベルの内部コピーを、カーネルをから読み込みます。 ドライブが初期化されていない時は、架空のディスクラベルであるかもしれません。 この場合は、SCSI 調査 (inquiry) コマンドで読み込んだ情報を含みます。 そして起動時に表示される情報と同じになります。 .It Dv DIOCSDINFO ドライバに新しいディスクラベルを与えます。 ドライバは、新しいディスクラベルをディスクに書き込みません。 .It Dv DIOCWLABEL ディスク上のディスクラベルに対するドライバのソフトウェアライトプロテクトを、 有効または無効にします。 .It Dv DIOCWDINFO ドライバに新しいディスクラベルを与えます。 ドライバは、新しいディスクラベルをディスクに書き込もうとします。 .El .Pp 次の .Xr ioctl 2 コールは他のディスクだけでなく、光ディスクにも対応します。 これらはヘッダファイル .Aq Pa sys/cdio.h に定義されています。 .Bl -tag -width CDIOCPREVENT .It Dv CDIOCEJECT 光ディスクを排出します。 .It Dv CDIOCALLOW ドライブに対し、光ディスクの手動排出を許可します。 .It Dv CDIOCPREVENT ドライブに対し、光ディスクの手動排出を禁止します。 .El .Pp 加えて、 .Xr scsi 4 の一般的な ioctl は .Nm ドライバで使っても構いません。 しかし 4 番目のパーティション (ディスク全体) だけは避けてください。 .Sh 注 現在のところ、 .Nm ドライバは 512, 1024, 2048 バイト/セクタのメディアに対応しています。 raw およびブロックモードのデバイスにおける、 非 512 バイト/セクタのメディアへのアクセスは、 各セクタサイズ境界線の開始位置と I/O サイズに関してのみ可能です。 .Sh 関連ファイル .Bl -tag -width /dev/rodXXXXX -compact .It Pa /dev/rod Ns Ar u raw モードの .Tn SCSI 光ディスクユニット .Ar u です。パーティショニングされていないデバイスとしてアクセスされます。 .Sm off .It Pa /dev/od Ar u Pa s Ar n .Sm on ブロックモードの .Tn SCSI 光ディスクユニット .Ar u スライス .Ar n です。パーティショニングされていないデバイスとしてアクセスされます。 .Sm off .It Pa /dev/rod Ar u Pa s Ar n .Sm on raw モードの .Tn SCSI 光ディスクユニット .Ar u スライス .Ar n です。パーティショニングされていないデバイスとしてアクセスされます。 .It Pa /dev/od Ns Ar u Ns Ar p ブロックモードの .Tn SCSI 光ディスクユニット .Ar u の最初の .Tn FreeBSD スライスのパーティション .Ar p です。 .It Pa /dev/rod Ns Ar u Ns Ar p raw モードの .Tn SCSI 光ディスクユニット .Ar u の最初の .Tn FreeBSD スライスのパーティション .Ar p です。 .Sm off .It Xo .Pa /dev/od Ar u Pa s Ar n Ar p .Xc .Sm on ブロックモードの .Tn SCSI 光ディスクユニット .Ar u の .No Ar n 番目のスライスに存在するパーティション .Ar p です。 .Sm off .It Xo .Pa /dev/rod Ar u Pa s Ar n Ar p .Xc raw モードの .Tn SCSI 光ディスクユニット .Ar u の .No Ar n 番目のスライスに存在するパーティション .Ar p です。 .Sm off .It Xo .Pa /dev/rod Ar u Pa .ctl .Xc .Xr scsi 8 で使われる制御デバイスユニット .Ar u です。 .El .Sh 診断 ありません。 .Sh 関連項目 .Xr fdisk 1 , .Xr cd 4 , .Xr scsi 4 , .Xr sd 4 , .Xr disklabel 5 , .Xr disklabel 8 .Sh 作者 Shunsuke Akiyama .Sh 歴史 .Nm ドライバは .Fx 2.1.5 で登場しました。