15.3. Device Hints ================== 在系统初始启动时,\ `boot loader(8) `__ 会读取 `device.hints(5) `__\ 。这个文件存储了被称为变量的内核启动信息,有时被称为“device hints”。这些“device hints”被设备驱动用于对设备进行配置。 如 `第三阶段 `__ 所演示的,device hints 也可以在第三阶段引导 loader 提示下指定。变量可以用 ``set`` 来添加,用 ``unset`` 来删除,并且可以用 ``show`` 来查看。在 **/boot/device.hints** 中设置的变量也可以被覆盖。在引导 loader 中键入的 device hints 不是永久性的,不会在下次重启时应用。 系统启动之后,可以用 `kenv(1) `__ 来转储所有的变量。 **/boot/device.hints** 的语法是每行一个变量,使用井号“#”作为注释标记。每行的格式如下: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session hint.driver.unit.keyword="value" 第三阶段引导 loader 的语法是: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session set hint.driver.unit.keyword=value 其中 ``driver`` 是设备驱动名称,\ ``unit`` 是设备驱动单元号,\ ``keyword`` 是提示关键字。关键字可以由以下选项组成: - ``at``\ :指定设备所连接的总线。 - ``port``: 指定要使用的 I/O 的起始地址。 - ``irq``\ :指定要使用的中断请求编号。 - ``drq``\ :指定 DMA 通道的编号。 - ``maddr``\ :指定设备占用的物理内存地址。 - ``flags``\ :为设备设置各种标志位。 - ``disabled``: 如果设置为 1,则设备被禁用。 由于设备驱动程序可能接受或需要更多这里没有列出的 hints,建议查看驱动程序的手册页。更多信息请参考 `device.hints(5) `__\ ,\ `kenv(1) `__\ ,\ `loader.conf(5) `__\ ,以及 `loader(8) `__\ 。