Which file(s) in dom0 dictate(s) which qubes get access to which PCIe device?

tl;dr
Where in dom0 is the file that specifies which VMs get to use which devices? I managed to remove some device necessary for my screen to function on my laptop. I can’t run a terminal command in dom0 to solve the problem, and attaching an external monitor didn’t work. However, I can boot a lives fedora thumb drive, and mount the encrypted partition where QubesOS lives. I want to see if I can use vim to edit a file somewhere and get the laptop screen working again. Worst case scenario, I can pull the relevant data off and reinstall QubesOS. But I will learn a lot less doing that.

Full context:
I got a new laptop and installed QubesOS on it. Qubes noticed that the laptop has a USB keyboard, not a PS/2 keyboard. I elected to have a sys-usb qube, and used the installer defaults (which I think included something about letting the USB keyboard connect directly to dom0). I also selected the installer to make a sys-net that was separate from sys-usb. System booted, and I could log in. So far so good.

However, later I noticed the sys-net aVM couldn’t boot. When I went to the settings for sys-net via Qubes Manager, one of the devices for sys-net was listed as not existing (or similar, I forget the exact phrasing). So I was like, “Huh, maybe sys-usb has a device attached to it that sys-net needs”. So I decided to tinker with it, and removed some devices from sys-usb with the intention of giving them to sys-net to try and figure out which device was the offender. But my screen immediately went blank. I restarted the computer, and luks comes up fine, but after I put in my password, the screen quickly goes blank.

The good news: It was a new install, and nothing too important is on the computer. That’s why I decided to tinker. More good news: I can use a live fedora thumb drive to decrypt the luks partition that holds essentially the whole qubes system. So that’s good.

Before trying this, have you made any attempt to use GRUB options like qubes.skip_autostart or rd.qubes.hide_all_usb? I’m not sure if it will be useful in that case though.

I have not tried changing anything in GRUB yet. I suspect it won’t help because I think the QubesOS installer knew to set those correctly. That being said, I will try it and report back. Will probably take a few days though. I only have time to tinker in the evening these days sadly…

1 Like

I played around with GRUB options. Didn’t work, but I didn’t stick with it overly long. Decided to do an install from scratch. I’m trying to learn SALT, so I’ve been able to re-initializing things pretty fast all things considered.