[TUTORIAL] Unofficial Kernel 7.0.0 RC3 Proxmox test.

jaminmc

Member
Aug 1, 2022
90
78
23
Hi everyone,

I've just released an unofficial early-access Proxmox VE kernel based on Linux 7.0.0-rc3.

This is not an official Proxmox build — it's a custom rebase on the latest Ubuntu kernel sources with Proxmox defaults and local-build tweaks.
Full source and GitHub release here:
https://github.com/jaminmc/pve-kernel/releases/tag/v7.0.0-2
GitHub detected a suspicious login attempt on my account and has temporarily suspended it. I’m currently awaiting reinstatement via a support ticket. In the meantime, my content is available here:
https://www.swisstransfer.com/d/c419cd71-dfef-48f5-8926-ec2fbfa58df3

Why this build?
  • ZFS 2.4.1 is built directly into the kernel (no DKMS, no rebuild needed after install — huge convenience win)
  • Includes updated pve-firmware_3.20-1-jaminmc_all.deb for better hardware support
  • Brings all improvements from 6.18 + 6.19 plus the new 7.0 features

Top 10 Changes in Linux 7.0.0 Since Kernel 6.17 That Benefit Proxmox

This kernel delivers measurable gains in KVM performance, memory efficiency, networking, security, and next-gen hardware support — perfect for higher VM/LXC density, live migration, ZFS/Ceph, and future servers.

  1. KVM AMD ERAPS Support
    Guests on Zen 5+ now get full Enhanced Return Address Predictor Security virtualization. Better guest-side security mitigations with almost zero overhead — great for dense KVM setups.
    Phoronix
  2. KVM Preparations for Intel APX
    Ready for Intel Advanced Performance Extensions (32 GPRs instead of 16). Future Nova Lake / Diamond Rapids VMs will run significantly faster.
    Phoronix
  3. IBPB-On-Entry Hardening for AMD SEV-SNP
    Automatic indirect branch prediction barrier on every VM entry for confidential guests. Stronger protection on Zen 5 EPYC.
    Phoronix
  4. Sub-NUMA Clustering (SNC) Topology Fixes
    Correct NUMA reporting on recent Intel platforms → better scheduling and live migration on multi-socket hosts.
    Phoronix
  5. Critical SLAB Allocator Regression Fixed
    Fixed a severe memory-allocation slowdown. Big performance win for high-density hosts and ZFS.
    Phoronix
  6. epoll Scoped User Access Optimization
    ~1.5 % networking throughput boost on AMD Zen 2+. Faster VM networking, iSCSI, and Ceph traffic.
    Phoronix
  7. Scheduler Scalability & Fairness Improvements
    Better preemption and vCPU fairness → noticeably snappier VMs and higher safe overcommit on 64+ core servers.
    Phoronix
  8. Next-Gen CPU Enablement
    Full support for AMD Zen 6, Intel Nova Lake / Diamond Rapids, CXL, NTB, DSA 3.0 and more. Future-proofs 2026+ hardware.
    Phoronix
  9. Filesystem & I/O Enhancements
    Faster concurrent direct I/O in EXT4 + VFS improvements → better VM disk performance (especially ZFS passthrough).
    Phoronix
  10. Memory Management Optimizations
    Up to 75 % faster page-cache reclaim → higher VM/LXC density and more efficient RAM usage.
    Phoronix

Important Warnings
  • No Secure Boot support — this custom kernel is unsigned. You must disable Secure Boot in your BIOS/UEFI settings, otherwise the kernel will not boot.
  • This is Release Candidate 3 — still pre-stable. Use only on test/non-production nodes.
  • Full backup of VMs, containers, and ZFS pools is strongly recommended before installing.
  • Monitor live migration, Ceph, and ZFS performance. Keep your old kernel (6.17/6.19) as fallback.

Installation (super easy with apt)

Download all these files from the GitHub release page into one folder (e.g. ~/kernel-7.0):

Code:
linux-tools-7.0_7.0.0-2~jaminmc1_amd64.deb
proxmox-headers-7.0_7.0.0-2~jaminmc1_all.deb
proxmox-headers-7.0.0-2-pve_7.0.0-2~jaminmc1_amd64.deb
proxmox-kernel-7.0_7.0.0-2~jaminmc1_all.deb
proxmox-kernel-7.0.0-2-pve_7.0.0-2~jaminmc1_amd64.deb
proxmox-kernel-libc-dev_7.0.0-2~jaminmc1_amd64.deb
pve-firmware_3.20-1-jaminmc_all.deb

Then run:
Bash:
cd ~/kernel-7.0
sudo apt install ./*.deb

After a reboot, check:
Bash:
uname -r
pveversion

Feedback, test results, or bug reports are very welcome!
I’ll keep updating the thread as I release newer RCs.

Thanks for testing!
 
Last edited:
Would you mind including the build script/instructions to compile so I can do it myself? Very interested in testing some new support 7.0 provides but weary of running an untrusted kernel.
 
I completely understand. I prefer compiling things myself and reviewing commits to ensure there is no malware or backdoors. My GitHub account was compromised a few days ago, and I am currently waiting for it to be reinstated. In the meantime, I have mirrored the repository to my GitLab account.

Hopefully Github will get resolved soon.

https://gitlab.com/jaminmc/pve-kernel

EDIT:

Looking at git.proxmox.com, it appears an official PVE 7.0.0 test kernel is imminent. The zfsonlinux patches for 7.0.0 have already been integrated into the kernel git repository.

I’ve already transitioned to the zfsonlinux version on my GitLab, as my GitHub version remains private pending the restoration of my GitHub account — they’ve integrated the same patches I used in my build.

I’ve just pulled Ubuntu-7.0.0-8.8 into my kernel, bringing it up to version 7.0.0-rc4. I’m currently compiling it and will upload it to my GitLab once complete.

EDIT 2:
I’m excited to announce a new release: version 7.0.0-8 is now available at https://gitlab.com/jaminmc/pve-kernel/-/releases/7.0.0-8.
 
Last edited:
  • Like
Reactions: agreenbhm
I completely understand. I prefer compiling things myself and reviewing commits to ensure there is no malware or backdoors. My GitHub account was compromised a few days ago, and I am currently waiting for it to be reinstated. In the meantime, I have mirrored the repository to my GitLab account.

Hopefully Github will get resolved soon.

https://gitlab.com/jaminmc/pve-kernel

EDIT:

Looking at git.proxmox.com, it appears an official PVE 7.0.0 test kernel is imminent. The zfsonlinux patches for 7.0.0 have already been integrated into the kernel git repository.

I’ve already transitioned to the zfsonlinux version on my GitLab, as my GitHub version remains private pending the restoration of my GitHub account — they’ve integrated the same patches I used in my build.

I’ve just pulled Ubuntu-7.0.0-8.8 into my kernel, bringing it up to version 7.0.0-rc4. I’m currently compiling it and will upload it to my GitLab once complete.

EDIT 2:
I’m excited to announce a new release: version 7.0.0-8 is now available at https://gitlab.com/jaminmc/pve-kernel/-/releases/7.0.0-8.
Thank you very much! I'll be curious to compare my process of stumbling compared to how you did it. You're correct about 7.0 being in the repos now as I was able to successfully compile it with the official sources from Proxmox (though like I said, much stumbling was involved lol).
 
My kernel journey began when my 2014-era low-power mini PC (Haswell i3-4030U with 8 GB RAM) started failing to passthrough NIC cards properly. I rely on this system as my main router and run additional services on it. After kernel 6.11, a change emerged that took me six months to resolve — forcing me to stick with a test version of 6.11 from the tail end of Proxmox 8. I attempted to patch the issue myself, tested newer kernels hoping for a fix, and even tried reverting old vfio code — all to no avail. It was a frustrating waste of time, but ultimately a valuable learning experience. Despite countless Google and AI searches, nothing worked — until one day, I had Grok analyze my dmesg output from the latest kernel at the time, and it finally pointed me in the right direction.

The boot log from kernel 6.17.4-1-pve shows recurring DMAR faults (e.g., [DMA Read NO_PASID] Request device [02:00.0] fault addr 0x5464000 [fault reason 0x0c] non-zero reserved fields in PTE) associated with the Intel Ethernet controllers at PCIe addresses 01:00.0 and 02:00.0. These devices appear to be the ones configured for PCI passthrough (based on the VFIO resets in the log), and the faults occur after VMs start using them.
This fault (reason code 0x0C / 12) indicates that the IOMMU page table entries (PTEs) contain non-zero values in reserved fields, which violates the Intel VT-d specification for your Haswell-era hardware (Core i3-4030U). In newer kernels (post-6.11), the IOMMU driver may default to using huge pages for performance optimizations in VFIO passthrough scenarios. However, on older hardware like yours, this can inadvertently set reserved bits in the PTEs, triggering protection faults during DMA operations.

Recommended Fix:
Disable huge pages for VFIO IOMMU:
Create or edit /etc/modprobe.d/vfio.conf (or a similar file in /etc/modprobe.d/):
options vfio_iommu_type1 disable_hugepages=1
Update initramfs: update-initramfs -u -k all
Reboot and test passthrough on kernel 6.17.4.
This forces 4K pages in IOMMU mappings, avoiding the reserved bit issue. It's a common workaround for similar faults on pre-Skylake Intel hardware.
That fixed it! But my kernel compilation journey didn’t end there—I’ve been building the latest versions ever since, based on the newest Ubuntu kernel source code.

My GitHub repository has been restored! You can explore it at https://github.com/jaminmc/pve-kernel to follow my journey.
 
Last edited:
  • Like
Reactions: agreenbhm