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

Reply via email to