qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [Bug 1818367] Re: Initialization of device cfi.pflash01 fai


From: José Pekkarinen
Subject: [Qemu-devel] [Bug 1818367] Re: Initialization of device cfi.pflash01 failed: Block node is read-only
Date: Thu, 18 Apr 2019 13:57:02 -0000

The uncommented piece of my /etc/libvirt/qemu.conf.

vnc_listen = "192.168.0.61"

user = "root"

group = "root"

dynamic_ownership = 0

nvram = [
   "/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd",
]

For some reason, emails directly from mailing list are not hitting my inbox
so I managed to miss this:

https://www.mail-archive.com/address@hidden/msg600959.html

Please ensure it's sent to my email when answering.

Thanks!

José.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1818367

Title:
  Initialization of device cfi.pflash01 failed: Block node is read-only

Status in QEMU:
  New

Bug description:
  Hi,

  I have several vms defined in libvirt using ovmf for uefi, since a later
  update of my server I'm unable to start any of the domains defined. This is
  an example of the output given:

  # virsh start os-1
  error: Failed to start domain os-1
  error: internal error: qemu unexpectedly closed the monitor: 
2019-03-02T21:23:51.726446Z qemu-system-x86_64: Initialization of device 
cfi.pflash01 failed: Block node is read-only

  an example of domain is like this:

  <domain type='kvm'>                                                           
                                                                                
                                                                                
                                 
    <name>os-1</name>                                                           
                                                                                
                                                                                
                                 
    <uuid>34c41008-ab91-483b-959c-81a7a12ae9be</uuid>                           
                                                                                
                                                                                
                                 
    <memory unit='KiB'>8388608</memory>                                         
                                                                                
                                                                                
                                 
    <currentMemory unit='KiB'>8388608</currentMemory>                           
                                                                                
                                                                                
                                 
    <memoryBacking>                                                             
                                                                                
                                                                                
                                 
      <hugepages/>                                                              
                                                                                
                                                                                
                                 
    </memoryBacking>                                                            
                                                                                
                                                                                
                                 
    <vcpu placement='static' cpuset='10-11,34-35'>4</vcpu>                      
                                                                                
                                                                                
                                 
    <os>                                                                        
                                                                                
                                                                                
                                 
      <type arch='x86_64' machine='pc-i440fx-2.12'>hvm</type>                   
                                                                                
                                                                                
                                 
      <loader type='pflash'>/var/lib/libvirt/qemu/nvram/os-1-ovmf.fd</loader>   
                                                                                
                                                                                
                                 
      <boot dev='network'/>                                                     
                                                                                
                                                                                
                                 
      <boot dev='hd'/>                                                          
                                                                                
                                                                                
                                 
    </os>                                                                       
                                                                                
                                                                                
                                 
    <features>                                                                  
                                                                                
                                                                                
                                 
      <acpi/>                                                                   
                                                                                
                                                                                
                                 
      <apic/>                                                                   
                                                                                
                                                                                
                                 
    </features>                                                                 
                                                                                
                                                                                
                                 
    <cpu mode='host-passthrough' check='partial'/>                              
                                                                                
                                                                                
                                 
    <clock offset='utc'>                                                        
                                                                                
                                                                                
                                 
      <timer name='rtc' tickpolicy='catchup'/>                                  
                                                                                
                                                                                
                                 
      <timer name='pit' tickpolicy='delay'/>                                    
                                                                                
                                                                                
                                 
      <timer name='hpet' present='no'/>                                         
                                                                                
                                                                                
                                 
    </clock>                                                                    
                                                                                
                                                                                
                                 
    <on_poweroff>destroy</on_poweroff>                                          
                                                                                
                                                                                
                                 
    <on_reboot>restart</on_reboot>                                              
                                                                                
                                                                                
                                 
    <on_crash>destroy</on_crash>                                                
                                                                                
                                                                                
                                 
    <pm>                                                                        
                                                                                
                                                                                
                                 
      <suspend-to-mem enabled='no'/>                                            
                                                                                
                                                                                
                                 
      <suspend-to-disk enabled='no'/>                                           
                                                                                
                                                                                
                                 
    </pm>                                                                       
                                                                                
                                                                                
                                 
    <devices>                                                                   
                                                                                
                                                                                
                                 
      <emulator>/usr/bin/qemu-system-x86_64</emulator>                          
                                                                                
                                                                                
                                 
      <disk type='block' device='disk'>                                         
                                                                                
                                                                                
                                 
        <driver name='qemu' type='raw' cache='none' io='native'/>               
                                                                                
                                                                                
                                 
        <source dev='/dev/vg0/os-1-vda'/>                                       
                                                                                
                                                                                
                            
        <target dev='vda' bus='virtio'/>                                        
                                                                                
                                                                                
                                 
        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x0'/>                                                                
                                                                                
                                              
      </disk>                                                                   
                                                                                
                                                                                
                                 
      <disk type='block' device='disk'>
        <driver name='qemu' type='raw' cache='none' io='native'/>
        <source dev='/dev/vg0/os-1-vdb'/>
        <target dev='vdb' bus='virtio'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' 
function='0x0'/>
      </disk>
      <controller type='usb' index='0' model='ich9-ehci1'>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
function='0x7'/>
      </controller>
      <controller type='usb' index='0' model='ich9-uhci1'>
        <master startport='0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
function='0x0' multifunction='on'/>
      </controller>
      <controller type='usb' index='0' model='ich9-uhci2'>
        <master startport='2'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
function='0x1'/>
      </controller>
      <controller type='usb' index='0' model='ich9-uhci3'>
        <master startport='4'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
function='0x2'/>
      </controller>
      <controller type='pci' index='0' model='pci-root'/>
      <controller type='ide' index='0'>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
function='0x1'/>
      </controller>
      <interface type='bridge'>
        <mac address='52:54:00:78:cb:97'/>
        <source bridge='virbr0'/>
        <model type='rtl8139'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
function='0x0'/>
      </interface>
      <interface type='bridge'>
        <mac address='52:54:00:1c:4f:22'/>
        <source bridge='virbr1'/>
        <model type='rtl8139'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 
function='0x0'/>
      </interface>
      <serial type='pty'>
        <target type='isa-serial' port='0'>
          <model name='isa-serial'/>
        </target>
      </serial>
      <console type='pty'>
        <target type='serial' port='0'/>
      </console>
      <input type='mouse' bus='ps2'/>
      <input type='keyboard' bus='ps2'/>
      <graphics type='vnc' port='-1' autoport='yes'>
        <listen type='address'/>
      </graphics>
      <video>
        <model type='cirrus' vram='16384' heads='1' primary='yes'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
function='0x0'/>
      </video>
      <memballoon model='virtio'>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x09' 
function='0x0'/>
      </memballoon>
    </devices>
  </domain>

  where /var/lib/libvirt/qemu/nvram/os-1-ovmf.fd is a copy of
  /usr/share/edk2-ovmf/OVMF_VARS.fd. An the extract from my
  /etc/libvirt/qemu.conf to define ovmf:

  ...
  # Location of master nvram file                                               
                                                                                
                                                                                
                                 
  #                                                                             
                                                                                
                                                                                
                                 
  # When a domain is configured to use UEFI instead of standard                 
                                                                                
                                                                                
                                 
  # BIOS it may use a separate storage for UEFI variables. If                   
                                                                                
                                                                                
                                 
  # that's the case libvirt creates the variable store per domain               
                                                                                
                                                                                
                                 
  # using this master file as image. Each UEFI firmware can,                    
                                                                                
                                                                                
                                 
  # however, have different variables store. Therefore the nvram is             
                                                                                
                                                                                
                                 
  # a list of strings when a single item is in form of:                         
                                                                                
                                                                                
                                 
  #   ${PATH_TO_UEFI_FW}:${PATH_TO_UEFI_VARS}.                                  
                                                                                
                                                                                
                                 
  # Later, when libvirt creates per domain variable store, this list is         
                                                                                
                                                                                
                                 
  # searched for the master image. The UEFI firmware can be called              
                                                                                
                                                                                
                                 
  # differently for different guest architectures. For instance, it's OVMF      
                                                                                
                                                                                
                                 
  # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default        
                                                                                
                                                                                
                                 
  # follows this scheme.                                                        
                                                                                
                                                                                
                                 
  nvram = [                                                                     
                                                                                
                                                                                
                                 
     "/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd",     
                                                                                
                                                                                
                                 
  ]
  ...

  This setup used to work one month ago, now it's setup with:

  QEMU emulator version 3.1.0
  libvirt-5.0.0
  linux-4.19.20

  Any help appreciated.

  Best regards.

  José

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1818367/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]