I have been using a trial of UnRAID 6.8.3 to test out my hardware and its ability to run VMs for my purposes. I have things running to my satisfaction, I now want to “roll my own” with Pop!_OS as the host. I was following this tutorial and have become stuck at the point of enabling ACS override (I know from my UnRAID setup that I need the ACS override to get the two graphics cards into their own IOMMU groups - I am using Xeon E-2286G with its consumer-grade ACS ).
I saw in the /boot directory of my PopOS system that it is using linux 5.4.0-7634-generic, so I went here to download what I believe are the corresponding .deb packages with ACS override. After installing all 3 packages, I used sudo kernelstub with the -k and -i options to specify the path to the kernel and initramfs image, respectively and added the pcie_acs_override=downstream,multifunction option (which is what I needed in the syslinux.cfg file of my UnRAID setup).
I rebooted…and now my PopOS won’t start at all. It hangs after the UEFI boot logo with a blank screen and keyboard does not respond (shift lock does not toggle the LED). The machine would not respond to ping either so I thought I was hosed. But then I remembered I could boot back into UnRAID and then poke around my PopOS drive. Going to the /boot directory, I have:
-rw------- 1 root root 4737705 May 28 16:13 System.map-5.4.0-7634-generic -rw-r--r-- 1 root root 4481025 Nov 25 2019 System.map-5.4.0-acso -rw-r--r-- 1 root root 237782 May 28 16:13 config-5.4.0-7634-generic -rw-r--r-- 1 root root 236234 Nov 25 2019 config-5.4.0-acso drwxr-xr-x 2 root root 4096 Jun 27 19:23 efi/ lrwxrwxrwx 1 root root 21 Jun 27 21:31 initrd.img -> initrd.img-5.4.0-acso -rw-r--r-- 1 root root 84438483 Jun 27 19:32 initrd.img-5.4.0-7634-generic -rw-r--r-- 1 root root 82894159 Jun 28 08:45 initrd.img-5.4.0-acso lrwxrwxrwx 1 root root 29 Jun 1 07:40 initrd.img.old -> initrd.img-5.4.0-7634-generic lrwxrwxrwx 1 root root 18 Jun 27 21:32 vmlinuz -> vmlinuz-5.4.0-acso -rw------- 1 root root 11660160 May 28 16:13 vmlinuz-5.4.0-7634-generic -rw-r--r-- 1 root root 11286912 Nov 25 2019 vmlinuz-5.4.0-acso lrwxrwxrwx 1 root root 26 Jun 1 07:40 vmlinuz.old -> vmlinuz-5.4.0-7634-generic
I then mounted the ESP and went into the EFI/Pop_OS folder and found the following:
-rwxrwxrwx 1 root root 225 Jun 28 13:54 cmdline* -rwxrwxrwx 1 root root 82894159 Jun 28 13:54 initrd.img* -rwxrwxrwx 1 root root 82894159 Jun 28 13:54 initrd.img-previous* -rwxrwxrwx 1 root root 11286912 Jun 28 13:54 vmlinuz-previous.efi* -rwxrwxrwx 1 root root 11660160 Jun 28 13:54 vmlinuz.efi*
So this puzzles me because for both initrd.img and initrd.img-previous, it appears to be using the ACSO version (given the file size), but for the vmlinuz.efi, it appears to be using the original version, whereas vmlinuz-previous.efi is the ACSO version.
I am totally clueless regarding all this bootloader stuff (that’s why I started by trying it all out on UnRAID), but did I do something wrong in trying to enable the kernel with the ACS override patch? I am not even sure if switching kernels is as plug-and-play as I am assuming above. I know others recommend GRUB2, but I would need some guidance on switching over to that as well. Thanks in advance for any advice.