summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1516.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/1516.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/1516.toml47
1 files changed, 47 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/1516.toml b/gitlab/issues/target_missing/host_missing/accel_missing/1516.toml
new file mode 100644
index 00000000..21839d13
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/1516.toml
@@ -0,0 +1,47 @@
+id = 1516
+title = "QEMU does not reload kernel image on guest reboot (direct kernel boot)"
+state = "opened"
+created_at = "2023-02-27T12:44:15.741Z"
+closed_at = "n/a"
+labels = []
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1516"
+host-os = "Gentoo Linux"
+host-arch = "x86_64"
+qemu-version = "7.2.0"
+guest-os = "Alpine Linux"
+guest-arch = "x86_64"
+description = """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."""
+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 <guest-vm>`
+9. Now the new kernel image is booted."""
+additional = """XML:
+```
+<type arch='x86_64' machine='pc-q35-7.0'>hvm</type>
+    <kernel>/media/vm/libvirt/images/alpine-q/root/boot/vmlinuz-virt</kernel>
+    <initrd>/media/vm/libvirt/images/alpine-q/root/boot/initramfs-virt</initrd>
+    <cmdline>rootfstype=virtiofs root=root rw</cmdline>
+    <boot dev='hd'/>
+    <bootmenu enable='no'/>
+  </os>
+
+...
+
+    <filesystem type='mount' accessmode='passthrough'>
+      <driver type='virtiofs'/>
+      <binary path='/usr/libexec/virtiofsd' xattr='on'>
+        <cache mode='always'/>
+        <lock posix='on' flock='on'/>
+      </binary>
+      <source dir='/media/vm/libvirt/images/alpine-q/root'/>
+      <target dir='root'/>
+      <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
+    </filesystem>
+```"""