Boot from SATA, subsequent reboot fails

Hello. I have the latest muvirt installed on a SATA disk that’s attached via an NVMe pcie adapter (5 port). I’ve adjusted u-boot to boot from the SATA device as a default. This works perfect. What I notice however is if I cold boot muvirt from the SATA device, then perform a reboot of the system, it tries to reboot from the SATA device, but fails with the error:

scanning bus for devices...
Target spinup took 0 ms.
SATA link 1 timeout.
SATA link 2 timeout.
SATA link 3 timeout.
SATA link 4 timeout.
AHCI 0001.0301 32 slots 5 ports 6 Gbps 0x1f impl SATA mode
flags: 64bit ncq stag pm led clo pmp fbss pio slum part ccc apst boh 
  Device 0: (0:0) Vendor: ATA Prod.: ZA240NM10001 Rev: SF44
            Type: Hard Disk
            Capacity: 131071.9 MB = 127.9 GB (268435455 x 512)

Device 0: (0:0) Vendor: ATA Prod.: ZA240NM10001 Rev: SF44
            Type: Hard Disk
            Capacity: 131071.9 MB = 127.9 GB (268435455 x 512)
... is now current device
** No partition table - scsi 0 **
=> 

If I shut the system off, and do a cold boot, then it boots as expected from the SATA device. I’m wondering if anybody has recommendation on this?

-Gabor

This is a known issue (as noted in the notes for the firmware update).

I have not debugged what exactly is causing it but I think u-boot does not properly reset and rescan the drives on a warm reboot. It does not appear to be an issue with Linux, if you boot into recovery firmware or from another device (like NVMe) they come up correctly.

My suggestion would be to use another type of boot device (like a 22x42 M.2 in the Key B, or USB drive) for now.
(and definitely in the case of muvirt you can have your VM data on the SATA drives rather than the device you’re booting from)