Here is the changelog.
I haven’t had that much time to review it myself, but I did manage to get some binaries built!
For 99% of the people out there this is the i386 & x86_64 emulators.
I’ve moved the default NE2000 to 0x320 IRQ 10 (as always), and included support for my quick control-alt-delete & reset via control-alt-d & control-alt-r. I’ve also included the adlib emulation to go along with the SoundBlaster support (why is this left off by default?).
And for those who need the other CPU types (ARM/PowerPC/MIPS/M68k/S390) you can download it here.
All of these were built with MinGW, and are all Win32 exe’s.
Windows NT MIPS still works in QEMU?
The last time that i heard news about QEMU, Andreas Färber was working in a true PReP system emulation, the IBM RS/6000 40p (with works with Windows NT PPC), and Richard Henderson was working in a true Alpha system emulation, the DEC CLIPPER system, but i don´t know if WinNT works on that one.
Greetings
There is some information here:
http://wiki.qemu.org/Features/PRePCleanup
I only saw mention of the alpha on the mailing list…
So at the moment it still seems the MIPS is the only one
Is it just me or has the ‘linuxboot.bin’ file been left out of ‘qemu-0.15.0-i386-x86_64.7z’?
Anyway, I found it in ‘qemu-0.15.0.7z’ so I can now use “qemu -kernel …”.
Probably… I was more focused on full system emulation… I’ll add it back in!
With this version, sending command
qemu-system-x86_64.exe -L . -name “RMPrepUSB Emulation Session” -boot c -m 471 -hda //./PhysicalDrive1 -hdb harddisk.img
to shell under 64-bit Win-7 just opens a QEMU window and hangs?
Hmm I know for direct CD-ROM emulation your slashes need to go the other way…. \\.\d: for the d drive etc… I also assume that your 2nd disk is indeed bootable by an x86_64, Prep sounds too close to PowerPC…? But maybe it is me.
Also make sure your instance of Qemu is running with elevated privileges as direct disk access isn’t something every program can have on Windows.
I am using a batch file to run the command so exactly same conditions. I run as Admin.
If I use the old exe then it runs. Your new one does not (no BIOS POST messages at all – just a blank screen).
Well let’s try a ‘known’ good first….
I’ve downloaded OpenBSD 4.9 amd64’s boot floppy..
http://mirror.servihoo.net/pub/OpenBSD/4.9/amd64/floppy49.fs
And booted it up like this:
C:\temp\qemu-0.15.0>qemu-system-x86_64.exe -L pc-bios -m 256 -fda \Users\neozeed\
Downloads\floppy49.fs
And it boots all the way up… BIOS and everything…. I think there is something left over from the prior version clashing?
I’ve added the linuxboot.bin into the i386/x86_64 package so that’s all squared away.
I think it is an issue with the BIOS file path. stderr.txt says it cannot find ./bios.bin. When I moved the BIOS files to the same folder as the exe it works.
Seem that you need to specify -L ./pc-bios with this version.
Hmm I always recall needing to specify that… Oh well at least it’s working then!
is there a DLL or something else missing?
The command:
qemu-img.exe convert -O raw myfile.vdi zz.raw
reports ‘error while writing’ both in 0.15.0 and Beta rc2
v0.11.1 works fine on same file. myfile.vdi in this case is a 3.9GB made by VirtualBox.
maybe it’s the placement of -O raw …?
C:\temp\qemu-0.15.0>qemu-img.exe create -f vdi test.vdi 32M
Formatting ‘test.vdi’, fmt=vdi size=33554432 static=off
C:\temp\qemu-0.15.0>qemu -L pc-bios -hda test.vdi -m 32 -fda Setup.img -boot a
C:\temp\qemu-0.15.0>qemu-img.exe convert test.vdi -O raw test.raw
C:\temp\qemu-0.15.0>qemu -L pc-bios -hda test.raw -m 32
This sequence seems to have worked as I’d expected….
C:\temp\qemu-0.15.0>dir test*
Volume in drive C has no label.
Volume Serial Number is 8C79-0098
Directory of C:\temp\qemu-0.15.0
08/15/2011 05:53 PM 33,554,432 test.raw
08/15/2011 05:52 PM 1,049,600 test.vdi
2 File(s) 34,604,032 bytes
I’m not sure… As far as I know I don’t have any MinGW stuff in my default searchpath.
Your test above works fine. But the vdi file I have is 3GB and that converts fine using the old version 0.11.1, but 0.15.0 gives the
qemu-img: error while writing
message immediately.
I have several vdi’s which have OS’s in them (e.g. YLMF or Ubuntu) and they all fail with the same error with 0.15.0. The vdi’s are 8GB dynamic and contain approx. 3GB of data. With 0.11.1 it makes a 3.485GB raw file and takes several minutes.
As far as I can tell there is a problem.
Yeah I just ran into it…
C:\temp\qemu-0.15.0>qemu-img.exe convert test4g.vdi -O raw test4g.raw
qemu-img.exe: error while writing
It’s a 4GB VDI that I just formatted with NT 4.0 as FAT. Looks like somehow someone slipped in a signed 32bit integer in there somewhere…
At least you do have the ‘fix’ of an older version of qemu-img to convert the image… I just compile the thing I’ve never torn apart the block device support for Qemu… 😐
I did another test, and converted a 4000MB qcow2 into raw without any issues, the issue is writing a RAW file greater then 4000MB or maybe just under the 4GB mark ..
Did the qcow2 file actually have 4000MB of files in it? I think that the raw format supports sparse files, so unless it has 4000MB of random data/files in it, Windows actually makes a small file that just appears as a 4000MB file?
I have a few vdi files and they all fail to convert, but if I create a new empty 4GB vdi with no files in it then it does not fail.
raw files are not spase that’s qcow/vdi/vhd … raw is 1:1 also check the filesize when it doesn’t “fail” it’s not 4GB it’s way too small.
Apparently there is a patch for the qemu-img issue – could you add another download binary for i386 please so I can see if it works as I am unable to compile qemu under Cygwin or MinGW as I get errors. Thanks!
If you can give me a link to the patch, I’d be glad to do it!
https://bugs.launchpad.net/qemu/+bug/826363
Thanks!
If I try to compile under MinGW I get a ‘python not found’ error. How do I go about adding Python please so I can compile?
I installed python (win32 version) then just passed it the path to the python.exe .. glib2 was the far more involve part after getting pyton installed.
Managed to get it to compile qemu-img by telling it not to exit on error if no glib. Compiles OK and then used strip to cut down on size. It now works with large vdi files 🙂
I have windows 2000 installed, and your package does not work. I keep getting “Entry Point Not Found” on the WS2_32.dll (procedure entry point freeaddrinfo not located). Is this because it will not run on/compile for Windows 2k, or because it was compiled for a different version of Windows?
sounds like an old version of Winsock 2.0 … have you installed Windows 2000 SP4 + the rollup hotfix?
Yes, this is a fully updated box (as 2k goes…).
Looks like there is some special timer code in there as well that doesn’t run on NT 4.0 or Windows 2000 … seems they’ve made some big infrastructure updates…
That’s because the IPv6 related entry points, freeaddrinfo, getfreeaddr and getnameinfo only exist on Windows XP SP1 or later. I believe that these entry points first existed in MSVC++ 7.1.
A hex editor would have to be used to replace the entry points with gethostname; otherwise, it won’t work and users would have to upgrade.
I downloaded the latest version of Qemu (0.15.1) and I did a check of the files in Dependency Walker utility and I found that despite Qemu being complied with MSVC++ 2005, the entry point symbols “freeaddrinfo”, “getaddrinfo” and “getnameinfo” are actually related to IPv6 and they only exist in Windows XP Service Pack 1 and later.
For me, the latest version of Qemu can still run on Win2K if I use a hex editor to edit out the entry points, “freeaddrinfo”, “getaddrinfo”, and “getnameinfo” with “gethostname”.
Is there any solution for “error while writing”, I’m getting the same error. I Tried Different Versions of Qemu
Use either a newer or older version, this version has issues with 4GB files.