Skip to content

Failed to start ubuntu-cloud image directly from qemu #22

@HangShuYH

Description

@HangShuYH

Following https://github.com/virt-pvm/misc/blob/main/pvm-get-started-with-kata.md to start VM, the available userspace tools were too limited, so I decided to launch an Ubuntu cloud image using PVM.
I used the Ubuntu image from http://cloud-images-archive.ubuntu.com/releases/jammy/release-20250108/ubuntu-22.04-server-cloudimg-amd64-disk-kvm.img and extracted initrd.gz from it.
The QEMU I used was compiled from the pvm_qemu_migration branch at https://github.com/virt-pvm/qemu.
When I start the Guest Kernel with the following command, QEMU freezes without any output:

sudo ./qemu/build/qemu-bundle/usr/local/bin/qemu-system-x86_64 \
  --enable-kvm \
  -bios ./qemu/build/qemu-bundle/usr/local/share/qemu/qboot.rom \
  -m 6G \
  -kernel vmlinux.pvm_guest \
  -initrd ubuntu-initrd.gz \
  -nographic \
  -no-reboot \
  -append "root=/dev/vda1 rw pti=off nokaslr lapic=notscdeadline console=ttyS0" \
  -drive file=ubuntu.img,format=qcow2,if=virtio

Then I tried to erase -bios ./qemu/build/qemu-bundle/usr/local/share/qemu/qboot.rom, so that qemu use SeaBIOS by default. Then the pvm module warns Inject event in non-PVM mode.

Then I tried to use SeaBIOS with kvm_intel, everything is ok. So I guess the qboot startup might be incompatible with this image?

Could you provide some guidance on how to use qboot to launch an Ubuntu image, or how to start a VM with a comprehensive set of user programs?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions