On 26/03/2026 22:11, Sam James wrote:
$ qemu-system-x86_64 -drive "file=/tmp/hurd.ext2,format=raw" \
-accel kvm -m 8G -serial mon:stdio
while this works (just adding '-M q35'):
$ qemu-system-x86_64 -drive "file=/tmp/hurd.ext2,format=raw" \
-accel kvm -m 8G -M q35 -serial mon:stdio
I have a qemu setup configured using 'Virtual Machine Manager' that uses
Hurd/Rump, i440FX chipset and successfully boots. When I use the image
from this, but launched directly with your first qemu-system-x86_64
invocation, it also fails for me with:
ext2fs: part:5:device:wd0: Input/output error
Whereas running the same with -M q35 does boot as in your second case.
The argument list passed to qemu-system-x86_64 when my image is launched
from the virtual machine manager is very long but does boot successfully
using the i440FX chipset with piixide driver. I've attached that to
avoid cluttering this reply in case anyone can spot the arguments that
make the difference. I can't see any difference in the console output
between the successful and unsuccessful cases up until the
'Input/output' error.
On 27/03/2026 01:09, Damien Zammit wrote:
This seems problematic:
Failed to set ACPI PIC mode: Input/output error
That would not be good, are you using the exact same gnumach versions?
\_PIC is also failing to be set when my image boots using the virtual
machine manager so it isn't the cause of the failure for the piixide
driver. It perhaps suggests though that the problem lies somewhere in
the ACPI configuration.
On 27/03/2026 01:29, Damien Zammit wrote:
Can you do the same test with and without -M q35 but both times include -smp 1
I think it might work with the extra param?
This didn't make any difference to the 2 boot sequences.
I do at least now have a test case that I can use to investigate why
this is happening. I'll add this to near the top of my 'TODO' list if no
one else makes any progress.
Cheers,
Mike.
/usr/bin/qemu-system-x86_64 -name guest=rump-i40-x64,debug-threads=on -S
-object
{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-2-rump-i40-x64/master-key.aes"}
-machine
pc-i440fx-10.0,usb=off,vmport=off,dump-guest-core=off,memory-backend=pc.ram,hpet=on,acpi=on
-accel kvm -cpu host,migratable=on -m size=2097152k -object
{"qom-type":"memory-backend-ram","id":"pc.ram","size":2147483648} -overcommit
mem-lock=off -smp 1,sockets=1,cores=1,threads=1 -uuid
8bd3cebd-c2a8-4982-98c6-fd667f7a501a -no-user-config -nodefaults -chardev
socket,id=charmonitor,fd=34,server=on,wait=off -mon
chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global
kvm-pit.lost_tick_policy=delay -no-shutdown -global PIIX4_PM.disable_s3=1
-global PIIX4_PM.disable_s4=1 -boot strict=on -device
{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.0","addr":"0x5"}
-device {"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.0","addr":"0x6"}
-device
{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x7"}
-blockdev
{"driver":"file","filename":"/home/winvm-pool/rump-i440-x64.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap","cache":{"direct":false,"no-flush":false}}
-blockdev
{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage","backing":null}
-device
{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-format","id":"ide0-0-0","bootindex":1,"write-cache":"on"}
-netdev {"type":"tap","fd":"35","id":"hostnet0"} -device
{"driver":"e1000","netdev":"hostnet0","id":"net0","mac":"52:54:00:f9:61:29","bus":"pci.0","addr":"0x3"}
-chardev pty,id=charserial0 -device
{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}
-chardev socket,id=charchannel0,fd=33,server=on,wait=off -device
{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}
-chardev spicevmc,id=charchannel1,name=vdagent -device
{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"com.redhat.spice.0"}
-device {"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}
-audiodev {"id":"audio1","driver":"spice"} -spice
port=5900,addr=127.0.0.1,disable-ticketing=on,image-compression=off,seamless-migration=on
-device
{"driver":"qxl-vga","id":"video0","max_outputs":1,"ram_size":67108864,"vram_size":67108864,"vram64_size_mb":0,"vgamem_mb":16,"bus":"pci.0","addr":"0x2"}
-device {"driver":"ich9-intel-hda","id":"sound0","bus":"pci.0","addr":"0x4"}
-device
{"driver":"hda-duplex","id":"sound0-codec0","bus":"sound0.0","cad":0,"audiodev":"audio1"}
-chardev spicevmc,id=charredir0,name=usbredir -device
{"driver":"usb-redir","chardev":"charredir0","id":"redir0","bus":"usb.0","port":"2"}
-chardev spicevmc,id=charredir1,name=usbredir -device
{"driver":"usb-redir","chardev":"charredir1","id":"redir1","bus":"usb.0","port":"3"}
-device
{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x8"}
-object {"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}
-device
{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.0","addr":"0x9"}
-sandbox
on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg
timestamp=on