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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions