-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Hey David, I'm trying to run your floppy images on QEMU and having some issues (I have the same/similar issues with the MINIX 1.7/2.0.4 images here):
For all of the floppy images, I can get to the boot monitor, but after typing "=" to start up I receive several "Unrecoverable disk error on device 2/0, block xxx" errors while the RAM disk is being loaded.
The specific errors after that are slightly different for each image (built with mkall):
(command: qemu-system-i386 -fda minix-x.0-combo-xxxxkB.img. )
-minix-2.0-combo-1440kB.img: reaches the login prompt, but typing "root" to log in fails silently and returns me to the "noname login" prompt.
-minix-2.0-combo-1200kB.img: never reaches the login prompt. After the "Ram disk loaded" message, it repeatedly prints out "init: console: Not a directory" and "init: ttyc1: Not a directory."
-minix-1.7-combo-1440kB.img: has a bunch of unrecoverable disk errors, but does allow me to login as root and cd around. As far as I can tell, all of the files from _root.manifest, _usr.manifest, and _core.manifest are there intact.
-minix-1.7-combo-1200kB.img: same as ^
qemu-system-i386 -version prints out:
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.24) on my Intel machine (but I've tried it with the latest QEMU 7.2.0 too, and it doesn't seem to work - I haven't managed to get an older version of QEMU to build yet).
I've stepped through the bootloader code with GDB, and weird things happen: when you get to the first int 13, ah=00 instruction, eip jumps to 0xd415 (a bunch of empty memory). To my understanding this isn't supposed to happen - I believe ah=00 means that the disk controller should be reset, which shouldn't (?) have an effect on eip? (Edit: realized this was because I was stepping into the interrupt service routine instead of over it, see David's response for the actual issue).
I've also tried specifying the controller drive type manually using:
qemu-system-x86_64 -M q35 -drive if=none,id=f0,file=minix-2.0-combo-1440kB.img,format=raw -device isa-fdc,driveA=f0,bootindexA=1,fdtypeA=144 (the -M q35 is necessary due to the note here: https://www.spinics.net/linux/fedora/libvir/msg216157.html).
I also have checked the md5sums of the 2.0.4 images that I downloaded from the minix3.org site, and they match. The images also mount on my Linux machine.
I would like to know the QEMU command and version of QEMU you have used to run the floppy images (if you haven't been running them on hardware). From searching the comp.os.minix mailing list, I am pretty confident that some people have managed to do so in the past.
I have sent you a video of the errors I am experiencing to help clarify.