High Performance Linux Kernel 6.6 LTS for Hyper-V

I made this high performance Linux Kernel 6.6 LTS for Hyper-V for my self learning lab.
Why Hyper-V? Because it's availabe for free in Windows Pro since 8.1 Pro.
It is also Type 1 hypervisor, similar to VMware ESX or KVM, so it's much more faster than Type 2 hypervisor such as VMWare Workstation or VirtualBox.
It boots in 6 seconds and whole OS needs less than 400MB of RAM.

The kernel config is based on latest Oracle UEK kernel configuration that is applied to kernel 6.6 LTS.
The high performance is gained by enabling and disabling some kernel options/components:
Enabled: Hyper-V DRM, instead of Hyper-V framebuffer; AES-NI and AVX hardware accelerated encryption method as built-in, not module; etc.
Disabled: 32 bit support; non AMD cpu (I compiled this kernel using native flag in AMD Zen4); Virtualization host; Many physical hardware drivers; NVME; KVM; Xen; Vmware; ACPI thermal, CPU frequency, power supply; Linux security models (SELinux, AppArmor, etc.); CPU microcode update; checkpoint; kernel security mitigation; all IO scheduler methods (will result in none/noop); etc.

DOWNLOAD LINK
Install the kernel using RPM.
Kernel header is not mandatory, but suggested so future software complilations use kernel 6.1 libraries.

Futher customization guide:

  1. Run "make clean" then use the config file as base in make menuconfig.
  2. Enable and disable necessary options, e.g. CPU_SUP_AMD and disable CPU_SUP_INTEL if you want to use it in AMD based host.
  3. Use native flag for GCC compilation:
    export KCPPFLAGS=" -march=native -pipe "
    export KAFLAGS=" -march=native -pipe "
    export KCFLAGS=" -march=native -pipe "
  4. Run make -j 8 binrpm-pkg to compile the kernel. Replace "8" with other number according to number of your physical CPU core.
  5. The resulted kernel will be available in ./rpmbuild/RPMS/x86_64 subfolder of your home directory.

Comments