[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: