amluto / virtme

An easy way to virtualize the running system
GNU General Public License v2.0
330 stars 66 forks source link

Invalid watchdog option #83

Open zhaiyan920 opened 1 year ago

zhaiyan920 commented 1 year ago

Hi there,

I've encountered some qemu-system compatibility issue:

~/src/linux $ virtme-run --kimg arch/x86_64/boot/bzImage
qemu-system-x86_64: -watchdog: invalid option

This generates

/usr/bin/qemu-system-x86_64 -fsdev local,id=virtfs1,path=/,security_model=none,readonly=on,multidevs=remap -device virtio-9p-pci,fsdev=virtfs1,mount_tag=/dev/root -fsdev local,id=virtfs5,path=/usr/local/lib/python3.10/dist-packages/virtme-0.1.1-py3.10.egg/virtme/guest,security_model=none,readonly=on,multidevs=remap -device virtio-9p-pci,fsdev=virtfs5,mount_tag=virtme.guesttools -machine accel=kvm:tcg -watchdog i6300esb -parallel none -net none -echr 1 -serial none -chardev stdio,id=console,signal=off,mux=on -serial chardev:console -mon chardev=console -vga none -display none -kernel arch/x86_64/boot/bzImage -append 'earlyprintk=serial,ttyS0,115200 console=ttyS0 psmouse.proto=exps "virtme_stty_con=rows 61 cols 224 iutf8" TERM=screen rootfstype=9p rootflags=version=9p2000.L,trans=virtio,access=any raid=noautodetect ro init=/bin/sh -- -c "mount -t tmpfs run /run;mkdir -p /run/virtme/guesttools;/bin/mount -n -t 9p -o ro,version=9p2000.L,trans=virtio,access=any virtme.guesttools /run/virtme/guesttools;exec /run/virtme/guesttools/virtme-init"'

Turns out the -watchdog i6300esb should be replaced as -device i6300esb -action watchdog=pause, and then it works

Qemu version: QEMU emulator version 7.2.0 (Debian 1:7.2+dfsg-1+b2) Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers Git commit of virtme: 3dfc002efdb2d8 (run.py: Fix deprecated qemu readonly statement) Host OS: Debian Bullseye

Happy to provide more information :)

morbidrsa commented 1 year ago

I've created #88 which fixes it for me on Fedora 38: QEMU emulator version 7.2.1 (qemu-7.2.1-2.fc38)