13.3. 设备提示

在系统初始启动时,boot loader(8) 会读取 device.hints(5)。这个文件存储了被称为变量的内核启动信息,有时被称为“device hints”。这些“device hints”被设备驱动用于设备配置。

device hints 也可以在Stage 3 boot loader提示下指定,如 Stage 3 所演示的。变量可以用 set 来添加,用 unset 来删除,并且可以用 show 来显示。在 /boot/device.hints 中设置的变量也可以被重写。在启动加载器中输入的 device hints 不是永久性的,不会在下次重启时应用。

系统启动之后,可以用 kenv(1) 来转储所有的变量。

/boot/device.hints 的语法是每行一个变量,使用散列的 # 作为注释标记。行的结构如下:

  1. hint.driver.unit.keyword="value"

Stage 3 boot loader 的语法是:

  1. 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)