Linux カーネルの設定は、通常カーネルソースの /usr/src/linux/.config というファイルにあります。 このファイルは直接いじるのではなく、下記のカーネル設定オプション のどれかを 利用することをお勧めします。
make config−キャラクタベースで質問 形式で行う
make menuconfig−端末指向の設定ツール (ncurses を使用)で行う
make xconfig−X ベースの設定ツールで行う
選択肢の説明は、それぞれのヘルプボタンで表示されます。この内容は ASCII ファイル /usr/src/linux/Documentation/Configure.help に含まれています。
詰まるところ、これらの設定ツールは .config ファイルを編集 しています。選択肢は、ドライバがカーネルに組み込まれる(「=y」)、モジュール として作成される(「=m」)、選択しない、のどれかです。 選択していない状態には、行の先頭に「#」(例えば「# CONFIG_SCSI」は未設定を表す) がある場合と、.config ファイルに関連する行が無い場合とが あります。
SCSI サブシステム(正確には SCSI の中間レベルのドライバ)の主なオプションは、 下記の 3 つのいずれかです。この中の 1 つだけが実際に .config ファイル中にあるはずです。
CONFIG_SCSI=y CONFIG_SCSI=m # CONFIG_SCSI is not set |
その他、一般的な SCSI の設定オプションは下記の通りです。
CONFIG_BLK_DEV_SD [ディスク(sd)ドライバ] CONFIG_SD_EXTRA_DEVS [追加で入れるディスク用の増設スロット] CONFIG_BLK_DEV_SR [SCSI CD-ROM(sr)ドライバ] CONFIG_BLK_DEV_SR_VENDOR [CD-ROM のベンダー独自コマンドを許可] CONFIG_SR_EXTRA_DEVS [追加で入れる CD-ROM 用の増設スロット] CONFIG_CHR_DEV_ST [テープ(st)ドライバ] CONFIG_CHR_DEV_OSST [OnSteam 社 テープ(osst) ドライバ] CONFIG_CHR_DEV_SG [SCSI 汎用ドライバ(sg)] CONFIG_DEBUG_QUEUES [複数のキューのデバッグ用] CONFIG_SCSI_MULTI_LUN [0 以上の LUN のプルーブの許可] CONFIG_SCSI_CONSTANTS [SCSI のエラー記号の復号] CONFIG_SCSI_LOGGING [実行時選択のログ収集許可] CONFIG_SCSI_<ll_driver> [種々の低レベルのアダプタドライバ] CONFIG_SCSI_DEBUG [デバッグ用低レベルドライバ] CONFIG_SCSI_PPA [旧式のパラレルポート zip ドライバ] CONFIG_SCSI_IMM [新式のパラレルポート zip ドライバ] CONFIG_BLK_DEV_IDESCSI [ide-scsi 擬似アダプタ] CONFIG_I2O_SCSI [I2O バス経由の SCSI コマンド・セット] CONFIG_SCSI_PCMCIA [PCMCIA バス経由の SCSI HBA] CONFIG_USB_STORAGE [USB「大容量」タイプ] CONFIG_MAGIC_SYSRQ [緊急時の sync 用 Alt+SysRq+S] [緊急時の ro 再マウント用 Alt+SyrRq+U] |
ルートファイルシステムが SCSI ディスクなら、カーネルに SCSI の中間 レベルのドライバ、sd ドライバ、そのディスクがつながっている アダプタのドライバを必ず組み込んでください。たいていの場合、sr、st、sg などの ドライバはモジュールとして作成してかまいません。それらのドライバは必要になると ロードされます。スキャナーのようなデバイスが別のアダプタに接続されている なら、そのドライバはモジュールとして作成した方が良いでしょう。この場合アダプタ ・ドライバは、スキャナーが認識される前にロードしなければなりません。
Linux ディストリビューションには、SCSI サブシステムのドライバがモジュール としてたくさん入っています。理由は、すべてをカーネルに組み込むと巨大になって しまい、ブートローダーの能力を越えてしまうかもしれないからです。 これは、「鶏が先か、卵が先か」問題の原因になります。ルートファイルシステムを ロードするには SCSI ドライバが必要になりますが、ドライバをロードするには ルートファイルシステムをマウントしなければいけません。 この問題には、ロード時に 2 段階を踏む initrd デバイスで対処ができます。 (詳細は、Chapter 6を参照)。