After uprade to buster: QEMU doesn't support -drive if=scsi
After uprading from stretch to buster on my server (x86_64), I cannot
start one of my VMs anymore. The guest is a *very* old Linux (non
Debian, i686, kernel 2.4, GRUB 1.99) and uses the Symbios Logic
sym53c8xx_2 SCSI driver in its init-ramdisk to mount the root file
system and another virtual disk containing LVM. The init-ramdisk also
has an IDE driver.
The newer QEMU seems not to support this virtual SCSI adaptor:
# kvm -cpu pentium3 ... \
-drive file=/dev/vg0/<guest>.sda,format=raw,if=scsi,media=disk,cache=writeback" \
-drive file=/dev/vg0/<guest>.sdb,format=raw,if=scsi,media=disk,cache=writeback" \
qemu-system-x86_64: -drive file=/dev/vg0/<guest>.sda,format=raw,if=scsi,media=disk,cache=writeback: machine type does not support if=scsi,bus=0,unit=0
qemu-system-x86_64: -drive file=/dev/vg0/<guest>.sdb,format=raw,if=scsi,media=disk,cache=writeback: machine type does not support if=scsi,bus=0,unit=1
To be able to start the VM, I have changed the options -drive ... to
-hda and -hdb to use the IDE drivers in the guest. This works
(somewhat) but performance is *extremely* poor. Several 10 times
slower than with SCSI.
Another problem, which I don't know whether it's related to the disk
I/O performance, is that ntpd is not even able to sync the system
clock. Even when there is almost no disk I/O.
Is there any chance of getting this guest running with the old SCSI
adaptor in this new version of QEMU in buster?
I could also try to compile a new Linux 2.4 kernel and build a new
init-ramdisk. But which driver should I use? In Linux 2.4 there is no
virtio.
In the long run I should clearly move the whole thing to a newer
Debian Linux machine. But as I am short of time currently, I'd like
to be able to continue with this old VM, at least for a while.
Steve
Reply to: