x86: 0.946 boot: 0.931 kernel: 0.928 architecture: 0.887 files: 0.881 device: 0.819 ppc: 0.799 graphic: 0.754 performance: 0.744 semantic: 0.729 PID: 0.646 vnc: 0.610 permissions: 0.604 register: 0.591 i386: 0.557 risc-v: 0.555 virtual: 0.526 arm: 0.518 VMM: 0.517 mistranslation: 0.470 hypervisor: 0.462 TCG: 0.434 network: 0.424 debug: 0.422 socket: 0.388 KVM: 0.366 user-level: 0.317 assembly: 0.281 peripherals: 0.200 QEMU does not reload kernel image on guest reboot (direct kernel boot) Description of problem: I am using virtiofs as root filesystem with QEMU direct kernel boot. The kernel is loaded from the guests directory structure that is exported from the host. The problem is that QEMU does not reload the kernel image file from disk during a guest reboot. This means it is not possible to update the kernel from inside the guest and do a simple reboot to load it. A full power cycle of the guest is required to load the updated kernel image. Steps to reproduce: 1. Migrate a Linux guest to virtiofs as root fs. 2. Enable QEMU direct kernel boot and point to guest's kernel in the exported root filesystem. 3. Boot. 4. Update the kernel inside the guest. Overwrite the existing kernel image 5. Issue `reboot` inside the guest. 6. When the guest reboots, the old kernel is still booted, even though the image file was overwritten. 7. Issue `poweroff` inside the guest. 8. Issue `virsh start ` 9. Now the new kernel image is booted. Additional information: XML: ``` hvm /media/vm/libvirt/images/alpine-q/root/boot/vmlinuz-virt /media/vm/libvirt/images/alpine-q/root/boot/initramfs-virt rootfstype=virtiofs root=root rw ...
```