许多外部存储解决方案,如硬盘驱动器、USB 拇指驱动器以及 CD 和 DVD 刻录机,使用通用串行总线(USB)。FreeBSD 提供对 USB 1.x、2.0 和 3.0 设备的支持。
对 USB 存储设备的支持内置于 GENERIC 内核中。对于自定义内核,请确保内核配置文件中包含以下行:
device scbus # SCSI bus (required for ATA/SCSI)
device da # Direct Access (disks)
device pass # Passthrough device (direct ATA/SCSI access)
device uhci # provides USB 1.x support
device ohci # provides USB 1.x support
device ehci # provides USB 2.0 support
device xhci # provides USB 3.0 support
device usb # USB Bus (required)
device umass # Disks/Mass storage - Requires scbus and da
device cd # needed for CD and DVD burners
FreeBSD 使用 umass(4)驱动程序,该驱动程序使用 SCSI 子系统来访问 USB 存储设备。由于任何 USB 设备都将被系统视为 SCSI 设备,因此,如果 USB 设备是 CD 或 DVD 刻录机,请勿在自定义内核配置文件中包含 device atapicam。
本节的其余部分演示如何验证 FreeBSD 认可 USB 存储设备,并配置设备以便使用。
20.4.1. 设备配置
要测试 USB 配置,请插入 USB 设备。使用 dmesg 确认驱动器是否出现在系统消息缓冲区中。应该看起来像这样:
umass0: <STECH Simple Drive, class 0/0, rev 2.00/1.04, addr 3> on usbus0
umass0: SCSI over Bulk-Only; quirks = 0x0100
umass0:4:0:-1: Attached to scbus4
da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
da0: <STECH Simple Drive 1.04> Fixed Direct Access SCSI-4 device
da0: Serial Number WD-WXE508CAN263
da0: 40.000MB/s transfers
da0: 152627MB (312581808 512 byte sectors: 255H 63S/T 19457C)
da0: quirks=0x2<NO_6_BYTE>
品牌、设备节点(da0)、速度和大小将根据设备而异。
由于 USB 设备被视为 SCSI 设备,可以使用 camcontrol 列出连接到系统的 USB 存储设备: