什么导致系统设备探测期间暂停?

Car*_*ger 7 startup freebsd hardware

我正在运行 FreeBSD 10.0-RELEASE。

在引导设备探测期间,有两次 30 秒的暂停。与此相关的输出是

# dmesg
...
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
...
Run Code Online (Sandbox Code Playgroud)

我对这个操作系统很陌生,但这是否意味着系统正在检测设备但无法弄清楚它是什么?除了基本的必需品外,我什么都没有 - 硬盘驱动器和光驱,并通过以下方式确认:

# camcontrol devlist
<MATSHITA DVD-RAM UJ-841S 1.00>     at scbus0 target 0 lun 0 (pass0,cd0)
<HGST HTS7250xxxxxxxx GHB0xxxx>     at scbus1 target 0 lun 0 (pass1,ada0)
Run Code Online (Sandbox Code Playgroud)

我尝试了一些其他命令来获取一些附加信息:

# camcontrol rescan all
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful
Re-scan of bus 4 was successful
Run Code Online (Sandbox Code Playgroud)

随着camcontrol rescan all系统再次30秒暂停,前两次在重新扫描总线。即使我请求只扫描一条总线,系统也坚持先进行“aprobe0”扫描。此外,“aprobe0 ...”行是粗体和亮白色,有人告诉我这意味着它是内核响应。如果我什至可以减少停顿的长度,我会很高兴。我尝试进入kern.cam.ada.default_timeout=5/boot/loader.conf但没有任何效果。我已经搜索了很长时间,但没有成功,也没有得到太多帮助。任何更了解的人有什么想法吗?谢谢!

补充一下,这是 RELEASE-10。在此之前的一小段时间里,我正在运行 RELEASE-8.3,它运行良好,没有任何延迟。启动过程大约需要 15 秒。但是就在我开始学习 R8.3 时,它达到了 EOL,所以我决定升级到 R10。R10 的 ATA 内核模块与 R8.3 中的非常不同。我已经阅读了有关此类更改的信息,但我不知道该从哪里开始。

小智 0

由于 DVD 驱动器是 da(4) 设备而不是 ada(4) 设备,因此请尝试kern.cam.da.default_timeout降低/boot/loader.conf