1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
other: 0.698
semantic: 0.698
PID: 0.697
performance: 0.686
vnc: 0.669
permissions: 0.664
graphic: 0.659
KVM: 0.656
device: 0.654
debug: 0.610
boot: 0.585
files: 0.584
network: 0.572
socket: 0.520
Can't(?) disable default floppy drive any more in qemu 6.0
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.
I see that Markus Armbruster has responded to the bug on 'qemu-devel' list here:
https://lists.nongnu.org/archive/html/qemu-devel/2021-04/msg02177.html
Not sure if you (Adam) have noticed, as I don't expect you to subscribe to 'qemu-devel'. So I'm copy/pasting the full comment from Markus here:
--------------------------------------------------------------------------
= 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?
--------------------------------------------------------------------------
On Wed, 14 Apr 2021 at 08:07, Markus Armbruster <email address hidden> wrote:
> 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.
Is there a mechanism to get QEMU to tell me "what are all the
long options I need to specify explicitly now to get the same
behaviour that I had before I started passing -nodefaults" ?
Otherwise it's a pretty painful route to suggest that people
go down (though I agree that for a management app as opposed to
an individual user it's probably a worthwhile route in the long
term).
-- PMM
This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:
https://gitlab.com/qemu-project/qemu/-/issues/322
|