0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

proxmox GPU パススルー ROM吸出し編

0
Posted at

当方の環境

ProxmoxVE 8.4.14
リポジトリ 6.8.12-17-pve
使用GPU Geforce GT710

注意事項

必ず VM がパススルーする GPU を使っていないことを確認してください。使用中に ROM を吸い出すことはできません。
また、 GPU がホストに見えていることを確認してください。( vfio-pci 管理下であればよい)

確認コマンドはこちらです。

lspci -nnk | grep -C 5 VGA

表示結果に Kernel driver in use: vfio-pci と表示されるか、 in use の行が存在しなければOKです。

PCIの確認

PCIの対象のアドレスは

lspci | grep -i nvidia

私の環境では

02:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

と表示されたので 02:00.0 がターゲットとなります。

02 の場合が多いようですが、人によって異なるのでこの数字をメモしておいてください。

ROMの読み出し

Linux では、 PCI デバイスの ROM はデフォルトで読み取り不可なので一時的に有効化します。

echo 1 > /sys/bus/pci/devices/0000:02:00.0/rom

ここで、0000:02:00.0を先ほどメモしたidに合わせて修正してください。
ex) 0000:04:00.0

これでエラーが出ていないことを確認してください。
エラーが出たら注意事項を再読してください。それで解決しない場合は知らないです。

今、読み取り可能な状態にあります。
以下のコマンドで読み取ります。

cat /sys/bus/pci/devices/0000:02:00.0/rom > /root/GT710.rom

完了後以下のコマンドで必ず無効化してください。

echo 0 > /sys/bus/pci/devices/0000:02:00.0/rom

ROMファイルの確認

以下のコマンドでファイルが生成されていること、ファイルサイズが正常であることを確認してください。

ls -lh /root/GT710.rom

目安:

  • サイズ:40KB ~ 256KB
  • 0 bytes → 失敗
  • 数MB → 異常(別物)

簡易チェック:

hexdump -C /root/GT710.rom | head

何かそれっぽいヘッダが表示されたらOKです。

ROMファイルの配置

/root/ からは直接読み込めないので以下のコマンドで配置します。

mv /root/GT710.rom /usr/share/kvm/GT710.rom
chmod 644 /usr/share/kvm/GT710.rom

VMにROMファイルを設定

VMの設定ファイルにromファイルを指定します。
私が使っている VM ID は 108 です。

vim /etc/pve/qemu-server/108.conf

以下の行を変更します。

hostpci0: 0000:02:00,pcie=1

ここに、romファイルの指定を書き加えて、

hostpci0: 0000:02:00,pcie=1,romfile=GT710.rom

:wq

宣伝

以上でROMの吸出しと設定の説明は終わりです。

私は、サーバー運営だけに限らず様々な記事を書いています。
もし興味があれば、ぜひとも工房鯖で知識を共有しましょう。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?