[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug 1923663] [NEW] Can't(?) disable default floppy drive any more i
From: |
Markus Armbruster |
Subject: |
Re: [Bug 1923663] [NEW] Can't(?) disable default floppy drive any more in qemu 6.0 |
Date: |
Wed, 14 Apr 2021 09:06:09 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Adam Williamson <1923663@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?