編譯pve內核
① PVE內核在ARM64下安裝及編譯
以下命令在linux root下進行
1.apt-getinstall gnupg2 wget –y
2.加入Proxmox 軟體包源
wget -qO -http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg | sudo apt-key add echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription " | sudotee /etc/apt/sources.list.d/buster-pvetest.list
3.apt-getupdate
4.安裝編譯環境
apt-get install build-essentialasciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzipzlib1g-dev libc6-dev subversion flex uglifyjs p7zip p7zip-full msmtp libssl-devtexinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automakelibtool autopoint device-tree-compiler screen
apt-get install python3-dev python3-sphinx lintian bc bison libdw-devlibiberty-dev libnuma-dev libslang2-dev lz4 rsync libpve-common-perl dh-make docbook5-xml
若是出現libncurses5-dev安裝依賴錯誤,用aptitude安裝即可解決
5. Git pve內核源碼
git clonegit://git.proxmox.com/git/pve-kernel.git
6. 修改Makefile文件
23行內容 KERNEL_ARCH=x86和之後 修改成如下圖所示:
7. 在pve-kernel/debian/rules.d文件目錄下生成文件arm64.mk,內容如下
KERNEL_BUILD_ARCH = arm64
KERNEL_HEADER_ARCH = $(KERNEL_BUILD_ARCH)
KERNEL_BUILD_IMAGE = Image
KERNEL_IMAGE_PATH =arch/$(KERNEL_BUILD_ARCH)/boot/${KERNEL_BUILD_IMAGE}
KERNEL_INSTALL_FILE = vmlinuz
8. 修改pve-kernel/debian/rules文件,將rysnc中的tools修改成source,修改結果如下圖所示
9. Make all
10.最終編譯成功後會生成四個文件包,使用dpkg -i命令安裝四個deb包,即可完成pve內核的安裝。
linux-tools-{KERNEL_VER}_arm64.deb
linux-tools-5.0-dbgsym_{KERNEL_VER}_arm64.deb
pve-headers-{KERNEL_VER}_arm64.deb
pve-kernel-{KERNEL_VER}_arm64.deb
② 普化群暉將其改造成正常磁碟布局及編譯源碼打開kernel message
普化群暉將其改造成正常磁碟布局及編譯源碼打開kernel message的方法主要包括以下步驟:
調整磁碟布局:
- 擴展啟動分區:將原有的32MB啟動分區擴展為1GB,以便容納更多的啟動信息和日誌。
- 調整鏡像存儲空間:將鏡像空間從50GB減小至20GB,以優化存儲空間的使用。
- 磁碟分區調整:識別和重建可用存儲空間,確保磁碟布局符合常規標准。
編譯源碼與內核調整:
- 准備編譯環境:確保能在console上直接觀察群暉的輸出,便於調試。利用SSH等遠程訪問工具接入不同的終端。
- 編譯內核:根據需要重新編譯內核,以包含正確的設備支持。這可能涉及修改內核配置文件,選擇適當的驅動和模塊。
- 確保GRUB兼容性:在編譯內核後,確保GRUB的device map與鏡像文件兼容,以避免啟動問題。
打開kernel message:
- 配置內核日誌:在內核編譯過程中,確保啟用了內核日誌功能。這通常涉及在內核配置文件中啟用相關的日誌選項。
- 查看日誌:在系統啟動後,可以通過console或日誌文件查看內核輸出的消息,以便進行調試和問題排查。
使用PVE環境優化鏡像:
- 創建或編輯鏡像:在PVE環境中創建或編輯群暉鏡像,將鏡像存儲在本地文件系統以提高靈活性。
- 管理RAID:使用mdadm等工具管理RAID,確保存儲系統的可靠性和性能。
解決啟動問題:
- 繞過非原生分區檢查:在改造過程中,可能需要繞過群暉的非原生分區檢查,以避免啟動失敗。
- 重建存儲區:如果遇到存儲區重建問題,需要根據具體情況進行修復或重建。
多系統集成:
- 探索其他操作系統集成:考慮將其他操作系統如Deepin、Windows Server等集成到群暉環境中,使用GRUB2的Windows版或NTBOOT等工具實現多系統引導。
請注意,以上步驟涉及的技術操作較為復雜,且可能因具體環境和需求而有所不同。在實際操作中,建議詳細記錄每一步的操作和配置,以便在出現問題時進行排查和修復。同時,確保在進行任何修改之前備份重要數據,以防數據丟失。
③ 【教程】PVE下uhd630核顯直通HDMI輸出 以NUC9為例
在PVE下為NUC9的uhd630核顯實現直通HDMI輸出的教程如下:
准備階段:
- 更改源:刪除或注釋掉原有的源,替換為推薦的源。
- 更新系統:確保PVE系統是最新的,以便兼容後續操作。
啟用IOMMU:
- 修改GRUB配置:編輯/etc/default/grub文件,啟用IOMMU支持,並更新GRUB配置以使其生效。
屏蔽驅動:
- 編輯配置文件:添加內容以載入相應的內核模塊,屏蔽不必要的驅動。
配置VFIO:
- 識別設備ID:找到需要直通的uhd630核顯的設備ID。
- 添加直通組:將找到的設備ID添加到VFIO直通組中。
防止顯卡錯誤:
- 添加配置選項:在PVE或虛擬機配置中添加特定選項,以防止Windows 10中出現顯卡代碼43錯誤,以及防止VM死機。
信任設備:
- 允許不安全中斷:更新配置以信任直通設備,並允許其產生的不安全中斷。
更新內核並重啟:
- 重啟PVE:完成上述配置後,更新內核並重啟PVE系統。
虛擬機配置:
- 修改虛擬機設置:在虛擬機的配置中,注意args參數和hostpci0的設置。
- 下載ROM文件:根據需要下載並配置ROM文件。
- 設置VGA為none:由於已經設置了legacyigd=1,因此VGA設置必須為none。
解決音效卡問題:
- 手動添加音效卡:雖然可能找不到音效卡,但可以直接手動在hostpci0下面添加音效卡設備。
注意: 直通雷電口目前無法使用,這是一個遺留問題。 確保按照步驟正確操作,以避免配置錯誤導致的系統不穩定或設備無法正常工作。