本节包含用于传递有关已安装的 SCSI 主机适配器和 SCSI 设备信息的启动参数的描述。
无论它们是磁盘、磁带还是 CD-ROM,上层驱动程序都处理所有 SCSI 相关事务。中层驱动程序处理磁盘、CD-ROM 和磁带等事务,而无需深入了解底层主机适配器设备驱动程序的细节。
每个 SCSI 设备可以包含多个“子设备”。最常见的例子是任何一次处理多个光盘的 SCSI CD-ROM。每张 CD 都被寻址为该特定设备的“逻辑单元号”(LUN)。但是大多数设备,如硬盘、磁带驱动器等都只有一个设备,并将被分配到 LUN 零。
问题出现在固件不良的单 LUN 设备上。一些设计不良的 SCSI 设备(旧的和不幸的是新的)无法处理探测非零 LUN。它们会通过锁定来响应,并可能导致整个 SCSI 总线崩溃。
内核有一个配置选项,允许您设置最大探测 LUN 数量。默认设置是仅探测 LUN 零,以避免上述问题。
要在启动时指定探测 LUN 的数量,可以输入 `max_scsi_luns=n` 作为启动参数,其中 n 是介于 1 和 8 之间的数字。为了避免上述问题,可以使用 n=1 来避免干扰此类损坏的设备。
为此启动参数提供非零值会启用所有 SCSI 事件(错误、扫描、mlqueue、mlcomplete、llqueue、llcomplete、hlqueue、hlcomplete)的日志记录。请注意,如果您对在 `/proc/` 文件系统可访问之前启动时发生的事件不感兴趣,则可以通过 /proc/scsi/scsi
接口更好地控制记录哪些事件。
可以使用以下方法实现 SCSI 磁带驱动程序的一些启动时配置
st=buf_size[,write_threshold[,max_bufs]]
前两个数字以 kB 为单位指定。默认的 buf_size
为 32kB,可以指定的最大大小是荒谬的 16384kB。write_threshold
是缓冲区提交到磁带的值,默认值为 30kB。缓冲区的最大数量随检测到的驱动器数量而变化,默认为两个。一个使用示例是
st=32,30,2
完整详细信息可以在内核源代码树的 scsi
目录中的 README.st
文件中找到。
这些是用于底层 SCSI 主机设备驱动程序的参数,因此通常仅供那些将 SCSI 驱动程序内置于自己的内核中的人使用。建议这些人检查源代码以获取可以提供给其驱动程序的最新选项列表。
aha152x=
Adaptec aha151x、aha152x、aic6260、aic6360、SB16-SCSI
aha1542=
Adaptec aha1540、aha1542
aic7xxx=
Adaptec aha274x、aha284x、aic7xxx
advansys=
AdvanSys SCSI 主机适配器
in2000=
Always IN2000 主机适配器
AM53C974=
基于 AMD AM53C974 的硬件
BusLogic=
ISA/PCI/EISA BusLogic SCSI 主机
eata=
EATA SCSI 卡
tmc8xx=
Future Domain TMC-8xx、TMC-950
fdomain=
Future Domain TMC-16xx、TMC-3260、AHA-2920
ppa=
IOMEGA 并行端口/ZIP 驱动器
ncr5380=
基于 NCR5380 的控制器
ncr53c400=
基于 NCR53c400 的控制器
ncr53c406a=
基于 NCR53c406a 的控制器
pas16=
Pro Audio Spectrum
st0x=
Seagate ST-0x
t128=
Trantor T128
u14-34f=
Ultrastor SCSI 卡
wd7000=
Western Digital WD7000 卡