0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

N5 PRO NASでProxmox VE 9.0 とRadeon 890Mのパススルー

Posted at

Minisforum N5 PRO NASで次期仮想ホストを構築しよう

動機

ESXiをThreadripperで作ったがWin11に対応してない・・・
ケース大きいしN5 PRO NASで構築しよう!
仮想化はESXiがごたごたしてたし、過去のESXiをUSBで起動していると
USB自体が破損して再設定もあったので今回Proxmoxで作成します。

Proxmox自体が初めて

仮想化ホストでHyper-VかXenにしようかKVMにしようか悩んで、
GPUパススルーができそうなproxmoxに決定
加えて、ESXiからもインポートができそうだった

Proxmoxの起動ができず・・・

N5 PRO NASの場合、
PROXMOXをSATA-SSDに入れた場合、起動時のBIOS設定で
Offboard sata controller configurationを有効化しないとProxmoxのOSを認識しません。
→有効化設定で無事に起動できるようになりました。

憶測 Ryzen AI 370のPCIレーンがAMDのサイトで16レーンなので

https://www.amd.com/ja/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-9-hx-370.html

x4 PCIx16スロット
x4 Oculink
x1 NVMe-A
x2 NVMe-B
x1 NVMe-C
合計12レーンで残り4レーンがSATAで接続しているのかなと勝手に考えて納得してます。

ESXi時代のUSBメモリインストールでやれなかったこと

2017年に構築して3~4回くらいUSBメモリが壊れているので、
ログの出力をなるべくメモリに書き出したり出力を抑えるようにしたいと考えてfolder2ramを導入

参考1

参考2
https://github.com/bobafetthotmail/folder2ram/blob/master/README.md

上記を設定することで、起動時にメモリをマウントし、シャットダウン前に書き込みを
所定のフォルダ(例えば/var/logなど)を行ってくれるはず

ESXiからのインポート

最初に調べたものだとvmdkを格納して変換する必要がありそうだと思ってましたが、
ホストが別だと直接接続してLAN経由でインポートできました。
めっちゃ楽
→インポートのマシンを選択して割り当てを再設定すればいい感じ
※一部仮想マシンのWINDOWS認証が外れてしまって現在どうすればいいのか考えてます。
 1台成功・1台失敗
失敗しているのはGPUパススルーしてるメインPCなのでPCI構成も大幅に変わった影響かもしれない。。。

Radeon 890Mのパススルー

パススルーがうまくいかずめっちゃはまったのでXに助言を求めた結果
やり方をいろいろ試行錯誤している結果なので最善の状態ではないかもしれません。

教えてもらったqiita

GRUBを編集

/etc/default/grub
nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="amd-pstate=passive quiet intel_iommu=on amd_iommu=on iommu=pt initcall_blacklist=sysfb_init textonly video=astdrmfb video=efifb:off pcie_acs_override=downstream,multifunction"

GRUBを更新

update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.14.11-1-pve
Found initrd image: /boot/initrd.img-6.14.11-1-pve
Found linux image: /boot/vmlinuz-6.14.8-2-pve
Found initrd image: /boot/initrd.img-6.14.8-2-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Found memtest86+ 32bit EFI image: /boot/memtest86+ia32.efi
Found memtest86+ 64bit image: /boot/memtest86+x64.bin
Found memtest86+ 32bit image: /boot/memtest86+ia32.bin
Adding boot menu entry for UEFI Firmware Settings ...
done

vfioモジュールを追加

/etc/initramfs-tools/modules
vfio
vfio_iommu_type1
vfio_pci

/etc/modprobe.d/vfio.confを作成

まずはPCIデバイスIDを調べる
一応グラボっぽいのがRadeon 880/890MとHDMI出力でのオーディオ出力に必要そうなやつをGrep

lspci -nn | grep Radeon
c5:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Strix [Radeon 880M / 890M] [1002:150e] (rev d1)
c5:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]

取得したIDが以下
[1002:150e]
[1002:1640]

vfio.confにデバイスIDを記載する

/etc/modprobe.d/vfio.conf
options vfio-pci ids=1002:150e,1002:1640 disable_vga=1
/etc/modprobe.d/amdgpu.conf
softdep amdgpu pre: vfio-pci
/etc/modprobe.d/snd_hda_intel.conf
softdep snd_hda_intel pre: vfio-pci

VBIOSを抽出する

手順でVBIOSの抽出で

Expand vbios.cのファイルをサクラエディタ等で保存して
WinSCPで/homeにアップロードする。

gccコンパイルが必要っぽいのでgccを入れる

apt install gcc

which gcc
/usr/bin/gcc

ファイルのコンパイル

/home/vbios.c
gcc vbios.c -o vbios
./vbios
dump vbios 1002:150e to vbios_1002_150e.bin
/home/
ls -l
total 44
-rwxr-xr-x 1 root root 16440 Sep 18 01:39 vbios
-rw-r--r-- 1 root root 17408 Sep 18 01:39 vbios_1002_150e.bin
-rw-r--r-- 1 root root  3034 Sep 18 01:30 vbios.c

vbios_1002_150e.binをリネームして/usr/share/kvm/に格納する

mv vbios_1002_150e.bin /usr/share/kvm/vbios_Radeon890M.bin

initramfsを更新して再起動Proxmox再起動

update-initramfs -u -k all
reboot

仮想マシンの設定ファイルを更新する

VBIOSとGopの設定を行う

/etc/pve/nodes/proxmox/qemu-server/900.conf
hostpci0: 0000:c5:00.0,pcie=1,romfile=vbios_Radeon890M.bin
hostpci1: 0000:c5:00.1,pcie=1,romfile=AMDGopDriver.rom

RadeonResetBugFixサービスを入れる。

Radeonのバグ?っぽいのがあるのでインストールを行う。

AMDのRadeon890Mにドライバーエラー43が出ていないことを確認!

image.png

再起動できることを確認する

ひとまず細かいVMの設定とかは書き連ねたので公開
今後、追記で更新していく感じにしようかと思います。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?