カーネル2.6.32-573でRHEL 6を実行している2つの目立たないnvidiaグラフィックカードがインストールされたHP DL380G9サーバーがあります。両方のカードのチップセット(NV117)は同じですが、モデルが異なります。 K620(スロット5アドレス88:00.0)、K2200(スロット4アドレス84:00.0)。 K2200は、Linuxがプリマウスとブートメッセージを出力するために選択したカードです。
カードを交換すると、CMOSおよびBIOS設定をクリアした後でも、HPサーバーBIOSでページ違反が発生します。カードを交換すると問題が解決します。BIOSにプライマリを選択するオプションがありません目立たないグラフィックカード。Linuxは、PCIバスアドレスが最も小さいグラフィックカードを選択しているように見えます。
デフォルトのX11以前のディスプレイ用に別のグラフィックカードを選択するためのカーネルコマンドラインオプションまたはその他の構成ファイルはありますか?
私は最終的にこれがvgaアービターと呼ばれるカーネル機能で行われることを発見しました。 BIOSによってプライマリとして使用されているVGAアダプタには、「bootvga」デバイスのフラグが付けられます。不要なVGAアダプターのスタブドライバーを使用して、vgaアービターに次のvgaアダプターを選択して使用させることができます。 lspci -nn | grep VGA
を使用してpciデバイスIDを取得します
このパラメーターをカーネルコマンドラインに追加しますpci-stub.ids=0000:0000
RHEL 7に移行すると、この無効化されたアダプターを使用してpciパススルーを実行します。 Nvidiaグラフィックカードにはオーディオデバイスも含まれており、最終的にはVGAデバイスと同じIOMMUグループに含まれることに注意してください。両方のpciデバイスIDをスタブ化する必要があります。
フレームバッファコンソールに対して何も問題がない場合は、 Documentation/fb/fbcon.txt を参照してください。
おそらくこれをLinuxカーネルのコマンドラインに追加する必要があります。
fbcon=map:1