Bug 2227418 - qemu-system-ppc64 can't boot image from nvme driver
Summary: qemu-system-ppc64 can't boot image from nvme driver
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: qemu
Version: 38
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Fedora Virtualization Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-29 13:24 UTC by JianHong Yin
Modified: 2024-05-28 13:37 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-05-28 13:37:19 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description JianHong Yin 2023-07-29 13:24:00 UTC
qemu-system-ppc64 can't boot image from nvme driver

'''
Escape character is ^] (Ctrl + ])
Populating /vdevice methods
Populating /vdevice/vty@30000000
Populating /vdevice/nvram@71000000
Populating /pci@800000020000000
                     00 0800 (D) : 1af4 1000    virtio [ net ]
                     00 1000 (D) : 1af4 1000    virtio [ net ]
                     00 1800 (D) : 1b36 000d    serial bus [ usb-xhci ]
                     00 2000 (D) : 1af4 1004    virtio [ scsi ]
Populating /pci@800000020000000/scsi@4
       SCSI: Looking for devices
          100000000000000 CD-ROM   : "QEMU     QEMU CD-ROM      2.5+"
                     00 2800 (D) : 1af4 1003    virtio [ serial ]
                     00 3000 (D) : 1af4 1002    legacy-device*
                     00 3800 (D) : 1af4 1050    virtio [ gpu ]
                     00 8000 (D) : 1b36 0010    mass-storage*
                     00 8800 (D) : 1b36 0010    mass-storage*
No NVRAM common partition, re-initializing...
Scanning USB 
  XHCI: Initializing
    USB Keyboard 
Using default console: /vdevice/vty@30000000
     
  Welcome to Open Firmware

  Copyright (c) 2004, 2017 IBM Corporation All rights reserved.
  This program and the accompanying materials are made available
  under the terms of the BSD License available at
  http://www.opensource.org/licenses/bsd-license.php


Trying to load:  from: /pci@800000020000000/mass-storage@10 ... 
E3404: Not a bootable device!
Trying to load:  from: /pci@800000020000000/scsi@4/disk@100000000000000 ... 
E3404: Not a bootable device!

E3407: Load failed

  Type 'boot' and press return to continue booting the system.
  Type 'reset-all' and press return to reboot the system.


Ready! 
0 > boot  
Trying to load:  from: /pci@800000020000000/mass-storage@10 ... 
E3404: Not a bootable device!
Trying to load:  from: /pci@800000020000000/scsi@4/disk@100000000000000 ... 
E3404: Not a bootable device!

E3407: Load failed

  Type 'boot' and press return to continue booting the system.
  Type 'reset-all' and press return to reboot the system.

 ok
0 > 
'''

Reproducible: Always

Steps to Reproduce:
1. create vm with nvme device
'''
  <qemu:commandline>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='power10'/>
    <qemu:arg value='-drive'/>
    <qemu:arg value='file=/home/jiyin/VMs/RHEL-9.3.0-20230729.33/jiyin-rhel-930-2023072933_ppc64/rhel-guest-image-9.3-20230729.33.ppc64le.qcow2,format=qcow2,if=none,id=NVME0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='nvme,drive=NVME0,serial=nvme-0,bootindex=0,addr=0x10'/>
  </qemu:commandline>
'''

virt-install command line:
'''
virt-install --connect=qemu:///system --virt-type=qemu --accelerate '--qemu-commandline=-cpu power10' '--qemu-commandline=-drive file=/home/jiyin/VMs/RHEL-9.3.0-20230729.33/jiyin-rhel-930-2023072933_ppc64/rhel-guest-image-9.3-20230729.33.ppc64le.qcow2,format=qcow2,if=none,id=NVME0 -device nvme,drive=NVME0,serial=nvme-0,bootindex=0,addr=0x10' --os-variant=detect=on,require=off --name jiyin-rhel-930-2023072933_ppc64 --import --vcpus 4,sockets=1,cores=4 --arch=ppc64 --memory=1536 --disk /home/jiyin/VMs/RHEL-9.3.0-20230729.33/jiyin-rhel-930-2023072933_ppc64/jiyin-rhel-930-2023072933_ppc64-cloud-init.iso,device=cdrom --network=network=default,model=virtio --network=type=direct,source=enp2s0,source_mode=bridge,model=virtio --video=virtio --noautoconsole --graphics=vnc,listen=0.0.0.0 

virsh console $vmname
'''
Actual Results:  
qemu-system-ppc64 can't boot image from nvme driver;
'''
$ qemu-system-ppc64 -device help|grep nvme
name "nvme", bus PCI, desc "Non-Volatile Memory Express"
name "nvme-ns", bus nvme-bus, desc "Virtual NVMe namespace"
name "nvme-subsys", desc "Virtual NVMe subsystem"
'''

** if don't use nvme driver, it can always start success.

Expected Results:  
  qemu-system-ppc64 can boot image from nvme driver success

More information:
  **same version, qemu-system-aarch64,qemu-system-x86_64 works well booting from nvme

Comment 1 JianHong Yin 2023-07-29 14:15:56 UTC
my reproducer based on kiss-vm
'''
1. install kiss-vm
   curl -s https://raw.githubusercontent.com/tcler/kiss-vm-ns/master/utils/kiss-update.sh|sudo bash && sudo vm prepare
2. create vm that boot from nvme
   vm create CentOS-9-stream -n c9s-nvmeboot --arch ppc64le  --nvmeboot
'''

Comment 2 Aoife Moloney 2024-05-28 13:37:19 UTC
Fedora Linux 38 entered end-of-life (EOL) status on 2024-05-21.

Fedora Linux 38 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.