Adam Williamson <1923...@bugs.launchpad.net> writes: > Public bug reported: > > There's a documented change in qemu 6.0: > > https://qemu-project.gitlab.io/qemu/system/removed-features.html#floppy- > controllers-drive-properties-removed-in-6-0 > > where you can't configure floppy controller device properties with > -global any more. However, there's a thing you could do with the old > parameter which I can't figure out a way to do with the documented > replacement. openQA passed exactly this argument: > > -global isa-fdc.driveA= > > and that has the effect of removing/disabling the default floppy > drive/controller. If you just run `qemu-system-i686` (no other args) > you'll see the VM briefly try to boot from a floppy drive; if you run > `qemu-system-i686 -global isa-fdc.driveA=` (with an earlier version of > qemu, obviously) you'll see it does not do so. > > I can't see a way to do this with `-device floppy`. Going by the docs, > the equivalent should be: > > -device floppy,unit=0,drive= > > but that does not seem to have the same effect. If you run `qemu- > system-i686 -device floppy,unit=0,drive=`, it still tries to boot from a > floppy drive. > > I see there's a -nodefaults option that disables *all* default devices, > but I don't think that's what we want here either. We might want the > other default devices, we just don't want the floppy drive.
= Short answer = In my opinion, management applications are better off with -nodefaults. It's easier to understand than the complicated mess I'm going to describe under "Long answer" below. If you'd prefer not to, try -global isa-fdc.fdtypeA=none. = Long answer = -global isa-fdc.driveA= worked. Whether it was supported usage or accidental dirt effect is unclear. Doesn't matter now. -nodefaults suppresses a number of backends: * Character device backend for a serial device Also suppressed when -serial ... or -device isa-serial,... or -global isa-serial.PROP=VAL is given, or the machine type opts out of this backend. Backend configuration depends on other options; too complicated to explain here. * Character device backend for a parallel device Also suppressed when -parallel ... or -device isa-parallel,... or -global isa-parallel.PROP=VAL is given, or the machine type opts out of this backend. Backend configuration depends on other options; too complicated to explain here. * Block device backend a floppy device Also suppressed when -device isa-fdc,... or -global isa-fdc.PROP=VAL or -device floppy or -global floppy.PROP=VAL is given, or the machine type opts out of this backend. * Block device backend a CD-ROM device Also suppressed when -device {ide,scsi}-{cd,hd},... or -global {ide,scsi}-{cd,hd}.PROP=VAL is given, or the machine type opts out of this backend. * SD card Also suppressed when the machine type opts out of this backend. When a backend exists, the machine type may * Create a frontend (a.k.a. device model) connected to the backend * Ignore the backend silently * Complain about the useless backend -nodefaults additionally suppresses: * Default HMP monitor Also suppressed when -monitor or -qmp or -qmp-pretty or -mon or -serial mon:... or -parallel mon:... is given. Monitor configuration depends on other options; too complicated to explain here. * Default network frontend (-net nic) and backend (-net user) Also suppressed when -netdev or -nic or -net is given. Default backend is only done when we have SLIRP. * Default VGA type, if any Actual type depends on the machine machine type. Set to "none" when -vga or -device DRV,... or -global DRV.PROP=VAL is given, where DRV is a VGA device model. When the type is not "none", the machine type may: * Create a device of that type * Ignore the type silently * Complain about the type * Additional stuff depending on the machine type Questions?