I compiled the most recent version of the kernel along with the most recent version of busybox by following this tutorial. To test whether my build was successful, I used an Ubuntu-mate LiveCD to partition the disk and install grub, then booted from the virtual hard drive within my Proxmox server.
Using the default options for the VM worked fine, I could browse around the minimal distro, download stuff using wget, etc. However, when I changed the Display setting in Proxmox to VirtIO-GPU, and restarted the VM, I got stuck at the Booting the kernel message.
I checked my configuration and the DRM_VIRTIO_GPU option was correctly configured to y. I thought maybe it could be because I was using SeaBIOS, but running an Alpine VM with the same settings boots fine, and more importantly, actually shows a /dev/dri file, so I don't think my problem has anything to do with SeaBIOS.
My system doesn't seem to have problems detecting other devices. I can add hard drives and network cards just fine and they show up in the /dev directory. I read some other similar posts and they mentioned it could be because I had nomodeset in my kernel command line, but the menuentry in grub is
linux /boot/vmlinuz-5.19.2 root=/dev/sda1 ro quiet
When I change the quiet to debug it gets stuck on the line
[0.219589] pci_bus 0000:02: resource 2 [mem 0xfe000000-0xfe1fffff 64bit pref]
but I don't know what this means. Furthermore, when I change the Display option in Proxmox to the default standard VGA card, everything works fine, but there is still no /dev/dri entry like there is on Alpine with the same VGA card. Since I am using the busybox init, I wrote an echo message as the first command to execute in my inittab and this does not show up, so the error has to be coming before init runs. How can I narrow this down? Am I missing some drivers?
EDIT
It actually seems like the machine is still working? I tried ssh'ing into it from another computer and I could take a look at the output of dmesg after the pci_bus message:
[ 0.231742] pci 0000:00:01.0: PIIX3: Enabling Passive Release
Not sure if this is helpful.