I'm running Fedora 31 and compiled a kernel with acs patch I needed according to this recipe, but it didn't boot at all(*). I followed these steps:
# rpmdev-setuptree # koji download-build --arch=src kernel-5.4.18-200.fc31 # rpm -Uhv kernel-5.4.18-200.fc31.src.rpm # cd SPECS/ ... (here I applied the acs patch, but I also tried a clean build, i.e. without any action here) # dnf builddep kernel.spec # rpmbuild -bb kernel.spec # cd ../RPMS # rpm -ihv kernel-5.4.18-200.fc31.x86_64.rpm kernel-core-5.4.18-200.fc31.x86_64.rpm kernel-modules-5.4.18-200.fc31.x86_64.rpm kernel-modules-extra-5.4.18-200.fc31.x86_64.rpm kernel-modules-internal-5.4.18-200.fc31.x86_64.rpm kernel-devel-5.4.18-200.fc31.x86_64.rpm # reboot
Apart from a few
objtool: unreachable instruction .... warnings (which I was lead to believe shouldn't be problematic for normal operation), all output appeared normal and all rpms were built.
After the GRUB menu I literally see nothing (only a blinking cursor), that is, after I disabled EDD. Before disabling EDD, I just saw the first logging line mentioning EDD, and the kernel hung immediately afterwards.
Increasing loglevel or installing the -debug kernel (from the packages built along the above kernel) doesn't make any difference, i.e. I don't get a single line of debug info, probably because the kernel halts before even starting(?).
My cmdline is applied to all kernels (with
grubby --update-kernel=ALL --args=...) and reads
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.4.10-200.fc31.x86_64 root=/dev/mapper/fedora_1nnoserv-root ro resume=/dev/mapper/fedora_1nnoserv-swap rd.lvm.lv=fedora_1nnoserv/root rd.lvm.lv=fedora_1nnoserv/swap intel_iommu=on pcie_acs_override=downstream,multifunction iommu=pt rd.driver.pre=vfio-pci video=vesafb:off vga=normal nofb nomodeset edd=off loglevel=7
(Obviously this example was obtained from the standard kernel which could normally boot. The options disabling all fb stuff is because it's a headless server for which I intend to use GPU passthrough to a kvm VM, so I want to avoid any fb drivers occupying the GPU before vfio is loaded).
All I could find on the net appears to be related to boot errors later in the boot process, but in my case I have no idea where to start because there is zero output.