Note: これは FreeBSD 5.0 以降の機能です。 これ以前のバージョンには存在しません。
起動プロセスの間に loader(8) は device.hints(5) を読み込みます。 このファイルにはカーネル起動の環境変数が格納されており、 これらの環境変数は “device hints” と呼ばれることがあります。 “device hints” はデバイスを設定するために デバイスドライバが使用します。
device hints は ステージ 3 ブートローダ でも設定できます。device hints は set コマンドを用いて追加することが、 unset コマンドを用いて削除することができます。 show コマンドを用いて一覧を見ることもできます。 /boot/device.hints に設定されている変数は このときに上書きすることができます。 ローダで設定した device hints の効果は一時的なものであるため、 次回起動するときには無効になります。
システムが起動すると、kenv(1) コマンドでカーネル環境変数を ダンプすることができます。
/boot/device.hints は 1 行につき一つの変数を設定でき、 行頭の “#” はその行がコメントであることを示しています。 書式は次の通りです。
hint.driver.unit.keyword="value"
ステージ 3 ブートローダ で設定するときの書式は次の通りです。
set hint.driver.unit.keyword=value
driver はデバイスドライバの名前、 unit はデバイスドライバのユニット番号、 keyword はヒントキーワードです。 キーワードは次の設定を指定します:
at: デバイスがどのバスに接続されているか指定します。
port: 使用する I/O ポートの開始アドレスを指定します。
irq: 使用する IRQ を指定します。
drq: 使用する DMA チャネルを指定します。
maddr: 使用する物理メモリアドレスを指定します。
flags: デバイスに対してさまざまなフラグを設定します。
disabled: 1 が設定されていると、そのデバイスは無効になります。
デバイスドライバはこのリスト以外の変数を設定できるかもしれませんし、 このリスト以外の変数を必要とするかもしれません。 したがって、デバイスドライバのマニュアルを読むことをおすすめします。 より多くの情報を知りたければ、device.hints(5), kenv(1), loader.conf(5), loader(8) などのマニュアルを参照してください。