日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pve远程连接 spcie_proxmox折腾 篇一:解决j3455直通iommu分组问题,PVE内核编译教程...

發布時間:2025/4/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pve远程连接 spcie_proxmox折腾 篇一:解决j3455直通iommu分组问题,PVE内核编译教程... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

更新:

2020.02.22更新內核pve-kernel-5.3.18-2,常規更新,今后不會一有新版本就更新了,估計大版本更新再編譯新內核了,每一次都挺折騰的,而且編譯出的內核有bug恢復起來挺麻煩鏈接?提取碼: 6cfx 12.13更新內核pve-kernel-5.3.13.1,常規更新。鏈接?提取碼: wc6n 12月6日更新內核pve-kernel-5.3.10.1 基于5.3版本內核的promox-ve6.1-2已經release了,5.3版本內核可以擺脫5.0版本內核獨立使用了。鏈接?提取碼: 7ngi 11月14日更新 內核5.3.7-1,一不小心跟著官方源碼跑到比正式版前面很多了,而5.0版本的Ubuntu源碼被我刪了,懶得再下,所以干脆編譯了這個版本,大家可以先行嘗試,或者等待官方更新到5.3內核版本后再使用鏈接?提取碼: nn91 9月4日更新pve內核 5.0.21-2鏈接提取碼: zcyv

本文教程內容是解決華擎J3455主板在PVE下開啟IOMMU不能分組的問題,解決辦法是編譯PVE內核,打上特制的ACS_override補丁并安裝。

提醒:安裝內核有宿主系統崩潰的風險,請務必先進行備份。

詳情我將寫一篇LVM下安裝的PVE利用snapshot創建快照實現宿主機備份與還原的帖子教程。

首先是常規的pve操作內容,請用root用戶,包括編譯部分也要用root用戶編譯,老外的建議,不清楚為什么。

1.開啟IOMMU分組功能。

編輯 /etc/default/grub,將以下部分修改如下:

GRUB_CMDLINE_LINUX_DEFAULT="quiet?intel_iommu=on pcie_acs_override=downstream"

amd的cpu請將intel_iommu=on 改為 amd_iommu=on

然后是修改/etc/modules文件, 添加如下內容:

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

然后執行

update-initramfs -u -k all

再執行

dmesg | grep -e DMAR -e IOMMU -e AMD-Vi

查看是否開啟了IOMMU,如果有 IOMMU, Directed I/O or Interrupt Remapping is enabled之類的字樣那么說明IOMMU開啟了,這部分網上教程很多,我就不贅述了。

2.編譯內核

當然由于編譯過程較漫長,如有必要我可以提供pve6.0的5.0.18-1版本的已修改內核。廢話不多說,開始進入教程:

1).首先需要編譯環境,建議宿主機就老老實實宿主機,不要在pve系統里直接編譯,用其他機器或者開個虛擬機。Ubuntu和Debian都行,我用的是Debian buster。至少需要100G的空間,用以存放編譯PVE內核的源碼和編譯過程文件。

2) .安裝編譯所需軟件,由于摸索過程中安裝的軟件太多了,下面列的不一定全,請嘗試的小伙伴如果在編譯過程報錯,請回帖反饋給我,我來查查看是什么軟件忘記寫上來了

apt install git nano screen patch fakeroot build-essential devscripts libncurses5 libncurses5-dev libssl-dev bc flex bison libelf-dev libaudit-dev libgtk2.0-dev libperl-dev libperl-dev asciidoc xmlto gnupg gnupg2 rsync lintian debhelper libdw-dev libnuma-dev libiberty-dev libslang2-dev debhelper git-core lintian build-essential automake autoconf libtool sphinx-common dh-python

3) .獲取pve-kernel源碼,因為我本人網絡不好,我花了幾天時間從pve的git站拖到了國內的gitee,如果同志們的網絡好的話,可用嘗試用pve自己的源碼git

git clone git://git.proxmox.com/git/pve-kernel.git

或者用下面的我轉到gitee的(國內的代碼托管網站,不過可能有bug,我自己pull內核源碼有時候拉不下來)

git clone git://gitee.com/hahach/pve-kernel.git

以上兩個2選1 clone即可

4).這一步最關鍵 進入pve-kernel目錄,進入patches/kernel目錄,修改“0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch”這個patch文件,未來其他版本的可能不是這個名字,但是一定會包含ACS 這個關鍵詞

將以下部分進行修改

--- a/drivers/pci/quirks.c

+++ b/drivers/pci/quirks.c

@@ -194,6 +194,106 @@ static int __init pci_apply_final_quirks(void)

改為

--- a/drivers/pci/quirks.c

+++ b/drivers/pci/quirks.c

@@ -194,6 +194,105 @@ static int __init pci_apply_final_quirks(void)

如果熟悉patch格式的應該看得明白,我可以解釋下,這里是把106改為105了,因為下面具體的補丁內容會刪減一行

接下來是關鍵的部分,作如下修改:

+ if (!pci_is_pcie(dev) ||

+ pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ACS))

改為

+ if (!pci_is_pcie(dev))

注意別漏了加上的小括號

5).可以開始編譯了

cd pev-kernel

make

這里需要下載linux內核源碼,大約2g,需要很長時間,請耐心等待,另外編譯過程很智能,不需要make命令加線程,過程中會自動多線程。我j3455主板,debian虛擬機給了3核,下載加編譯用了6小時,僅供參考。

6).如果順利那么會在pve-kernel目錄得到4個deb文件

root@debian:~/pve-kernel# ll *.deb

-rw-r--r-- 1 root root 1286948 8月 2 22:31 linux-tools-5.0_5.0.18-1_amd64.deb

-rw-r--r-- 1 root root 4907164 8月 2 22:31 linux-tools-5.0-dbgsym_5.0.18-1_amd64.deb

-rw-r--r-- 1 root root 9576432 8月 2 22:31 pve-headers-5.0.18-1-pve_5.0.18-1_amd64.deb

-rw-r--r-- 1 root root 54006332 8月 2 22:34 pve-kernel-5.0.18-1-pve_5.0.18-1_amd64.deb

將以上4個deb文件一同傳到pve的root目錄下。

7).以防萬一,做好系統備份或者快照,zfs文件系統我不會,請自行查詢資料,我會寫一篇lvm文件系統下的pve系統備份攻略,詳見我的另外一個帖子,因為等級低沒法發帖子鏈接,湊合看吧:PVE在LVM文件系統下利用snapshot進行備份與還原

8).弄完系統備份后可以開始安裝型內核了。

運行

dpkg -i *.deb

安裝內核,等待安裝結束,重啟即可。

重啟后即可發現如下圖,IOMMU分組全都打斷了,每一個硬件一個分組,不過直通的時候有個問題需要注意

每一個PCIE id 只能一同直通,不能分別直通。例如我的82576網卡是 04:00.01和04:00.02,都是04:00,只能一起直通

12.13更新內核pve-kernel-5.3.13.1,常規更新。鏈接,提取碼: wc6n

12月6日更新內核pve-kernel-5.3.10.1 基于5.3版本內核的promox-ve6.1-2已經release了,5.3版本內核可以擺脫5.0版本內核獨立使用了。鏈接,提取碼: 7ngi

11月14日更新 內核5.3.7-1,一不小心跟著官方源碼跑到比正式版前面很多了,而5.0版本的Ubuntu源碼被我刪了,懶得再下,所以干脆編譯了這個版本,大家可以先行嘗試,或者等待官方更新到5.3內核版本后再使用鏈接, 提取碼: nn91

9月4日更新pve內核 5.0.21-2鏈接,提取碼: zcyv

總結

以上是生活随笔為你收集整理的pve远程连接 spcie_proxmox折腾 篇一:解决j3455直通iommu分组问题,PVE内核编译教程...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。