q35-emulated.cfg (6972B)
1 # q35 - Emulated guest (graphical console) 2 # ========================================================= 3 # 4 # Usage: 5 # 6 # $ qemu-system-x86_64 \ 7 # -nodefaults \ 8 # -readconfig q35-emulated.cfg 9 # 10 # You will probably need to tweak the lines marked as 11 # CHANGE ME before being able to use this configuration! 12 # 13 # The guest will have a selection of emulated devices that 14 # closely resembles that of a physical machine, and will be 15 # accessed through a graphical console. 16 # 17 # --------------------------------------------------------- 18 # 19 # Using -nodefaults is required to have full control over 20 # the virtual hardware: when it's specified, QEMU will 21 # populate the board with only the builtin peripherals 22 # plus a small selection of core PCI devices and 23 # controllers; the user will then have to explicitly add 24 # further devices. 25 # 26 # The core PCI devices show up in the guest as: 27 # 28 # 00:00.0 Host bridge 29 # 00:1f.0 ISA bridge / LPC 30 # 00:1f.2 SATA (AHCI) controller 31 # 00:1f.3 SMBus controller 32 # 33 # This configuration file adds a number of devices that 34 # are pretty much guaranteed to be present in every single 35 # physical machine based on q35, more specifically: 36 # 37 # 00:01.0 VGA compatible controller 38 # 00:19.0 Ethernet controller 39 # 00:1a.* USB controller (#2) 40 # 00:1b.0 Audio device 41 # 00:1c.* PCI bridge (PCI Express Root Ports) 42 # 00:1d.* USB Controller (#1) 43 # 00:1e.0 PCI bridge (legacy PCI bridge) 44 # 45 # More information about these devices is available below. 46 47 48 # Machine options 49 # ========================================================= 50 # 51 # We use the q35 machine type and enable KVM acceleration 52 # for better performance. 53 # 54 # Using less than 1 GiB of memory is probably not going to 55 # yield good performance in the guest, and might even lead 56 # to obscure boot issues in some cases. 57 # 58 # Unfortunately, there is no way to configure the CPU model 59 # in this file, so it will have to be provided on the 60 # command line. 61 62 [machine] 63 type = "q35" 64 accel = "kvm" 65 66 [memory] 67 size = "1024" 68 69 70 # PCI bridge (PCI Express Root Ports) 71 # ========================================================= 72 # 73 # We add four PCI Express Root Ports, all sharing the same 74 # slot on the PCI Express Root Bus. These ports support 75 # hotplug. 76 77 [device "ich9-pcie-port-1"] 78 driver = "ioh3420" 79 multifunction = "on" 80 bus = "pcie.0" 81 addr = "1c.0" 82 port = "1" 83 chassis = "1" 84 85 [device "ich9-pcie-port-2"] 86 driver = "ioh3420" 87 multifunction = "on" 88 bus = "pcie.0" 89 addr = "1c.1" 90 port = "2" 91 chassis = "2" 92 93 [device "ich9-pcie-port-3"] 94 driver = "ioh3420" 95 multifunction = "on" 96 bus = "pcie.0" 97 addr = "1c.2" 98 port = "3" 99 chassis = "3" 100 101 [device "ich9-pcie-port-4"] 102 driver = "ioh3420" 103 multifunction = "on" 104 bus = "pcie.0" 105 addr = "1c.3" 106 port = "4" 107 chassis = "4" 108 109 110 # PCI bridge (legacy PCI bridge) 111 # ========================================================= 112 # 113 # This bridge can be used to build an independent topology 114 # for legacy PCI devices. PCI Express devices should be 115 # plugged into PCI Express slots instead, so ideally there 116 # will be no devices connected to this bridge. 117 118 [device "ich9-pci-bridge"] 119 driver = "i82801b11-bridge" 120 bus = "pcie.0" 121 addr = "1e.0" 122 123 124 # SATA storage 125 # ========================================================= 126 # 127 # An implicit SATA controller is created automatically for 128 # every single q35 guest; here we create a disk, backed by 129 # a qcow2 disk image on the host's filesystem, and attach 130 # it to that controller so that the guest can use it. 131 # 132 # We also create an optical disk, mostly for installation 133 # purposes: once the guest OS has been successfully 134 # installed, the guest will no longer boot from optical 135 # media. If you don't want, or no longer want, to have an 136 # optical disk in the guest you can safely comment out 137 # all relevant sections below. 138 139 [device "sata-disk"] 140 driver = "ide-hd" 141 bus = "ide.0" 142 drive = "disk" 143 bootindex = "1" 144 145 [drive "disk"] 146 file = "guest.qcow2" # CHANGE ME 147 format = "qcow2" 148 if = "none" 149 150 [device "sata-optical-disk"] 151 driver = "ide-cd" 152 bus = "ide.1" 153 drive = "optical-disk" 154 bootindex = "2" 155 156 [drive "optical-disk"] 157 file = "install.iso" # CHANGE ME 158 format = "raw" 159 if = "none" 160 161 162 # USB controller (#1) 163 # ========================================================= 164 # 165 # EHCI controller + UHCI companion controllers. 166 167 [device "ich9-ehci-1"] 168 driver = "ich9-usb-ehci1" 169 multifunction = "on" 170 bus = "pcie.0" 171 addr = "1d.7" 172 173 [device "ich9-uhci-1"] 174 driver = "ich9-usb-uhci1" 175 multifunction = "on" 176 bus = "pcie.0" 177 addr = "1d.0" 178 masterbus = "ich9-ehci-1.0" 179 firstport = "0" 180 181 [device "ich9-uhci-2"] 182 driver = "ich9-usb-uhci2" 183 multifunction = "on" 184 bus = "pcie.0" 185 addr = "1d.1" 186 masterbus = "ich9-ehci-1.0" 187 firstport = "2" 188 189 [device "ich9-uhci-3"] 190 driver = "ich9-usb-uhci3" 191 multifunction = "on" 192 bus = "pcie.0" 193 addr = "1d.2" 194 masterbus = "ich9-ehci-1.0" 195 firstport = "4" 196 197 198 # USB controller (#2) 199 # ========================================================= 200 # 201 # EHCI controller + UHCI companion controllers. 202 203 [device "ich9-ehci-2"] 204 driver = "ich9-usb-ehci2" 205 multifunction = "on" 206 bus = "pcie.0" 207 addr = "1a.7" 208 209 [device "ich9-uhci-4"] 210 driver = "ich9-usb-uhci4" 211 multifunction = "on" 212 bus = "pcie.0" 213 addr = "1a.0" 214 masterbus = "ich9-ehci-2.0" 215 firstport = "0" 216 217 [device "ich9-uhci-5"] 218 driver = "ich9-usb-uhci5" 219 multifunction = "on" 220 bus = "pcie.0" 221 addr = "1a.1" 222 masterbus = "ich9-ehci-2.0" 223 firstport = "2" 224 225 [device "ich9-uhci-6"] 226 driver = "ich9-usb-uhci6" 227 multifunction = "on" 228 bus = "pcie.0" 229 addr = "1a.2" 230 masterbus = "ich9-ehci-2.0" 231 firstport = "4" 232 233 234 # Ethernet controller 235 # ========================================================= 236 # 237 # We add a Gigabit Ethernet interface to the guest; on the 238 # host side, we take advantage of user networking so that 239 # the QEMU process doesn't require any additional 240 # privileges. 241 242 [netdev "hostnet"] 243 type = "user" 244 245 [device "net"] 246 driver = "e1000" 247 netdev = "hostnet" 248 bus = "pcie.0" 249 addr = "19.0" 250 251 252 # VGA compatible controller 253 # ========================================================= 254 # 255 # We use stdvga instead of Cirrus as it supports more video 256 # modes and is closer to what actual hardware looks like. 257 # 258 # If you're running the guest on a remote, potentially 259 # headless host, you will probably want to append something 260 # like 261 # 262 # -display vnc=127.0.0.1:0 263 # 264 # to the command line in order to prevent QEMU from 265 # creating a graphical display window on the host and 266 # enable remote access instead. 267 268 [device "video"] 269 driver = "VGA" 270 bus = "pcie.0" 271 addr = "01.0" 272 273 274 # Audio device 275 # ========================================================= 276 # 277 # The sound card is a legacy PCI device that is plugged 278 # directly into the PCI Express Root Bus. 279 280 [device "ich9-hda-audio"] 281 driver = "ich9-intel-hda" 282 bus = "pcie.0" 283 addr = "1b.0" 284 285 [device "ich9-hda-duplex"] 286 driver = "hda-duplex" 287 bus = "ich9-hda-audio.0" 288 cad = "0"